summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCiro Santilli <ciro.santilli@arm.com>2018-08-30 10:58:10 +0100
committerCiro Santilli <ciro.santilli@arm.com>2018-09-12 10:30:28 +0000
commit3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38 (patch)
tree02ff8f953ada6f6c9d2a913cf17a58a9ecf4ef03
parent1379e30a4d3f6089838679a49d2364ea7817668f (diff)
downloadgem5-3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38.tar.xz
config, dev-arm: Fix UART handling baremetal mode
fs.py in baremetal mode currently fails for the VExpress_GEM5_V1 platform due to inconsistent UART naming with error message: AttributeError: object 'VExpress_GEM5_V1' has no attribute 'uart' Consistently name keep all UARTs in the Arm platforms in a vector named 'uart' or as a single device named 'uart'. Update the configuration scripts to reflect the fact that 'uart' can be a vector. Change-Id: I20b8dbac794d6a9be19b6ce8c335a097872132fb Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/12473 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-rw-r--r--configs/common/FSConfig.py2
-rw-r--r--src/dev/arm/RealView.py6
2 files changed, 5 insertions, 3 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 17498c42b..aa00efe60 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -304,7 +304,7 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,
if bare_metal:
# EOT character on UART will end the simulation
- self.realview.uart.end_on_eot = True
+ self.realview.uart[0].end_on_eot = True
else:
if machine_type in default_kernels:
self.kernel = binary(default_kernels[machine_type])
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index 1537e76b4..769014163 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -1141,7 +1141,9 @@ Interrupts:
clock24MHz = SrcClockDomain(clock="24MHz",
voltage_domain=VoltageDomain(voltage="3.3V"))
- uart0 = Pl011(pio_addr=0x1c090000, int_num=37)
+ uart = [
+ Pl011(pio_addr=0x1c090000, int_num=37),
+ ]
kmi0 = Pl050(pio_addr=0x1c060000, int_num=44, ps2=PS2Keyboard())
kmi1 = Pl050(pio_addr=0x1c070000, int_num=45, ps2=PS2TouchKit())
@@ -1166,7 +1168,7 @@ Interrupts:
def _off_chip_devices(self):
return [
self.realview_io,
- self.uart0,
+ self.uart[0],
self.kmi0,
self.kmi1,
self.rtc,