|
[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 |