dev-arm: Add a fake SP810 to the VExpress_GEM5_Foundation
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 10 Jul 2020 15:49:55 +0000 (16:49 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Tue, 26 Jan 2021 15:14:18 +0000 (15:14 +0000)
The device is part of the FVP Foundation Platform:

https://static.docs.arm.com/100961/1190/armv8_a_fp_ug_100961_1190_00_en.pdf

Change-Id: I81c11312f29d8e59ac5f8ce2fe165d9474027d82
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39696
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/dev/arm/RealView.py

index c168cfdd7ff949444401c7f9d3be58bfec04390c..0c65ff27a0414e4d01c5d74086d069345e94f119 100644 (file)
@@ -1363,6 +1363,8 @@ class VExpress_GEM5_Foundation(VExpress_GEM5_Base):
         AddrRange(0x40000000, 0x80000000),
     ]
 
+    sp810_fake = AmbaFake(pio_addr=0x1C020000, ignore_access=True)
+
     gic = Gicv3(dist_addr=0x2f000000, redist_addr=0x2f100000,
                 maint_int=ArmPPI(num=25), gicv4=False,
                 its=NULL)
@@ -1378,6 +1380,11 @@ class VExpress_GEM5_Foundation(VExpress_GEM5_Base):
                 self.gic
             ]
 
+    def _off_chip_devices(self):
+        return super(VExpress_GEM5_Foundation, self)._off_chip_devices() + [
+                self.sp810_fake,
+        ]
+
     def setupBootLoader(self, cur_sys, loc, boot_loader=None):
         if boot_loader is None:
             boot_loader = [ loc('boot_v2.arm64') ]