QEMU fails to boot DR DOS Plus since 0.6.1
Bug #588748 reported by
Roy Tam
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Paolo Bonzini |
Bug Description
The commit in r1049 (serial interrupt fix (Hampa Hug)) prevents booting Digital Research DOS Plus.
Changed in qemu: | |
status: | In Progress → Fix Released |
To post a comment you must log in.
This patch doesn't seem correct as the spec is pretty clear that THRE interrupt enable is set to high, then an interrupt is rased if LSR.THRE=1. Does the following also make DOSPlus boot again:
diff --git a/hw/serial.c b/hw/serial.c ioport_ write(void *opaque, uint32_t addr,
s->poll_ msl = 0;
s->thr_ ipending = 1;
serial_ update_ irq(s);
index 9102edb..b0ac52f 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -401,7 +401,8 @@ static void serial_
}
}
- if (s->lsr & UART_LSR_THRE) {
+ if (s->ier & UART_IER_THRI &&
+ s->lsr & UART_LSR_THRE) {
}