Commit 96c4f569846dccf552dbf5ca059a734eb51d3aae

Authored by blueswir1
1 parent 225d4be7

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
Showing 1 changed file with 4 additions and 4 deletions
hw/slavio_serial.c
@@ -427,17 +427,17 @@ static void slavio_serial_mem_writeb(void *opaque, target_phys_addr_t addr, uint @@ -427,17 +427,17 @@ static void slavio_serial_mem_writeb(void *opaque, target_phys_addr_t addr, uint
427 break; 427 break;
428 case 1: 428 case 1:
429 SER_DPRINTF("Write channel %c, ch %d\n", CHN_C(s), val); 429 SER_DPRINTF("Write channel %c, ch %d\n", CHN_C(s), val);
  430 + s->tx = val;
430 if (s->wregs[5] & 8) { // tx enabled 431 if (s->wregs[5] & 8) { // tx enabled
431 - s->tx = val;  
432 if (s->chr) 432 if (s->chr)
433 qemu_chr_write(s->chr, &s->tx, 1); 433 qemu_chr_write(s->chr, &s->tx, 1);
434 else if (s->type == kbd) { 434 else if (s->type == kbd) {
435 handle_kbd_command(s, val); 435 handle_kbd_command(s, val);
436 } 436 }
437 - s->rregs[0] |= 4; // Tx buffer empty  
438 - s->rregs[1] |= 1; // All sent  
439 - set_txint(s);  
440 } 437 }
  438 + s->rregs[0] |= 4; // Tx buffer empty
  439 + s->rregs[1] |= 1; // All sent
  440 + set_txint(s);
441 break; 441 break;
442 default: 442 default:
443 break; 443 break;