]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Generate interrupts and update state even if output is disabled (OpenBSD)
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 11 Aug 2007 07:54:26 +0000 (07:54 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 11 Aug 2007 07:54:26 +0000 (07:54 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3116 c046a42c-6fe2-441c-8c8c-71466251a162

hw/slavio_serial.c

index 36dbdcf163dfba2ab1804a067bd9639702a5bb2f..86e661ccd71cccaa66dc37baf4dbd59c53dc4729 100644 (file)
@@ -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;