serial: refine serial_thr_ipending_needed
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 22 Dec 2014 07:51:57 +0000 (08:51 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 3 Jan 2015 08:22:12 +0000 (09:22 +0100)
commitbfa7362889d05d6951493d1c298289b39cf9bf86
tree11ea4735309b6a4dea2b0f150990908a52a4175e
parentcd42d5b23691ad73edfd6dbcfc935a960a9c5a65
serial: refine serial_thr_ipending_needed

If the THR interrupt is disabled, there is no need to migrate thr_ipending
because LSR.THRE will be sampled again when the interrupt is enabled.
(This is the behavior that is not documented in the datasheet, but
relied on by Windows!)

Note that in this case IIR will never be 0x2 so, if thr_ipending were
to be one, QEMU would produce the subsection.

Reported-by: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/char/serial.c