mirror of https://github.com/xqemu/xqemu.git
serial interrupt fix (Hampa Hug)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1049 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
8d11df9e5a
commit
60e336dbb8
|
@ -133,7 +133,10 @@ static void serial_ioport_write(void *opaque, uint32_t addr, uint32_t val)
|
||||||
if (s->lcr & UART_LCR_DLAB) {
|
if (s->lcr & UART_LCR_DLAB) {
|
||||||
s->divider = (s->divider & 0x00ff) | (val << 8);
|
s->divider = (s->divider & 0x00ff) | (val << 8);
|
||||||
} else {
|
} else {
|
||||||
s->ier = val;
|
s->ier = val & 0x0f;
|
||||||
|
if (s->lsr & UART_LSR_THRE) {
|
||||||
|
s->thr_ipending = 1;
|
||||||
|
}
|
||||||
serial_update_irq(s);
|
serial_update_irq(s);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -143,7 +146,7 @@ static void serial_ioport_write(void *opaque, uint32_t addr, uint32_t val)
|
||||||
s->lcr = val;
|
s->lcr = val;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
s->mcr = val;
|
s->mcr = val & 0x1f;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue