arm, dev: pl011 console interactivity
Improve PL011 console interactivity Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
parent
976ef444b8
commit
28c84d2886
1 changed files with 10 additions and 0 deletions
|
@ -86,6 +86,11 @@ Pl011::read(PacketPtr pkt)
|
|||
// 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 @@ Pl011::write(PacketPtr pkt)
|
|||
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);
|
||||
|
|
Loading…
Reference in a new issue