dev: Refactor UART->Terminal interface

The UART models currently assume that they are always wired to a
terminal. While true at the moment, this isn't necessarily a valid
assumption. This change introduces the SerialDevice class that defines
the interface for serial devices. Currently, Terminal is the only
class that implements this interface.

Change-Id: I74fefafbbaf5ac1ec0d4ec0b5a0f4b246fdad305
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/4289
Reviewed-by: Gabe Black <gabeblack@google.com>
This commit is contained in:
Andreas Sandberg
2017-07-20 11:20:17 +01:00
parent 344911b885
commit d6c204c67d
16 changed files with 309 additions and 77 deletions

View File

@@ -44,6 +44,7 @@ if env['TARGET_ISA'] == 'null':
SimObject('BadDevice.py')
SimObject('Platform.py')
SimObject('Serial.py')
SimObject('Terminal.py')
SimObject('Uart.py')
@@ -53,6 +54,7 @@ Source('mc146818.cc')
Source('pixelpump.cc')
Source('platform.cc')
Source('ps2.cc')
Source('serial.cc')
Source('terminal.cc')
Source('uart.cc')
Source('uart8250.cc')