From 9d2efbafb895d1a3b5d70823b59faf71701ff1f9 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Wed, 23 Jul 2014 18:04:28 +0200 Subject: [PATCH] x86: fix pvh dom0 boot after dab11417d MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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é --- xen/arch/x86/hvm/hvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.30.2