[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/HVM: use cached original value in RTC_REG_B writing code
# HG changeset patch # User Jan Beulich <jbeulich@xxxxxxxx> # Date 1358947194 -3600 # Node ID 3a1a7798cd59745ab6372cc20e8a9f9eb41c946b # Parent 879cef13b4de72822cc464754bdf03ce8838fe0f x86/HVM: use cached original value in RTC_REG_B writing code Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Keir Fraser <keir@xxxxxxx> --- diff -r 879cef13b4de -r 3a1a7798cd59 xen/arch/x86/hvm/rtc.c --- a/xen/arch/x86/hvm/rtc.c Wed Jan 23 14:19:13 2013 +0100 +++ b/xen/arch/x86/hvm/rtc.c Wed Jan 23 14:19:54 2013 +0100 @@ -430,7 +430,7 @@ static int rtc_ioport_write(void *opaque /* set mode: reset UIP mode */ s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP; /* adjust cmos before stopping */ - if (!(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) + if (!(orig & RTC_SET)) { s->current_tm = gmtime(get_localtime(d)); rtc_copy_date(s); @@ -439,12 +439,12 @@ static int rtc_ioport_write(void *opaque else { /* if disabling set mode, update the time */ - if ( s->hw.cmos_data[RTC_REG_B] & RTC_SET ) + if ( orig & RTC_SET ) rtc_set_time(s); } /* if the interrupt is already set when the interrupt become * enabled, raise an interrupt immediately*/ - if ((data & RTC_UIE) && !(s->hw.cmos_data[RTC_REG_B] & RTC_UIE)) + if ((data & RTC_UIE) && !(orig & RTC_UIE)) if (s->hw.cmos_data[RTC_REG_C] & RTC_UF) { rtc_toggle_irq(s); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |