From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Roger_Pau_Monn=E9?= Subject: Re: [PATCH] x86: Correctly report max number of hypervisor leaves Date: Mon, 2 Jun 2014 11:29:48 +0200 Message-ID: <538C440C.10608@citrix.com> References: <1401480676-4542-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <1401480676-4542-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Boris Ostrovsky , jbeulich@suse.com Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 30/05/14 22:11, Boris Ostrovsky wrote: > Commit def0bbd31 provided support for changing max number of > hypervisor cpuid leaves (in leaf 0x4000xx00). It also made the > hypervisor incorrectly report this number for guests that > use default value (i.e. don't specify leaf 0x4000xx00 in config > file) > = > Signed-off-by: Boris Ostrovsky > Reported-by: Roger Pau Monne Tested-by: Roger Pau Monn=E9 However I think we should prevent PVH guests from seeing the newly introduced XEN_HVM_CPUID_APIC_ACCESS_VIRT and XEN_HVM_CPUID_X2APIC_VIRT flags. I have the following patch, but it still adds one more is_pvh_vcpu into VMX code. I've tried checking for vlapic_enabled, but it also returns true for PVH guests. diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index d45fb7f..ecc010e 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1660,7 +1660,7 @@ void vmx_hypervisor_cpuid_leaf(uint32_t sub_idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) { - if ( sub_idx !=3D 0 ) + if ( sub_idx !=3D 0 || is_pvh_vcpu(current) ) return; if ( cpu_has_vmx_apic_reg_virt ) *eax |=3D XEN_HVM_CPUID_APIC_ACCESS_VIRT;