RTC polling mode broken
authorBernhard Kauer <kauer@os.inf.tu-dresden.de>
Wed, 2 Sep 2009 07:49:05 +0000 (09:49 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 9 Sep 2009 22:31:27 +0000 (17:31 -0500)
commit98815437f731372d9456f6a2ad103f3b836a9646
tree90602110e7960621eae82698312f4a74ba66e2b1
parente09a5267adf0af25b55d2abaf06e288b2d9537ea
RTC polling mode broken

The RTC emulation does not set the IRQ flags independent of the IRQ enable bits.

The original MC146818A datasheet from 1984 notes:
        "flag bits in Register C [...] are set independent of the
        state of the corresponding enable bits in Register B"
Similar sections can be found in newer documentation e.g. in rtc82885.

Qemu and Bochs set the IRQ flags only if they are enabled,
which breaks drivers polling on them.

The following patch corrects this for the update-ended-flag in Qemu only.
It does not fix the handling of the other flags.

Signed-off-by: Bernhard Kauer <kauer@tudos.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/mc146818rtc.c