From f498e9065d34ffc27300ffab18ef1806d3318530 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 6 Jan 2009 13:58:13 +0000 Subject: [PATCH] hvm: Tell Viridian-enabled OS to relax timer interrupt checks. Signed-off-by: Keir Fraser --- xen/arch/x86/hvm/viridian.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/viridian.c b/xen/arch/x86/hvm/viridian.c index b6389e6c47..a18ea9e3d1 100644 --- a/xen/arch/x86/hvm/viridian.c +++ b/xen/arch/x86/hvm/viridian.c @@ -37,6 +37,7 @@ /* Viridian CPUID 4000004, Implementation Recommendations. */ #define CPUID4A_MSR_BASED_APIC (1 << 3) +#define CPUID4A_RELAX_TIMER_INT (1 << 5) int cpuid_viridian_leaves(unsigned int leaf, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, @@ -84,7 +85,8 @@ int cpuid_viridian_leaves(unsigned int leaf, unsigned int *eax, if ( (d->arch.hvm_domain.viridian.guest_os_id.raw == 0) || (d->arch.hvm_domain.viridian.guest_os_id.fields.os < 4) ) break; - *eax = CPUID4A_MSR_BASED_APIC; + *eax = (CPUID4A_MSR_BASED_APIC | + CPUID4A_RELAX_TIMER_INT); *ebx = 2047; /* long spin count */ break; } -- 2.30.2