changeset 6281479f9713 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=6281479f9713
description:
arm, dev: pl011 console interactivity
Improve PL011 console interactivity
Signed-off-by: Jason Lowe-Power <[email protected]>
diffstat:
src/dev/arm/pl011.cc | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diffs (27 lines):
diff -r b3c3893811af -r 6281479f9713 src/dev/arm/pl011.cc
--- a/src/dev/arm/pl011.cc Sat Oct 15 15:06:24 2016 -0500
+++ b/src/dev/arm/pl011.cc Sat Oct 15 15:11:04 2016 -0500
@@ -86,6 +86,11 @@
// Since we don't simulate a FIFO for incoming data, we
// assume it's empty and clear RXINTR and RTINTR.
clearInterrupts(UART_RXINTR | UART_RTINTR);
+ if (term->dataAvailable()) {
+ DPRINTF(Uart, "Re-raising interrupt due to more data "
+ "after UART_DR read\n");
+ dataAvailable();
+ }
}
break;
case UART_FR:
@@ -224,6 +229,11 @@
case UART_ICR:
DPRINTF(Uart, "Clearing interrupts 0x%x\n", data);
clearInterrupts(data);
+ if (term->dataAvailable()) {
+ DPRINTF(Uart, "Re-raising interrupt due to more data after "
+ "UART_ICR write\n");
+ dataAvailable();
+ }
break;
default:
panic("Tried to write PL011 at offset %#x that doesn't exist\n",
daddr);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev