summaryrefslogtreecommitdiff
path: root/src/dev/arm/pl011.cc
diff options
context:
space:
mode:
authorChander Sudanthi <chander.sudanthi@arm.com>2012-05-10 18:04:28 -0500
committerChander Sudanthi <chander.sudanthi@arm.com>2012-05-10 18:04:28 -0500
commit1965a89873d95333b31d83438ea468e2c96401f9 (patch)
tree829dd7ef64e46c08df365a2eec21e7ba2b455d00 /src/dev/arm/pl011.cc
parent200689c53ff70af0d5c17d1a3ba3c0db7d19e243 (diff)
downloadgem5-1965a89873d95333b31d83438ea468e2c96401f9.tar.xz
ARM: pl011 raw interrupt fix
Raw interrupt was not being set when interrupt was disabled. This patch sets the raw interrupt regardless of the mask.
Diffstat (limited to 'src/dev/arm/pl011.cc')
-rw-r--r--src/dev/arm/pl011.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dev/arm/pl011.cc b/src/dev/arm/pl011.cc
index 2ab92c1db..4be7a5d90 100644
--- a/src/dev/arm/pl011.cc
+++ b/src/dev/arm/pl011.cc
@@ -185,9 +185,10 @@ Pl011::write(PacketPtr pkt)
term->out(data & 0xFF);
+ //raw interrupt is set regardless of imsc.txim
+ rawInt.txim = 1;
if (imsc.txim) {
DPRINTF(Uart, "TX int enabled, scheduling interruptt\n");
- rawInt.txim = 1;
if (!intEvent.scheduled())
schedule(intEvent, curTick() + intDelay);
}