]> xenbits.xensource.com Git - xen.git/commitdiff
x86: fix pvh dom0 boot after dab11417d
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 23 Jul 2014 16:04:28 +0000 (18:04 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 23 Jul 2014 16:04:28 +0000 (18:04 +0200)
Changeset dab11417d
"x86/HVM: consolidate and sanitize CR4 guest reserved bit determination"

did not take into account the fact that dom0 does not have a cpuid policy.  As
a result, PVH dom0s would be given unexpected #GP faults on boot.

In addition to the restore case (where the toolstack has not had time to load
a cpuid policy), unconditionally exempt the hardware domain from needing a
policy.

Reported-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Roger Pau Monné <roger.pau@citrix.com>
xen/arch/x86/hvm/hvm.c

index ef2411c082f7a7bed6d14e991f4266510039531f..db548140dd9a276eb242207af958c0e00111ff60 100644 (file)
@@ -1738,7 +1738,7 @@ static unsigned long hvm_cr4_guest_reserved_bits(const struct vcpu *v,
     unsigned int leaf1_ecx = 0, leaf1_edx = 0;
     unsigned int leaf7_0_ebx = 0, leaf7_0_ecx = 0;
 
-    if ( likely(!restore) )
+    if ( !restore && !is_hardware_domain(v->domain) )
     {
         unsigned int level;