self.hdlcd,
]
+class VExpress_GEM5_Foundation(VExpress_GEM5_Base):
+ """
+ Based on Armv8-A FVP Foundation platform v11.8
+ Reference for memory and interrupt map:
+ Armv8-A Foundation Platform - User Guide - Version 11.8
+ Document ID: 100961_1180_00_en
+ """
+ _off_chip_ranges = [
+ # CS1-CS5
+ AddrRange(0x0c000000, 0x20000000),
+ # External AXI interface (PCI)
+ AddrRange(0x40000000, 0x80000000),
+ ]
+
+ gic = Gicv3(dist_addr=0x2f000000, redist_addr=0x2f100000,
+ maint_int=ArmPPI(num=25), gicv4=False,
+ its=NULL)
+
+ pci_host = GenericArmPciHost(
+ conf_base=0x40000000, conf_size='256MB', conf_device_bits=12,
+ pci_pio_base=0x50000000,
+ pci_mem_base=0x400000000,
+ int_policy="ARM_PCI_INT_DEV", int_base=100, int_count=4)
+
+ def _on_chip_devices(self):
+ return super(VExpress_GEM5_Foundation, self)._on_chip_devices() + [
+ self.gic
+ ]
+
+ def setupBootLoader(self, cur_sys, loc, boot_loader=None):
+ if boot_loader is None:
+ boot_loader = [ loc('boot_v2.arm64') ]
+ super(VExpress_GEM5_Foundation, self).setupBootLoader(
+ cur_sys, boot_loader)