summaryrefslogtreecommitdiff
path: root/src/arch/arm/fastmodel/SConscript
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-08-30 17:02:43 -0700
committerGabe Black <gabeblack@google.com>2019-10-09 20:54:12 +0000
commit70f66f77942872ace0af50170dcbb68ef2311095 (patch)
tree609703e99cbd330003748597572f1ba00d4a2f4e /src/arch/arm/fastmodel/SConscript
parentc3a4fb0c568294c8ea2268336e45d3d02dbdd5cd (diff)
downloadgem5-70f66f77942872ace0af50170dcbb68ef2311095.tar.xz
fastmodel: Export GICV3Comms directly.
This lets us avoid having to have two levels of bridging and twice as many ports on both the CPU and GIC side. The direct communication ports can be instantiated and connected using array syntax, where the bridges require instantiating each bridge individually and wiring them up one at a time with a lot of boilerplate/duplicate code. Change-Id: I815ee47bcd19994e46a5220e0c23e89c497d7aa5 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21050 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Diffstat (limited to 'src/arch/arm/fastmodel/SConscript')
-rw-r--r--src/arch/arm/fastmodel/SConscript23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/arch/arm/fastmodel/SConscript b/src/arch/arm/fastmodel/SConscript
index 17d931f4b..e4c95900b 100644
--- a/src/arch/arm/fastmodel/SConscript
+++ b/src/arch/arm/fastmodel/SConscript
@@ -366,3 +366,26 @@ Source('fastmodel.cc')
SimObject('FastModel.py')
Source('amba_to_tlm_bridge.cc')
Source('amba_from_tlm_bridge.cc')
+
+# HACK: Make sure the gic protocol headers are somewhere we can find them.
+# These should start out alongside other headers fast model provides which we
+# are already able to include, but unfortunately they're in the examples
+# directory.
+gicv3_comms_headers = (
+ 'gicv3_comms_base.h', 'gicv3_comms_if.h', 'gicv3_comms_sockets.h')
+examples_common_dir = pvlib_home.Dir('examples/SystemCExport/Common')
+gic_protocol_path = 'Protocols/GICv3Comms'
+gic_protocol_dest = Dir(env['BUILDDIR']).Dir(gic_protocol_path)
+gic_protocol_src = examples_common_dir.Dir(gic_protocol_path)
+
+for header in gicv3_comms_headers:
+ Command(gic_protocol_dest.File(header), gic_protocol_src.File(header),
+ Copy('${TARGET}', '${SOURCE}'))
+
+lisa_protocol_types_header_path = 'include/lisa_protocol_types.h'
+lisa_protocol_types_header_target = \
+ gic_protocol_dest.File(lisa_protocol_types_header_path)
+lisa_protocol_types_header_src = \
+ examples_common_dir.File(lisa_protocol_types_header_path)
+Command(lisa_protocol_types_header_target, lisa_protocol_types_header_src,
+ Copy('${TARGET}', '${SOURCE}'))