Commit 72716184aae06fe24a49f11abca384e1b0de5d69
1 parent
ba494313
Incorporate changes from v2 of Gleb's RTC reset patch
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
1 changed file
with
8 additions
and
4 deletions
hw/mc146818rtc.c
... | ... | @@ -57,6 +57,11 @@ |
57 | 57 | #define REG_B_SQWE 0x08 |
58 | 58 | #define REG_B_DM 0x04 |
59 | 59 | |
60 | +#define REG_C_UF 0x10 | |
61 | +#define REG_C_IRQF 0x80 | |
62 | +#define REG_C_PF 0x40 | |
63 | +#define REG_C_AF 0x20 | |
64 | + | |
60 | 65 | struct RTCState { |
61 | 66 | uint8_t cmos_data[128]; |
62 | 67 | uint8_t cmos_index; |
... | ... | @@ -572,11 +577,10 @@ static void rtc_reset(void *opaque) |
572 | 577 | { |
573 | 578 | RTCState *s = opaque; |
574 | 579 | |
575 | - /* clear PIE,AIE,SQWE on reset */ | |
576 | - s->cmos_data[RTC_REG_B] &= ~((1<<6) | (1<<5) | (1<<3)); | |
580 | + s->cmos_data[RTC_REG_B] &= ~(REG_B_PIE | REG_B_AIE | REG_B_SQWE); | |
581 | + s->cmos_data[RTC_REG_C] &= ~(REG_C_UF | REG_C_IRQF | REG_C_PF | REG_C_AF); | |
577 | 582 | |
578 | - /* clear UF,IRQF,PF,AF on reset */ | |
579 | - s->cmos_data[RTC_REG_C] &= ~((1<<4) | (1<<7) | (1<<6) | (1<<5)); | |
583 | + qemu_irq_lower(s->irq); | |
580 | 584 | |
581 | 585 | #ifdef TARGET_I386 |
582 | 586 | if (rtc_td_hack) | ... | ... |