diff options
author | Jan Beulich <jbeulich@novell.com> | 2011-07-19 14:10:53 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2011-07-19 14:10:53 +0100 |
commit | 876895c30294a8caead2386dcb7d17af88ed7cfd (patch) | |
tree | 4b6d42f576de3c67bdecb94276f718387badb0de /xen/include/asm-x86/hpet.h | |
parent | e4c3755d4dd746511a87b9f7da7199fcd3ee0333 (diff) | |
download | xen-876895c30294a8caead2386dcb7d17af88ed7cfd.tar.gz xen-876895c30294a8caead2386dcb7d17af88ed7cfd.tar.bz2 xen-876895c30294a8caead2386dcb7d17af88ed7cfd.zip |
x86: consistently serialize CMOS/RTC accesses on rtc_lock
Since RTC/CMOS accesses aren't atomic, there are possible races
between code paths setting the index register and subsequently
reading/writing the data register. This is supposed to be dealt with
by acquiring rtc_lock, but two places up to now lacked respective
synchronization: Accesses to the EFI time functions and
smpboot_{setup,restore}_warm_reset_vector().
This in turn requires no longer directly passing through guest writes
to the index register, but instead using a machanism similar to that
for PCI config space method 1 accesses.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/include/asm-x86/hpet.h')
-rw-r--r-- | xen/include/asm-x86/hpet.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/include/asm-x86/hpet.h b/xen/include/asm-x86/hpet.h index 550958cf29..fe9f9b6ded 100644 --- a/xen/include/asm-x86/hpet.h +++ b/xen/include/asm-x86/hpet.h @@ -74,6 +74,6 @@ void hpet_broadcast_exit(void); int hpet_broadcast_is_available(void); void hpet_disable_legacy_broadcast(void); -extern void (*pv_rtc_handler)(unsigned int port, uint8_t value); +extern void (*pv_rtc_handler)(uint8_t reg, uint8_t value); #endif /* __X86_HPET_H__ */ |