aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/hpet.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-03-27 15:20:23 +0200
committerJan Beulich <jbeulich@suse.com>2012-03-27 15:20:23 +0200
commita5e1cb8704755905940c7242f62c5e9d85957d65 (patch)
treeef6acb5116ec3970c3cce65c682b62a0a02d310f /xen/include/asm-x86/hpet.h
parent7db78449277c45354166ea31bf7c262daea3d8ee (diff)
downloadxen-a5e1cb8704755905940c7242f62c5e9d85957d65.tar.gz
xen-a5e1cb8704755905940c7242f62c5e9d85957d65.tar.bz2
xen-a5e1cb8704755905940c7242f62c5e9d85957d65.zip
x86/hpet: disable before reboot or kexec
Linux up to now is not smart enough to properly clear the HPET when it boots, which is particularly a problem when a kdump attempt from running under Xen is being made. Linux itself added code to work around this to its shutdown paths quite some time ago, so let's do something similar in Xen: Save the configuration register settings during boot, and restore them during shutdown. This should cover the majority of cases where the secondary kernel might not come up because timer interrupts don't work. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/asm-x86/hpet.h')
-rw-r--r--xen/include/asm-x86/hpet.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/xen/include/asm-x86/hpet.h b/xen/include/asm-x86/hpet.h
index fe9f9b6ded..bb2c4b4af8 100644
--- a/xen/include/asm-x86/hpet.h
+++ b/xen/include/asm-x86/hpet.h
@@ -55,7 +55,12 @@ extern unsigned long hpet_address;
* Return value is zero if HPET is unavailable.
*/
u64 hpet_setup(void);
-void hpet_resume(void);
+void hpet_resume(u32 *);
+
+/*
+ * Disable HPET hardware: restore it to boot time state.
+ */
+void hpet_disable(void);
/*
* Callback from legacy timer (PIT channel 0) IRQ handler.