aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-25 00:55:06 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-25 00:55:06 +0000
commitbd9bdce694ccb76facc882363e4c337e8a88c918 (patch)
treeceecf17dd8ee34cca7ce61ae831b82018bece0c3 /hw
parent1fc678cc72d7ba572fe1ac55dc2f711e77357e54 (diff)
downloadqemu-bd9bdce694ccb76facc882363e4c337e8a88c918.zip
qemu-bd9bdce694ccb76facc882363e4c337e8a88c918.tar.gz
qemu-bd9bdce694ccb76facc882363e4c337e8a88c918.tar.bz2
Add input buffer to mux chr (patch by Tristan Gingold).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3735 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-rw-r--r--hw/mcf_uart.c1
-rw-r--r--hw/pl011.c1
-rw-r--r--hw/serial.c1
-rw-r--r--hw/slavio_serial.c1
4 files changed, 4 insertions, 0 deletions
diff --git a/hw/mcf_uart.c b/hw/mcf_uart.c
index 01973a0..a65cc77 100644
--- a/hw/mcf_uart.c
+++ b/hw/mcf_uart.c
@@ -88,6 +88,7 @@ uint32_t mcf_uart_read(void *opaque, target_phys_addr_t addr)
if (s->fifo_len == 0)
s->sr &= ~MCF_UART_RxRDY;
mcf_uart_update(s);
+ qemu_chr_accept_input(s->chr);
return val;
}
case 0x10:
diff --git a/hw/pl011.c b/hw/pl011.c
index 91c52cc..9d8c6a3 100644
--- a/hw/pl011.c
+++ b/hw/pl011.c
@@ -78,6 +78,7 @@ static uint32_t pl011_read(void *opaque, target_phys_addr_t offset)
if (s->read_count == s->read_trigger - 1)
s->int_level &= ~ PL011_INT_RX;
pl011_update(s);
+ qemu_chr_accept_input(s->chr);
return c;
case 1: /* UARTCR */
return 0;
diff --git a/hw/serial.c b/hw/serial.c
index c5d9db5..b1bd0ff 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -223,6 +223,7 @@ static uint32_t serial_ioport_read(void *opaque, uint32_t addr)
ret = s->rbr;
s->lsr &= ~(UART_LSR_DR | UART_LSR_BI);
serial_update_irq(s);
+ qemu_chr_accept_input(s->chr);
}
break;
case 1:
diff --git a/hw/slavio_serial.c b/hw/slavio_serial.c
index 534a438..9a8e340 100644
--- a/hw/slavio_serial.c
+++ b/hw/slavio_serial.c
@@ -475,6 +475,7 @@ static uint32_t slavio_serial_mem_readb(void *opaque, target_phys_addr_t addr)
else
ret = s->rx;
SER_DPRINTF("Read channel %c, ch %d\n", CHN_C(s), ret);
+ qemu_chr_accept_input(s->chr);
return ret;
default:
break;