summaryrefslogtreecommitdiff
path: root/src/dev/arm/pl011.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/arm/pl011.cc')
-rw-r--r--src/dev/arm/pl011.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dev/arm/pl011.cc b/src/dev/arm/pl011.cc
index 2b4225ad5..b47d0e9fb 100644
--- a/src/dev/arm/pl011.cc
+++ b/src/dev/arm/pl011.cc
@@ -211,10 +211,14 @@ Pl011::write(PacketPtr pkt)
case UART_IMSC:
imsc = data;
- if (imsc.rimim || imsc.ctsmim || imsc.dcdmim || imsc.dsrmim
- || imsc.feim || imsc.peim || imsc.beim || imsc.oeim || imsc.rsvd)
+ if (imsc.feim || imsc.peim || imsc.beim || imsc.oeim || imsc.rsvd)
panic("Unknown interrupt enabled\n");
+ // rimim, ctsmim, dcdmim, dsrmim can be enabled but are ignored
+ // they are supposed to interrupt on a change of status in the line
+ // which we should never have since our terminal is happy to always
+ // receive bytes.
+
if (imsc.txim) {
DPRINTF(Uart, "Writing to IMSC: TX int enabled, scheduling interruptt\n");
rawInt.txim = 1;