summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dev/arm/pl011.cc3
-rw-r--r--src/dev/arm/pl011.hh4
2 files changed, 5 insertions, 2 deletions
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;