Commit 60e336dbb837ef4d5053433f9ee391feb102be36

Authored by bellard
1 parent 8d11df9e

serial interrupt fix (Hampa Hug)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1049 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 5 additions and 2 deletions
hw/serial.c
... ... @@ -133,7 +133,10 @@ static void serial_ioport_write(void *opaque, uint32_t addr, uint32_t val)
133 133 if (s->lcr & UART_LCR_DLAB) {
134 134 s->divider = (s->divider & 0x00ff) | (val << 8);
135 135 } else {
136   - s->ier = val;
  136 + s->ier = val & 0x0f;
  137 + if (s->lsr & UART_LSR_THRE) {
  138 + s->thr_ipending = 1;
  139 + }
137 140 serial_update_irq(s);
138 141 }
139 142 break;
... ... @@ -143,7 +146,7 @@ static void serial_ioport_write(void *opaque, uint32_t addr, uint32_t val)
143 146 s->lcr = val;
144 147 break;
145 148 case 4:
146   - s->mcr = val;
  149 + s->mcr = val & 0x1f;
147 150 break;
148 151 case 5:
149 152 break;
... ...