From a6b00c07f6ec9dd25c860bc89691e3873f7996c6 Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" Date: Thu, 19 May 2016 15:19:35 -0500 Subject: arm,dev: PL011 UART_FR read status enhancement Given we do not simulate a FIFO currently there are only two states we can be in upon read: empty or full. Properly signal the latter. Add and sort constants for states in the header file. Committed by Jason Lowe-Power --- src/dev/arm/pl011.cc | 3 ++- src/dev/arm/pl011.hh | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dev/arm/pl011.cc b/src/dev/arm/pl011.cc index f0c3d2d98..e00ee8351 100644 --- a/src/dev/arm/pl011.cc +++ b/src/dev/arm/pl011.cc @@ -91,7 +91,8 @@ Pl011::read(PacketPtr pkt) case UART_FR: data = UART_FR_CTS | // Clear To Send - (!term->dataAvailable() ? UART_FR_RXFE : 0) | // RX FIFO Empty + // Given we do not simulate a FIFO we are either empty or full. + (!term->dataAvailable() ? UART_FR_RXFE : UART_FR_RXFF) | UART_FR_TXFE; // TX FIFO empty DPRINTF(Uart, diff --git a/src/dev/arm/pl011.hh b/src/dev/arm/pl011.hh index e19c74fa2..81745eded 100644 --- a/src/dev/arm/pl011.hh +++ b/src/dev/arm/pl011.hh @@ -120,8 +120,10 @@ class Pl011 : public Uart, public AmbaDevice static const int UART_DR = 0x000; static const int UART_FR = 0x018; static const int UART_FR_CTS = 0x001; - static const int UART_FR_TXFE = 0x080; static const int UART_FR_RXFE = 0x010; + static const int UART_FR_TXFF = 0x020; + static const int UART_FR_RXFF = 0x040; + static const int UART_FR_TXFE = 0x080; static const int UART_IBRD = 0x024; static const int UART_FBRD = 0x028; static const int UART_LCRH = 0x02C; -- cgit v1.2.3