fastmodel: Add glue code which adapts fastmodels to run in gem5.
authorGabe Black <gabeblack@google.com>
Fri, 23 Aug 2019 02:34:24 +0000 (19:34 -0700)
committerGabe Black <gabeblack@google.com>
Fri, 27 Sep 2019 22:53:47 +0000 (22:53 +0000)
commite4050372b207332db52ec2101eac7f3eb36cf4f4
treeec2cc661d354f22d952918ba0709cd8712dd6e84
parent911c0959351a2c959e9a3a63a14af0599e637460
fastmodel: Add glue code which adapts fastmodels to run in gem5.

Fast Models are models written by ARM which emulate different
components of a computer system. They can be combined into small
subsystems and then exported as systemc modules.

To enable this code, you'll need to set USE_ARM_FASTMODEL variable to
true. This CL does not include the fast models themselves, or a license
to use them or the associated tools. To build these fast models, you'll
need to set some scons variables. These variables should be set as
described in the fast model distribution.

* PVLIB_HOME
* MAXCORE_HOME
* ARMLMD_LICENSE_FILE

Some minor patches to source filesdistributed with the fast model code
may be necessary since their use of systemc is not necessarily 100%
standards compliant.

Change-Id: Id53814b95d8aa320da4d4f2159be0736fc12eb73
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20799
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
42 files changed:
src/arch/arm/fastmodel/CortexA76x1/CortexA76x1.lisa [new file with mode: 0644]
src/arch/arm/fastmodel/CortexA76x1/CortexA76x1.sgproj [new file with mode: 0644]
src/arch/arm/fastmodel/CortexA76x1/FastModelCortexA76x1.py [new file with mode: 0644]
src/arch/arm/fastmodel/CortexA76x1/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/CortexA76x1/cortex_a76x1.cc [new file with mode: 0644]
src/arch/arm/fastmodel/CortexA76x1/cortex_a76x1.hh [new file with mode: 0644]
src/arch/arm/fastmodel/FastModel.py [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/FastModelGIC.py [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/GIC.lisa [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/GIC.sgproj [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/commands.hh [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/gic.cc [new file with mode: 0644]
src/arch/arm/fastmodel/GIC/gic.hh [new file with mode: 0644]
src/arch/arm/fastmodel/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/SConsopts [new file with mode: 0644]
src/arch/arm/fastmodel/amba_from_tlm_bridge.cc [new file with mode: 0644]
src/arch/arm/fastmodel/amba_from_tlm_bridge.hh [new file with mode: 0644]
src/arch/arm/fastmodel/amba_ports.hh [new file with mode: 0644]
src/arch/arm/fastmodel/amba_to_tlm_bridge.cc [new file with mode: 0644]
src/arch/arm/fastmodel/amba_to_tlm_bridge.hh [new file with mode: 0644]
src/arch/arm/fastmodel/arm/FastModelArch.py [new file with mode: 0644]
src/arch/arm/fastmodel/arm/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/arm/cpu.cc [new file with mode: 0644]
src/arch/arm/fastmodel/arm/cpu.hh [new file with mode: 0644]
src/arch/arm/fastmodel/arm_fast_model.py [new file with mode: 0644]
src/arch/arm/fastmodel/fastmodel.cc [new file with mode: 0644]
src/arch/arm/fastmodel/iris/Iris.py [new file with mode: 0644]
src/arch/arm/fastmodel/iris/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/IrisArch.py [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/cpu.cc [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/cpu.hh [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/thread_context.cc [new file with mode: 0644]
src/arch/arm/fastmodel/iris/arm/thread_context.hh [new file with mode: 0644]
src/arch/arm/fastmodel/iris/cpu.cc [new file with mode: 0644]
src/arch/arm/fastmodel/iris/cpu.hh [new file with mode: 0644]
src/arch/arm/fastmodel/iris/thread_context.cc [new file with mode: 0644]
src/arch/arm/fastmodel/iris/thread_context.hh [new file with mode: 0644]
src/arch/arm/fastmodel/protocol/ExportedClockRateControlProtocol.lisa [new file with mode: 0644]
src/arch/arm/fastmodel/protocol/SConscript [new file with mode: 0644]
src/arch/arm/fastmodel/protocol/exported_clock_rate_control.hh [new file with mode: 0644]