diff options
author | Gabe Black <gabeblack@google.com> | 2019-08-30 17:02:43 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-10-09 20:54:12 +0000 |
commit | 70f66f77942872ace0af50170dcbb68ef2311095 (patch) | |
tree | 609703e99cbd330003748597572f1ba00d4a2f4e /src/arch/arm/fastmodel/SConscript | |
parent | c3a4fb0c568294c8ea2268336e45d3d02dbdd5cd (diff) | |
download | gem5-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/SConscript | 23 |
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}')) |