From: Andrew Cooper Date: Wed, 23 Jul 2014 16:04:28 +0000 (+0200) Subject: x86: fix pvh dom0 boot after dab11417d X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4624 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9d2efbafb895d1a3b5d70823b59faf71701ff1f9;p=xen.git x86: fix pvh dom0 boot after dab11417d 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é Signed-off-by: Andrew Cooper Tested-by: Roger Pau Monné --- diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index ef2411c082..db548140dd 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -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;