ia64/xen-unstable

changeset 18991:6674835e18e7

hvm: Tell Viridian-enabled OS to relax timer interrupt checks.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Jan 06 13:58:13 2009 +0000 (2009-01-06)
parents 74430e4c047f
children f1239aad10cf
files xen/arch/x86/hvm/viridian.c
line diff
     1.1 --- a/xen/arch/x86/hvm/viridian.c	Tue Jan 06 13:27:55 2009 +0000
     1.2 +++ b/xen/arch/x86/hvm/viridian.c	Tue Jan 06 13:58:13 2009 +0000
     1.3 @@ -37,6 +37,7 @@
     1.4  
     1.5  /* Viridian CPUID 4000004, Implementation Recommendations. */
     1.6  #define CPUID4A_MSR_BASED_APIC  (1 << 3)
     1.7 +#define CPUID4A_RELAX_TIMER_INT (1 << 5)
     1.8  
     1.9  int cpuid_viridian_leaves(unsigned int leaf, unsigned int *eax,
    1.10                            unsigned int *ebx, unsigned int *ecx,
    1.11 @@ -84,7 +85,8 @@ int cpuid_viridian_leaves(unsigned int l
    1.12          if ( (d->arch.hvm_domain.viridian.guest_os_id.raw == 0) ||
    1.13               (d->arch.hvm_domain.viridian.guest_os_id.fields.os < 4) )
    1.14              break;
    1.15 -        *eax = CPUID4A_MSR_BASED_APIC;
    1.16 +        *eax = (CPUID4A_MSR_BASED_APIC |
    1.17 +                CPUID4A_RELAX_TIMER_INT);
    1.18          *ebx = 2047; /* long spin count */
    1.19          break;
    1.20      }