[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/4] x86/hvm: Remove cross-vendor checks from MSR handlers.
- To: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Fri, 23 Jan 2026 18:35:51 +0000
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UDYKtXRIwGDvhRwvbrWZX7feYB597Gsg6ZTvn4WzwH0=; b=yVm0u9eswUOo2LYYZBu06pA4sUNOelnwfKSoMA66kRJDwa/QYhxvRTaBIBHssVEt6uh33/YIIJaB1fCCREmqFhc9bqwMYNEykwS5h72BcDJUvgl/WGJ3qUvf4JbkxCaYAwni9rb9t7FkVfClJQ4hK1OvqJo/OXFBoXgkOEcAZCfibYHvesS87jBKnSChlfpendWe0mb5ExFsfDOH5bZRoBLQEOYPgxfTUzUYtYD73MPnilwUTBxLPsuGIwGb24Br7b+jaDXc9rNny+nci/eUJTjkvhZ9g9x1hfGO85O7ZenSwlfFLrCQSjMR+aI7vUI5MdkTeYRgwx5cO0nvVeq7Vg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Wyt3Q5snIfwoEd5RzsXePb4/PrVsUkrfjobKfBpw/nwLyYB7fthO/MUji41f5ZgU78NzxZx1NgDqjED8xMZCX7Rfj5gfjNmLm9tSAQb9vhHmijA516zGgKRLJ8MIX6Em1QS+ueW4WuNBOpEgOWzNhz1IH/txQMkUOVcAK857+W1t9ExakeYNN0DukA/OtxuC/lb3SJwuUa7d0xo5qQ3SkRlAONTHtXSkFDniQqkOSZLGFobgo56gvN33fmXPkqyIz50ziwRFIasJyYODn+m9nrbTVQ2qjTP/Z+qXMQg3n9qEau5+IGhFyFWwf+TcQSPhmAsfio2urv59ed070fTK1A==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Fri, 23 Jan 2026 18:36:05 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 22/01/2026 4:49 pm, Alejandro Vallejo wrote:
> Not a functional change now that cross-vendor guests are not launchable.
>
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>
> ---
> xen/arch/x86/msr.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> index ad75a2e108..c9cc4f0692 100644
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -169,9 +169,9 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t
> *val)
> break;
>
> case MSR_IA32_PLATFORM_ID:
> - if ( !(cp->x86_vendor & X86_VENDOR_INTEL) ||
> - !(boot_cpu_data.x86_vendor & X86_VENDOR_INTEL) )
> + if ( cp->x86_vendor != X86_VENDOR_INTEL )
> goto gp_fault;
> +
> rdmsrl(MSR_IA32_PLATFORM_ID, *val);
> break;
>
> @@ -190,8 +190,6 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t
> *val)
> * the guest.
> */
> if ( !(cp->x86_vendor & (X86_VENDOR_INTEL | X86_VENDOR_AMD)) ||
> - !(boot_cpu_data.x86_vendor &
> - (X86_VENDOR_INTEL | X86_VENDOR_AMD)) ||
> rdmsr_safe(MSR_AMD_PATCHLEVEL, val) )
> goto gp_fault;
> break;
Hmm. Thinking about it, this would probably be cleaner to get rid of
the cp->x86_vendor field entirely, and retain the boot_cpu_data side.
Additionally, this would fix a minor problem I'm having cleaning up the
CPUID code for XSAVE fixes, and provide better cache locality.
~Andrew
|