From 3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Thu, 30 Aug 2018 10:58:10 +0100 Subject: [PATCH] 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 Reviewed-on: https://gem5-review.googlesource.com/12473 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Maintainer: Andreas Sandberg --- configs/common/FSConfig.py | 2 +- 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, -- 2.30.2