diff options
author | Ciro Santilli <ciro.santilli@arm.com> | 2018-08-30 10:58:10 +0100 |
---|---|---|
committer | Ciro Santilli <ciro.santilli@arm.com> | 2018-09-12 10:30:28 +0000 |
commit | 3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38 (patch) | |
tree | 02ff8f953ada6f6c9d2a913cf17a58a9ecf4ef03 | |
parent | 1379e30a4d3f6089838679a49d2364ea7817668f (diff) | |
download | gem5-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.py | 2 | ||||
-rw-r--r-- | src/dev/arm/RealView.py | 6 |
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, |