summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRohit Kurup <rohit.kurup@arm.com>2018-03-23 11:35:33 +0000
committerAndreas Sandberg <andreas.sandberg@arm.com>2018-06-14 12:58:17 +0000
commit424048e55cd7d78d100c0c8c55afa1229759d000 (patch)
tree06f049991c921be43166039298d0ae582a4e62e3
parent13f99bed870126fcde1070904d94f3041b64b190 (diff)
downloadgem5-424048e55cd7d78d100c0c8c55afa1229759d000.tar.xz
dev-arm: Add new VExpress_GEM5_V1_Base Platform
Add a new VExpress_GEM5_V1_Base Platform which configures basic on chip devices. The original VExpress_GEM5_V1 will inherit the Base and add more on chip devices (currently only the HDLCD). This change will make it possible to create variations of the base platform with different devices. Change-Id: I21f9bf4f6217d87e811ff777f630122593eef013 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/10807 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
-rw-r--r--src/dev/arm/RealView.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index 104c87736..a28720bdb 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -1005,7 +1005,7 @@ class VExpress_EMM64(VExpress_EMM):
cur_sys.atags_addr = 0x8000000
cur_sys.load_offset = 0x80000000
-class VExpress_GEM5_V1(RealView):
+class VExpress_GEM5_V1_Base(RealView):
"""
The VExpress gem5 memory map is loosely based on a modified
Versatile Express RS1 memory map.
@@ -1130,13 +1130,9 @@ Interrupts:
generic_timer = GenericTimer(int_phys_s=29, int_phys_ns=30,
int_virt=27, int_hyp=26)
- hdlcd = HDLcd(pxl_clk=dcc.osc_pxl,
- pio_addr=0x2b000000, int_num=95)
-
def _on_chip_devices(self):
return [
self.gic, self.vgic, self.gicv2m,
- self.hdlcd,
self.generic_timer,
]
@@ -1201,7 +1197,7 @@ Interrupts:
def generateDeviceTree(self, state):
# Generate using standard RealView function
- dt = list(super(VExpress_GEM5_V1, self).generateDeviceTree(state))
+ dt = list(super(VExpress_GEM5_V1_Base, self).generateDeviceTree(state))
if len(dt) > 1:
raise Exception("System returned too many DT nodes")
node = dt[0]
@@ -1212,3 +1208,13 @@ Interrupts:
node.append(FdtPropertyWords("arm,vexpress,site", [0xf]))
yield node
+
+
+class VExpress_GEM5_V1(VExpress_GEM5_V1_Base):
+ hdlcd = HDLcd(pxl_clk=VExpress_GEM5_V1_Base.dcc.osc_pxl,
+ pio_addr=0x2b000000, int_num=95)
+
+ def _on_chip_devices(self):
+ return super(VExpress_GEM5_V1,self)._on_chip_devices() + [
+ self.hdlcd,
+ ]