aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-02-10 14:19:54 +0000
committerKeir Fraser <keir@xen.org>2011-02-10 14:19:54 +0000
commit1accdcc8c346905b664dbd844f0bf09ad8f1cb80 (patch)
tree5d294a6c9d1e018890b1ddcf71cbf47d8f3e8e63
parent68ef426319e7d3cfe95b980cfb88f2776450df70 (diff)
downloadxen-1accdcc8c346905b664dbd844f0bf09ad8f1cb80.tar.gz
xen-1accdcc8c346905b664dbd844f0bf09ad8f1cb80.tar.bz2
xen-1accdcc8c346905b664dbd844f0bf09ad8f1cb80.zip
x86: suppress HPET broadcast initialization in the presence of ARAT
This follows Linux commit 39fe05e58c5e448601ce46e6b03900d5bf31c4b0, noticing that all this setup is pointless when ARAT support is there, and knowing that on SLED11's native kernel it has actually caused S3 resume issues. A question would be whether HPET legacy interrupts should be forced off in this case (rather than leaving whatever came from firmware). Signed-off-by: Jan Beulich <jbeulich@novell.com>
-rw-r--r--xen/arch/x86/hpet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index d27a4d1c02..0df678842f 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -557,6 +557,9 @@ void hpet_broadcast_init(void)
u32 hpet_id, cfg;
int i;
+ if ( boot_cpu_has(X86_FEATURE_ARAT) )
+ return;
+
if ( irq_channel == NULL )
{
irq_channel = xmalloc_array(int, nr_irqs);