diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-08-11 07:54:26 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-08-11 07:54:26 +0000 |
commit | 96c4f569846dccf552dbf5ca059a734eb51d3aae (patch) | |
tree | 680f3d12d8f9aed153bfbe8f3cab13f4c1b4ec93 /hw/slavio_serial.c | |
parent | 225d4be7099f0cfdf5c85b4e4be1fa1e5169543c (diff) |
Generate interrupts and update state even if output is disabled (OpenBSD)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3116 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/slavio_serial.c')
-rw-r--r-- | hw/slavio_serial.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/slavio_serial.c b/hw/slavio_serial.c index 36dbdcf163..86e661ccd7 100644 --- a/hw/slavio_serial.c +++ b/hw/slavio_serial.c @@ -427,17 +427,17 @@ static void slavio_serial_mem_writeb(void *opaque, target_phys_addr_t addr, uint break; case 1: SER_DPRINTF("Write channel %c, ch %d\n", CHN_C(s), val); + s->tx = val; if (s->wregs[5] & 8) { // tx enabled - s->tx = val; if (s->chr) qemu_chr_write(s->chr, &s->tx, 1); else if (s->type == kbd) { handle_kbd_command(s, val); } - s->rregs[0] |= 4; // Tx buffer empty - s->rregs[1] |= 1; // All sent - set_txint(s); } + s->rregs[0] |= 4; // Tx buffer empty + s->rregs[1] |= 1; // All sent + set_txint(s); break; default: break; |