From nobody Mon Jan 26 07:42:01 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1769100638; cv=pass; d=zohomail.com; s=zohoarc; b=fMWp2n51Dq5UFmhy3xU4ErzJyLBLGJ5kkZiOMd5M1dSXrkxli0jlh43KpAoULEg4+PZAGnHbIHHEP8vkG40SYmUslCBFn1R/KWG/58VCIO0nIsU5SvJo8TfPbQNr3vuEv4cLK0l8ycF+piXQ0uZiCLpz78H9r9Y+zhtWCvhl/Kk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769100638; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WMxox3x+9Ts/m2y8FFHLB2sq78zjecLlHbq/Xxc18Ig=; b=Ezdk0eheFwvY2AQiALR9lUFbfPYBQzq5JsOUgXoaHOkZicNqsChDdX7Xk5L8dcN8vOlJ/becLbA8BUnPR0dkrEuB3B+XDobNUbNSI6jnXfJkRxu+v8BI75AytbmKlyXEJOkiJRZB7+MvKzMhkWaw4fN2+FzBdhA8IhAWE1TieZ0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1769100637996899.7078834898531; Thu, 22 Jan 2026 08:50:37 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1211435.1523036 (Exim 4.92) (envelope-from ) id 1vixt1-0007ee-CN; Thu, 22 Jan 2026 16:50:23 +0000 Received: by outflank-mailman (output) from mailman id 1211435.1523036; Thu, 22 Jan 2026 16:50:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixt1-0007eV-9T; Thu, 22 Jan 2026 16:50:23 +0000 Received: by outflank-mailman (input) for mailman id 1211435; Thu, 22 Jan 2026 16:50:21 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixsz-000783-HK for xen-devel@lists.xenproject.org; Thu, 22 Jan 2026 16:50:21 +0000 Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azlp170120002.outbound.protection.outlook.com [2a01:111:f403:c007::2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 67991b8f-f7b2-11f0-9ccf-f158ae23cfc8; Thu, 22 Jan 2026 17:50:07 +0100 (CET) Received: from PH8PR22CA0013.namprd22.prod.outlook.com (2603:10b6:510:2d1::11) by DS0PR12MB6607.namprd12.prod.outlook.com (2603:10b6:8:d1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9456.14; Thu, 22 Jan 2026 16:50:00 +0000 Received: from CY4PEPF0000EE36.namprd05.prod.outlook.com (2603:10b6:510:2d1:cafe::b7) by PH8PR22CA0013.outlook.office365.com (2603:10b6:510:2d1::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 16:49:59 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE36.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 16:50:00 +0000 Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 22 Jan 2026 10:49:58 -0600 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 67991b8f-f7b2-11f0-9ccf-f158ae23cfc8 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G2IRoyudhXNiNfHOskV+igGQTAmeb5Jh1b6MEkk8D5taKEyZV7CH1NW0yPRKvgC80QKCtWYhqUMMnVJR3q+rT5mQajrCmCIKNQklknPxzjtGP19XqL7zraER0HqTDgBlm3NKOBjX0Ey/6+UwLigkPgyp2No7M+eoTqTAE+UcEzYsGroqTASQyTg1oKWi1Gc/2dcKWdfexnTDvn5riUu6A8Kq6R8FK5g+DaNgtgt5/APbHFu0PuFg0keV8mZZGhOVNGZiqphEl0NR9ZYz+jgXDQIFA4sJQCfcWq5qRtH5nSanrd2gYb4wUgazbhAcfJ1udt26oSDTRIjZ0KCAlynzyA== 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=WMxox3x+9Ts/m2y8FFHLB2sq78zjecLlHbq/Xxc18Ig=; b=kb5QLyFihtx+GBZbkrU1q8UND0jrIMBKAQaaAe2xHLe9Vmqh/tQbIF9sNQALx0fiv22Ihff9G0O8g7pP5qWzR4GSEG8BSzVXn6EU+5LkaFSdwHek+4BQfCCzW3xqbHBvKnvgodzAOmQyTaajhUWsLolbr1F1PfA8tTTfvc9OC6cmQH/hpVfzW/Q6AWZGHteQzSJxKdeG07RrxQD13XtdmTW9lxKVUXGtoDYgyn7gNbTDAmTXWP1M5PDScrH33FYcqbPAraYHFeyVVT1bcYc1j3cC/MRfn8VHgHkM5gALjER/b5cBIGaZx6Cs9yoVtZAyHAmGZ1v4qT5gA/Xu8gFp2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WMxox3x+9Ts/m2y8FFHLB2sq78zjecLlHbq/Xxc18Ig=; b=PxNbsqVqMo+QzEkNo2hc5ol60dkioNwOxU6Vs7qULMmVoFevZ6HdRT8zbyzs3hBRjTWAVJtoz1YORzelHg1q3+NECRSfsFj9QoAilCEKk9LTqrdZRpIsk/UnM1Vzb2BK8lzlyGbEUi+1Kv7Yl6Lr06QLvlKmqj+3VmNSbfRefJM= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Alejandro Vallejo To: CC: Alejandro Vallejo , Oleksii Kurochko , Community Manager , Jan Beulich , "Andrew Cooper" , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH 1/4] x86: Reject CPU policies with vendors other than the host's Date: Thu, 22 Jan 2026 17:49:37 +0100 Message-ID: <20260122164943.20691-2-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> References: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE36:EE_|DS0PR12MB6607:EE_ X-MS-Office365-Filtering-Correlation-Id: 862483f3-570a-4893-b084-08de59d64846 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?nxi68i8hxVWvJWRcf1Aworwh3O3W6uCjcD+CgVXGP9H0y/6OXRX717YgDZO2?= =?us-ascii?Q?5+SWFWrZuaMb2fDKPkb0Gx7LqmU9BVDQbueXBuylj+huMdYJxxR16/VcqDTF?= =?us-ascii?Q?tn1pCPBhl8HPLi/D6Hof70UJqiF8HnGj2obpw6NkVNYHOK8lL9U/Ry23N569?= =?us-ascii?Q?P5VuCkb5G7Pz10t805K9rQo1PadHXseGrRRSms4KATAtdKmfSZC7esBiRUL7?= =?us-ascii?Q?KZb5OWb79GMc2bI+XQjP/gPj5QOSqaPF7kSrFxP4PvBxKVDG2yovPjHKnaYu?= =?us-ascii?Q?dHCYZeD5l7ImTs5nHG/KIleZGu9C3qx/VkrF/yNTKc1m8DmeHfJP0etjzR+4?= =?us-ascii?Q?jJwyWA8az8AcAFPWtd3MDWLHky9m2WhpVl2+B3hxCTZWThlSosYyzRD6wrDR?= =?us-ascii?Q?yIazp5cAUthWBSqiPc1PkuVuLJ2SAQ/7wic8WJ0E80eZOIqED/RTcwCW+AyE?= =?us-ascii?Q?Z3mK9LW/IaQiRsR0xdSdJAIGDu5epmgWsvLscAgWwVZgKcShKkNFCLM/bbIE?= =?us-ascii?Q?D8YBUUS2FD8FHkTgzXY4ANdaotvT81qk+l2KUYSrFWV10oeCazh1ZVVI64o1?= =?us-ascii?Q?t+SnMT9a+/sjZPeSmS2x/zK8MVXW+I7oBp3PKKUVgEJzM9Nv7AjKILfdPnTh?= =?us-ascii?Q?6H68yIr0zpq0QifpzFpJwqQ0C67oVR3adCBm++r2K8ck0prqEzC6LE+E34Kb?= =?us-ascii?Q?6gfwOJlgG+YirDVpoknbBzm2+8ANqD302DuSNGkLWl2H8iJcY088b9Hrawa5?= =?us-ascii?Q?ZLksGyK5MVro0BOxDVeWcJsoPb0h0camsref9XemnvGiV+NgbmSC1r6xAcKN?= =?us-ascii?Q?dGxR2JsjP06L/oqTKEkJ910YQTe05JRlruYqXZgEfm4yFpTgwp4A25Gy/DF5?= =?us-ascii?Q?CXjaiGmOrDvfJkdZ+JcBU5TlPpMJ18pF3tCQOVTvHla3IJjbjdD3fn1cA6XO?= =?us-ascii?Q?Fk/oUHZZKbkkzTQiHV7ZkTncufuRFEowsemrGKu+3kzfOlhp6GR2TF2eyU3i?= =?us-ascii?Q?jN/YgM8xmPxsoieAiUu1lVw3FIaeMxqoOiB4a5tq0ATk18B6ddI8SPyzFAgb?= =?us-ascii?Q?X0Ph/EEfPqsJS6MT3iUCnNUoxXaTJJAYuoGvUMpfoKYPa0Yfdfi1XywzaxvG?= =?us-ascii?Q?eb3yqSblK8DO89ORyGmvLBatG7bQe7TGKaVHz5FX8evs4DgNsUYboJAHCNih?= =?us-ascii?Q?MsfxcqNFGt+ail7xhw/awNyJDD7lVhUeAr21sDxrbNUsHUzzO8pvmd/bO0zH?= =?us-ascii?Q?n6qx9TQCIInm3pPzxXbDna28H23o/66+tdL/ebNsHGD8ZMHtbG1G47IUeGlJ?= =?us-ascii?Q?cLzncx9ix8I4PztPZTCW08dH2pxJabLTRAKGCUDrGyfH2e++jnwZHZP4jT2G?= =?us-ascii?Q?cu2tKBf9idvRnDDE/9mxIkU7d9OzZ3B74dtRqDVLjj/8mX4R20DUYVxkPMyX?= =?us-ascii?Q?rcSYMSRGgWAt51IhQcxN6LhUHdL6CbpcUYPVhItD/ilerbEqlt+gagB1h1Zs?= =?us-ascii?Q?wSYauwxW+YNC7okFdDt1Wa9yfgHpVE7PRFBTrXiF9Y05htl9KsXIeozAMt+t?= =?us-ascii?Q?gX6MF1HaexIvzJTamL98vOfxpZAPv9iyuaJP6JuIeKlU6VjIfGlANTlszQjt?= =?us-ascii?Q?Pw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 16:50:00.2776 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 862483f3-570a-4893-b084-08de59d64846 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE36.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6607 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1769100639113158500 Content-Type: text/plain; charset="utf-8" While in principle it's possible to have a vendor virtualising another, this is fairly tricky in practice and comes with the world's supply of security issues. Reject any CPU policy with vendors not matching the host's. Signed-off-by: Alejandro Vallejo --- CHANGELOG.md | 4 ++++ xen/lib/x86/policy.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18f3d10f20..eae2f961c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,10 @@ The format is based on [Keep a Changelog](https://keepac= hangelog.com/en/1.0.0/) - Xenoprofile support. Oprofile themselves removed support for Xen in = 2014 prior to the version 1.0 release, and there has been no development s= ince before then in Xen. + - Cross-vendor support. Refuse to start domains whose CPU vendor diffe= rs + from the host so that security mitigations stay consistent. Cross-ven= dor + setups have been unreliable and not practical since 2017 with the adv= ent of + speculation security. =20 - Removed xenpm tool on non-x86 platforms as it doesn't actually provide anything useful outside of x86. diff --git a/xen/lib/x86/policy.c b/xen/lib/x86/policy.c index f033d22785..4c0c5386ea 100644 --- a/xen/lib/x86/policy.c +++ b/xen/lib/x86/policy.c @@ -15,7 +15,8 @@ int x86_cpu_policies_are_compatible(const struct cpu_poli= cy *host, #define FAIL_MSR(m) \ do { e.msr =3D (m); goto out; } while ( 0 ) =20 - if ( guest->basic.max_leaf > host->basic.max_leaf ) + if ( (guest->basic.max_leaf > host->basic.max_leaf) || + (guest->x86_vendor !=3D host->x86_vendor) ) FAIL_CPUID(0, NA); =20 if ( guest->feat.max_subleaf > host->feat.max_subleaf ) --=20 2.43.0 From nobody Mon Jan 26 07:42:01 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1769100632; cv=pass; d=zohomail.com; s=zohoarc; b=AG7p2ODnClxjx58smMQLRwDRD4kXbgcU+hBObJ5UNgRiP+QtH58q3A7YDv0pcZ1aoUSTbh+ZOLctuOY/k7rXBJLtWZZ5ojMPCKMUaGY2Pr2wu2YSehZtWqIJVnNiMRimTCm+BrBMPTmKULsQMYy3ANBv6Whg8ZaZjZyREeBbCIE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769100632; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9EmXfLyMCmn0zGN/UiCxh5bIuJ3Np7zB11ymzGrJfEo=; b=TbvC6uafDbcylMh69ycyReL/GYipq/pa2wvy/xzQCfq8a/N+tE/jeoGDN+4/XsvY0GOWvi7C4LEPCEejXNxgUsbX+1rh2jcjxWz6Zw17qvtlsgS4Vte8ohMl0en2Efj9xbigGlMzrylMsR1kh3kz7j7kzm1yv2CzmUMdExv4MjE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1769100632948796.9706543668858; Thu, 22 Jan 2026 08:50:32 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1211432.1523015 (Exim 4.92) (envelope-from ) id 1vixst-00078G-Oh; Thu, 22 Jan 2026 16:50:15 +0000 Received: by outflank-mailman (output) from mailman id 1211432.1523015; Thu, 22 Jan 2026 16:50:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixst-000789-M8; Thu, 22 Jan 2026 16:50:15 +0000 Received: by outflank-mailman (input) for mailman id 1211432; Thu, 22 Jan 2026 16:50:14 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixss-000783-BP for xen-devel@lists.xenproject.org; Thu, 22 Jan 2026 16:50:14 +0000 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azlp170110003.outbound.protection.outlook.com [2a01:111:f403:c107::3]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6a51f212-f7b2-11f0-9ccf-f158ae23cfc8; Thu, 22 Jan 2026 17:50:12 +0100 (CET) Received: from PH8PR22CA0016.namprd22.prod.outlook.com (2603:10b6:510:2d1::9) by BN7PPF0D2C72F0D.namprd12.prod.outlook.com (2603:10b6:40f:fc02::6c6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.11; Thu, 22 Jan 2026 16:50:05 +0000 Received: from CY4PEPF0000EE36.namprd05.prod.outlook.com (2603:10b6:510:2d1:cafe::68) by PH8PR22CA0016.outlook.office365.com (2603:10b6:510:2d1::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 16:50:02 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE36.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 16:50:03 +0000 Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 22 Jan 2026 10:49:59 -0600 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6a51f212-f7b2-11f0-9ccf-f158ae23cfc8 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F16LbJM365Mjp73ksxnDTLcGqvz77xXQTgRjVNdQoLxG6CansKNb7fWd/h9ij9ih6LEY+xenNB0w/4U+9PLSvV9EBEJ8Mf5SzhzG60Y+wEcPVcTok2XXVoqKAEsbnnSZAjvafXWlcTxTwjJDoEM6ZSjsUMc/A2udQJDYXnaQZymtJE2xVlI4CCjIG6wbXYgxrWbEWop/INi7vZubL2G8u8GFN5snF/S9LIe+JiGnK19UwWbgfFZavVmJadjznkTB9oDFXIm244oc/+711YZubi14pw1uyLkajCbQjAWBNFhxhR3NTMcT3HfhHLxWD0UmvstRIxj1nPAC57VywDiizA== 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=9EmXfLyMCmn0zGN/UiCxh5bIuJ3Np7zB11ymzGrJfEo=; b=vDm6BA112AYdrblBXZtcb0LwTsHTIlnZQriQo0wDyHYSsCELDw724NuZTTqESovDs4tUlv8/XMaje2aWXgQF/h8tEZSpjMI5ZAiBFhOOnRBy/aZg4LuPXHAThv+U1anVNEr1UPxr4Tqmb0l+TZpJjpK+c9E+4QeNmdnTnPgbDB30qquFM0k68waSxIG4Q3ihWUFCWJu9Qoewq2N9p5Dc0DnA4kKC7WmqqfBstt2l54hstj9vZTLxjdg8eQlDsBCZqPvUf8tfyNfrkioHXfSj16a0JsFCZoLXEmAHP6fhkHbuDRDR+/wUhsKwcBkyRDPW6Wp++EhAN4pm64lOWi22OA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9EmXfLyMCmn0zGN/UiCxh5bIuJ3Np7zB11ymzGrJfEo=; b=1SOSfcadga/SqWfjU0EvCXbp0pEVQf50TL5rW7NHYMrQithJnZRSjMP/fbjripvMmUmDUnzhSmasnAjiU49x/K0ME03oPSu554GSnFp27kYR7B11O5kXHPE465+eW4jRPpytZl5vmUJ+w1OItpncHKUIhZhI+HONhHTwIJM4W5A= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Alejandro Vallejo To: CC: Alejandro Vallejo , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk Subject: [PATCH 2/4] x86/hvm: Disable non-FEP cross-vendor handling in #UD handler Date: Thu, 22 Jan 2026 17:49:38 +0100 Message-ID: <20260122164943.20691-3-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> References: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE36:EE_|BN7PPF0D2C72F0D:EE_ X-MS-Office365-Filtering-Correlation-Id: 35533bef-394e-450c-9267-08de59d64a16 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?R0Y1Q25sYnZtY1pSOEEyWlZIWXdUbXNZWEVxbHhyaVdWaG9NK2p1WkxmcHR0?= =?utf-8?B?TUQ1NGVTQkd6Y1A4MVFVWERBc2VlMHRiUm5JL0FseGsvR3UzYzNMSDVhaW1Q?= =?utf-8?B?Ym5NckRXa0VqZVg2aWZxZGFyb01OeWRKYjZ2Wkh6WVhJeExwdXpGdEpkTW5V?= =?utf-8?B?emlyU0w3YXYxSk53dExFYTdpVTB5bnJ3ZlZWaUVmdE9ZZEtHY3Y5ODd0Mm9Z?= =?utf-8?B?eXpZdmVuRjNTbVVxUC9sMHhBbk1ra3dNZkdsYy9tOFpnQmVRRTllZm51ZFFn?= =?utf-8?B?SDVEb3Avc1BXaWJSeGRYS0UrYzdwZWFOUWhLNzJjUXVKaElJdFNuNDlGY2tH?= =?utf-8?B?QktHTFMvUnBuRDR6TmNobllJOXRZb0tnUWR4REdDc0JyUmFEdWtSNlZqMVFK?= =?utf-8?B?Zkp0ZVFWK3gzRGpCclNRc3pDNlVrVUNOSERXS0I4TWdhTXhqem9ZdCs3Z0VR?= =?utf-8?B?SzdNbDkvVEVLNDEyWXAwMWt3UFB6MUk1cnhRWExxOVBxM1V2OTBpUVl4eFNJ?= =?utf-8?B?VlFIb01BQXJVRE9jeE5ON2ZDWWkwdWo1dUljaG9yQlZMQ2t6WlJkM3J5NXVt?= =?utf-8?B?VjRVblZ3R29jVTlwb1VHVGY2YzNsRTRwTTE1Nm05ZmRLdGRNTVNTcUpUd3o0?= =?utf-8?B?bW1CTW9DUi9MN0g4V2NTN011c3FGa0Y5NkxGcDg2OUhmTXQwRERMNGZnOVF3?= =?utf-8?B?K1Z3KzFFS3IvakwxOGlvU0tCd2YzWTZNSitPRmh5TXBObnVCTGtwakgxUTRa?= =?utf-8?B?S1lIaTZNTm1ZK0s1MTJKcU83UjRhdUp4YjFCVGVEcWFDempxakxNeHBBR0Jx?= =?utf-8?B?c2ZuVXQyRWpUaTF6NmVocmpLZVRuVXhBWHFGUUJpaHVzVG9LSENFRHVweG1D?= =?utf-8?B?eDh4WFlmS0tFUmYzNEZXWHhDNnQ1MlJhNW5SOGJ3azlzRWRudWVKUUJqQjA2?= =?utf-8?B?bDRkam9FcGhOUnAzR2oyMU5FTkdQUzRsN3dzUlBHOCt3MjJPL0pZQkFiTjlM?= =?utf-8?B?U0xwZnZPOFl2YjRUdzkzbkRIdEdpSDBjQWRGOWJsUlBLZUxobUxuQ2JuNm5w?= =?utf-8?B?c2RBZ3N4RElZQjgyZmZzamYzVGhDSjBHdndMTlFsS0xuTmIxc29SOGpaU0VC?= =?utf-8?B?aDk5dDZzNitJdHo5UElUSm12WDJoUVYrc3lIQmY1SVJrMUZFbDBWWVI1VXpi?= =?utf-8?B?ZVFNTHpEYXdCdzJTTmMwNGt2YzQrMG8wZ2I3ZHBRVG5RY3hjNHVlV1BXVmZV?= =?utf-8?B?ZFUzaWZTV1E4cWN0cUpzOGZpZXJkUlE4LzRiZ3VCS3Q5ai9lYlMyVDJEZ3Mv?= =?utf-8?B?UWZ5MWY3dUYxVkFKVzhJUEMyby9ZdUJlVzA0dVlobmdYbHdlQ3BtTkc4RjBW?= =?utf-8?B?eGc2SzlSZjA2bEpTcm40NXRESTlUZXA1bDJZei9pU01ZcUlleDJTSkdNd2l2?= =?utf-8?B?S2szTGdHTU9kTC8yS1YvekpzMWw3MGNHQkwrd2hEUmNadHRyOWxDNDhBcno1?= =?utf-8?B?VGd6OS9lSE5YM1ZDbVhwRFlOVmI2MVBKeUxOenhLbEVodnJJNmZEQnVNM0lk?= =?utf-8?B?bERidnBOZzhod3B0UWEweU9ONmp1L1RUL1EvQVB6UGZiL1BpM2RVNU9oVGRE?= =?utf-8?B?UVdPQkxzS0d5cU93eDg1THhaY2grZHE0M0JMdDhPc3ZjSHFxRzE3VjVjcDdG?= =?utf-8?B?dC8xUEVkZ1oxbENXZU53bEpOak1tRkJNODdsU1hadjFuZmVJUVB4RWxnMnRu?= =?utf-8?B?Tmc4cTZGMnNnWUs1SFgxaXF1ZTR2ajZ1T2FjMFozUGZuUGo2SFVPTHJGU0VG?= =?utf-8?B?NnQvSmN3SnMwWUFqWG4rZURkOXE5YTg3MitjZ1B1bXNZUEhaL3NLN1V2NDRQ?= =?utf-8?B?TGRZL2E3MlRYNjZJLy83OHNjbHFWc3l4cHlxTGF2a04zclJSZUpMaDcrckxu?= =?utf-8?B?NG5oVm1tZWxqKzdYc01lYjVHTjArVmptSVdMMGkwcFY0cE04aXoxN0xmQTdq?= =?utf-8?B?SnVsbjBocWUwSXRwbisvTUh1bmJ0M3N6d0JpaWZ3MDBtSC93a0JNbHd1MVBY?= =?utf-8?B?MU9ld2VMYWdmRlJ6WUxLUUNld0FKUVIxU1BLMVJVSDhUazBuUGs3MHZHUXhK?= =?utf-8?B?ejE3aHhiQ25nWlFaUlJpZE9BeVJGUWdGeHVocjBZTzM2ZWg1SVJHTEhCUlFn?= =?utf-8?B?WVk5MmhGc3ZNQUxuUHR4SDZ4V1JUYWJQdEFjM0RHb2FqOGtRVGF2RkljU3F4?= =?utf-8?B?SkJjVDNZaHgyc0J5ajltdWh5alFnPT0=?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 16:50:03.3182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35533bef-394e-450c-9267-08de59d64a16 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE36.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF0D2C72F0D X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1769100635575154100 Remove cross-vendor support now that VMs can no longer have a different vendor than the host, leaving FEP as the sole raison-d'=C3=AAtre for #UD interception. Not a functional change. Signed-off-by: Alejandro Vallejo --- xen/arch/x86/hvm/hvm.c | 25 ++++--------------------- xen/arch/x86/hvm/svm/svm.c | 4 ++-- xen/arch/x86/hvm/vmx/vmx.c | 4 ++-- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 4d37a93c57..611ff83a60 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -3832,28 +3832,13 @@ int hvm_descriptor_access_intercept(uint64_t exit_i= nfo, return X86EMUL_OKAY; } =20 -static bool cf_check is_cross_vendor( - const struct x86_emulate_state *state, const struct x86_emulate_ctxt *= ctxt) -{ - switch ( ctxt->opcode ) - { - case X86EMUL_OPC(0x0f, 0x05): /* syscall */ - case X86EMUL_OPC(0x0f, 0x34): /* sysenter */ - case X86EMUL_OPC(0x0f, 0x35): /* sysexit */ - return true; - } - - return false; -} - +#ifdef CONFIG_HVM_FEP void hvm_ud_intercept(struct cpu_user_regs *regs) { struct vcpu *cur =3D current; - bool should_emulate =3D - cur->domain->arch.cpuid->x86_vendor !=3D boot_cpu_data.x86_vendor; struct hvm_emulate_ctxt ctxt; =20 - hvm_emulate_init_once(&ctxt, opt_hvm_fep ? NULL : is_cross_vendor, reg= s); + hvm_emulate_init_once(&ctxt, NULL, regs); =20 if ( opt_hvm_fep ) { @@ -3878,12 +3863,9 @@ void hvm_ud_intercept(struct cpu_user_regs *regs) regs->rip =3D (uint32_t)regs->rip; =20 add_taint(TAINT_HVM_FEP); - - should_emulate =3D true; } } - - if ( !should_emulate ) + else { hvm_inject_hw_exception(X86_EXC_UD, X86_EVENT_NO_EC); return; @@ -3903,6 +3885,7 @@ void hvm_ud_intercept(struct cpu_user_regs *regs) break; } } +#endif /* CONFIG_HVM_FEP */ =20 enum hvm_intblk hvm_interrupt_blocked(struct vcpu *v, struct hvm_intack in= tack) { diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 18ba837738..0658ca990f 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -589,8 +589,7 @@ static void cf_check svm_cpuid_policy_changed(struct vc= pu *v) const struct cpu_policy *cp =3D v->domain->arch.cpu_policy; u32 bitmap =3D vmcb_get_exception_intercepts(vmcb); =20 - if ( opt_hvm_fep || - (v->domain->arch.cpuid->x86_vendor !=3D boot_cpu_data.x86_vendor)= ) + if ( opt_hvm_fep ) bitmap |=3D (1U << X86_EXC_UD); else bitmap &=3D ~(1U << X86_EXC_UD); @@ -2810,6 +2809,7 @@ void asmlinkage svm_vmexit_handler(void) break; =20 case VMEXIT_EXCEPTION_UD: + BUG_ON(!IS_ENABLED(CONFIG_HVM_FEP)); hvm_ud_intercept(regs); break; =20 diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 40e4c71244..34e988ee61 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -797,8 +797,7 @@ static void cf_check vmx_cpuid_policy_changed(struct vc= pu *v) const struct cpu_policy *cp =3D v->domain->arch.cpu_policy; int rc =3D 0; =20 - if ( opt_hvm_fep || - (v->domain->arch.cpuid->x86_vendor !=3D boot_cpu_data.x86_vendor)= ) + if ( opt_hvm_fep ) v->arch.hvm.vmx.exception_bitmap |=3D (1U << X86_EXC_UD); else v->arch.hvm.vmx.exception_bitmap &=3D ~(1U << X86_EXC_UD); @@ -4576,6 +4575,7 @@ void asmlinkage vmx_vmexit_handler(struct cpu_user_re= gs *regs) /* Already handled above. */ break; case X86_EXC_UD: + BUG_ON(!IS_ENABLED(CONFIG_HVM_FEP)); TRACE(TRC_HVM_TRAP, vector); hvm_ud_intercept(regs); break; --=20 2.43.0 From nobody Mon Jan 26 07:42:01 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1769100646; cv=pass; d=zohomail.com; s=zohoarc; b=RCLu1LY24dOLIbPrdGjy79BLzt+NiHjWYm+vs3I04E6Sy4xWfm8GSUEEOKh2wU+NDWlYfV/okzstZzNq41Sq46c/iSuubE1L//us/Z7vpCeU7bDcIgzzZcfbxcxjslZFdzV+KVtc2ogtL3gVKUSZzynVOVLL9DdNfyGfd6S3KFc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769100646; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=u2XiGBn+2TTMkvVjf7PhcT0PqgOh4b6zV4GWpM5zTgM=; b=lFOrSfQD9RP7xscKpzfI1CV4k7rdo69B0UwODfJVVvrwDSo1dDg7VPL2oxpBev+AxAUFsZ2T0ZljAI5k011tntKW3LNXGcd7nJcMu4X10oJoPU8RG/BnjDWXCC1cJGhaZYzdg+uXGXkOk01zlAnfS0sOkWr6Px3cdWuI8xOnFbs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1769100646628887.6957409353953; Thu, 22 Jan 2026 08:50:46 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1211437.1523046 (Exim 4.92) (envelope-from ) id 1vixt2-0007tn-L3; Thu, 22 Jan 2026 16:50:24 +0000 Received: by outflank-mailman (output) from mailman id 1211437.1523046; Thu, 22 Jan 2026 16:50:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixt2-0007tf-HH; Thu, 22 Jan 2026 16:50:24 +0000 Received: by outflank-mailman (input) for mailman id 1211437; Thu, 22 Jan 2026 16:50:23 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixt1-0007Lp-Me for xen-devel@lists.xenproject.org; Thu, 22 Jan 2026 16:50:23 +0000 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazlp170100001.outbound.protection.outlook.com [2a01:111:f403:c000::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6c9c739c-f7b2-11f0-b15e-2bf370ae4941; Thu, 22 Jan 2026 17:50:16 +0100 (CET) Received: from PH0PR07CA0070.namprd07.prod.outlook.com (2603:10b6:510:f::15) by DS0PR12MB8526.namprd12.prod.outlook.com (2603:10b6:8:163::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 16:50:07 +0000 Received: from CY4PEPF0000EE31.namprd05.prod.outlook.com (2603:10b6:510:f:cafe::14) by PH0PR07CA0070.outlook.office365.com (2603:10b6:510:f::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 16:49:53 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE31.mail.protection.outlook.com (10.167.242.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 16:50:06 +0000 Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 22 Jan 2026 10:50:01 -0600 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6c9c739c-f7b2-11f0-b15e-2bf370ae4941 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bLJRub/oGtu+vwC94CnYuqyXPNHggChGau+wCN4HNthcw8nWa2UcZzOb/nbjzjSxKOKY8sEA9O5g6iZFT/Ul5xMq0aXCtxcy42JVc72UV0kQUd9rmeaIkieFYGud1Ko6XZ5JkMPoDhxkA/4xIKnld2Upd7LWGLNdxsuoVqRxWgYnsDqdOzV32plJVT8sX8JOvx5RRaGhqyzRd7tiJv0/YBnawJ0ou9dkjNR2FG0MmWfV57Hj3mg4Px2cDxVGgceknFps7VfKN/TFXUOJ8gCTBw7EUlMGzt9DKWfuj0iB3kaOThDXFVRuznYK3onrN1i+a7KHmtiGDW+2VA0slLPBOg== 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=u2XiGBn+2TTMkvVjf7PhcT0PqgOh4b6zV4GWpM5zTgM=; b=VFY0i6kiylom7+1Nic3jtgZL6677FoPc3vFTGNHPah0FDMhexZEV1gUoeEF+jWpQ00ddNbKyKBr4ddQSZ2Z6J/J2mM5llF2IpHCBKCQWYs5gfBCQ6qNz1PjMF9zdWvY+8o7gy4+yMNcs+Kp4rHmBMTcb7gLLKSLxeW4899hzrCZv7tHgFYQ4x3qKW128/sV1po2M79lf4aXF9Fpo2g5lf9bM2zECpF5c1xFwLRwetvRCI5jsdfYT6Rwe/wLDcQ+7DP2cJiA8UvExNMjl6u8/3kYsL52wqxIAQSRkQgb4gTaozZM+wY+KDLCW8K9ucT1WLKIWZZ0XMyivLfo5u9CRwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u2XiGBn+2TTMkvVjf7PhcT0PqgOh4b6zV4GWpM5zTgM=; b=M3i/E7+Fm1vqRKHh7Ba8Se9VvyIGxchSun6VsFI9KKt6T64oT/ItDaRS5DEUbBgW8wqWFLQ3FlXh6vHR4GQ9ANGqxVsH3eRLDqLPQeLAZlH/bl6F8KFXE9XBBsIPIj8NXsEJVMQr4wCpCsE7ARgNSwSzlA5/LFXHBX6JRKxxrN4= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Alejandro Vallejo To: CC: Alejandro Vallejo , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH 3/4] x86/hvm: Remove cross-vendor checks from MSR handlers. Date: Thu, 22 Jan 2026 17:49:39 +0100 Message-ID: <20260122164943.20691-4-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> References: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE31:EE_|DS0PR12MB8526:EE_ X-MS-Office365-Filtering-Correlation-Id: 50192ebd-25e5-4e4f-d5db-08de59d64c31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?P12KV/72EIAx34JT0pwD3dLZkWzZi2WxSX+l3Wv4hq0RsAX0mnMJf7dHtwk3?= =?us-ascii?Q?3VWRD4u+N7g7/orIVcigPvkfZ/DKqcGwFnGT1jTXgWwF4U7kP0amG2BBoVOr?= =?us-ascii?Q?D/sgPK/ShC5wkRUKkC4e0dKss5RZVS8U+EYVwpxLycLrgsLqHpuU9JcG5fE4?= =?us-ascii?Q?mszUF8a/v7oR3MPpqvac81nTOsSOrrd96z5meD9/xa7ySQXqas38uk2GJE1P?= =?us-ascii?Q?+O6lsrC6uACHuTO6ffUpRZbwQEUDOjv7aAox0YWT7pNRR3vX2ap75d19w2kp?= =?us-ascii?Q?VBACnPJaXVbIkcsuFOwFLKzxphWDDkpXpkAUF9b0DW97Vj7K8HOtmnG6SaXt?= =?us-ascii?Q?F4KkZ/CAUZFI8YI1c298edY77fc+Dwno0OF6Feap8EfsJBK5KPzn6TsH2KD/?= =?us-ascii?Q?OsASRWs6QWGf45vjWYK6HwhemWf3LXEMD7oz1BpbKsLH7tMbC+m8tVLDTIC6?= =?us-ascii?Q?rpcYYC/dNLgU08/aDdBxDIhglHS4XNfDyvTK6r+4/t/biGGW5A7YH4hRgLL+?= =?us-ascii?Q?UJyS9frW+i8CYfWrNOhaAyCPXyjEZkZ8qHWX+V/tJi/iauCmvW1TyhZUwHfe?= =?us-ascii?Q?NNaDj7ahcjyhZ/GkWVTX2Rz+7Y/dvCWc3+cGSrJ2EuwhKiwxqrSO1MEfJ7YC?= =?us-ascii?Q?5BbTBZFlxgGHSFtGlj2ntE+tV5yviUn4lvio1zbD/ibfywO7jy2u+TKxk18O?= =?us-ascii?Q?mMWsBOGSuqjcceSW6lDF8LWa7mH7cAIF4VHmpA478+Ed2xsHurRXorFLPF1H?= =?us-ascii?Q?kMnbntNY5xdOMD26pfweSihCHgaLRWMbFJZEwfPOtG8AYAriEY8NWT7UACvL?= =?us-ascii?Q?GfpuKU/jG8nSWoyKbQxxt1WTUbVqRCxK+udLhMqGCxQju3gM9WrlE3GW07vA?= =?us-ascii?Q?Lico8+I0W7aEsxs0qN8xyNzcN/uJWiEqTvP8wRZKf73eBXNiSUbtA2LC04Nb?= =?us-ascii?Q?sv/yAuZ5q1gNQGtHBuo/iGqK1RpB1hLoBguR1JeCQWLVxsHZ7WRzNPU9RnWc?= =?us-ascii?Q?0sJeRfWrjFC3AwFh/LlGy8O2yuQxOruI1T2tkue6A3s31HbKtYd9Audoqbh5?= =?us-ascii?Q?5ebw+QQC2gbuURIYwBFglGkPEX7LBux+A9hazc0PxQvvowgtD19bMGwa5irM?= =?us-ascii?Q?SgkAtIEteRmbezuP44aMK3/ffC+F5EIcawfngflItbXh5dP/vuoPtKw/5h8b?= =?us-ascii?Q?N0EcJSeH+lqrPdNzVz0qX2SylluGTnW14kyzy89W88pqlJTIXTSowwZDUqUs?= =?us-ascii?Q?yslXs+eRLtrMs4nHEF+zHIg2iEdwYlboBLaGX07Su5a90aS1A8jdzQ2i7Q8t?= =?us-ascii?Q?M5xCVjB7wOHn/ahvqGl6WAby3kgAW2yIdzgjlKnbAeAB0nHms1N787ZLiAqC?= =?us-ascii?Q?ZbaEed7TC1aolw/u5hbbnX1gfeA/T4ifJNHIibKBXP/lkN0n/W5o+UNUIzKH?= =?us-ascii?Q?sjqy3LNbW5jLLn8QE8P3DAdbICXClBTR+D+UVmt7cPccK1IW7DZr52KTEOnz?= =?us-ascii?Q?W+86xUk/jIzWcUdkYjdSlHDtnTcdtsH+YVlev8Pdct9y+x/AbZwA7ZT6bz4o?= =?us-ascii?Q?iyjtecsMdTxcs/v7352wWCgBrS28RZInYnC88qTRsujC5bdkpwddlOE+KtKs?= =?us-ascii?Q?psyNpZBhXYaeIepXe2rUwG8rqrXVvOYRk2rYLfCvGYVj8AR3qG7EnU2Viqzz?= =?us-ascii?Q?XfHUwQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 16:50:06.8762 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 50192ebd-25e5-4e4f-d5db-08de59d64c31 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE31.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8526 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1769100647582154100 Content-Type: text/plain; charset="utf-8" Not a functional change now that cross-vendor guests are not launchable. Signed-off-by: Alejandro Vallejo Reviewed-by: Teddy Astie --- 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; =20 case MSR_IA32_PLATFORM_ID: - if ( !(cp->x86_vendor & X86_VENDOR_INTEL) || - !(boot_cpu_data.x86_vendor & X86_VENDOR_INTEL) ) + if ( cp->x86_vendor !=3D X86_VENDOR_INTEL ) goto gp_fault; + rdmsrl(MSR_IA32_PLATFORM_ID, *val); break; =20 @@ -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; --=20 2.43.0 From nobody Mon Jan 26 07:42:01 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1769100638; cv=pass; d=zohomail.com; s=zohoarc; b=mysIyHjQByRaXrZ7JC7SGRm1oRS7gkABMMeMsAPtdhPhB71yc6pNEiGsAy8NCD8GJPeVELNKVO/gpaFH2g+6t7dxb6X1dkkbVnNVmJtsO3NLCnJ7F7yZWYbSrErLPH/lzlHvOnbtvPpgTAemMR/1AK3o2pHqCGJ/KGTIJepct6M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769100638; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TqUBinfJMYNlCATSgG74qTOPnewkTVbi9kO9zRn7zi0=; b=AAJ6gMVRyBthnUjQP3+sLjzQeF0YnCrMT+M+gG3vrrDcnkS0stfd4KdDJVs+BKQY/10x8L4LhaLOTp6Sywx/pT8+D6u14yJl8DhzHefoeYxIY8FSMKM0i9WJKGP5hptmAwXCxCjhAyfdGl6WmCmIa5W04EriMzCEgSbNDlT7s+c= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1769100637985569.8075144324948; Thu, 22 Jan 2026 08:50:37 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1211433.1523026 (Exim 4.92) (envelope-from ) id 1vixsx-0007Mi-0i; Thu, 22 Jan 2026 16:50:19 +0000 Received: by outflank-mailman (output) from mailman id 1211433.1523026; Thu, 22 Jan 2026 16:50:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixsw-0007MX-Sq; Thu, 22 Jan 2026 16:50:18 +0000 Received: by outflank-mailman (input) for mailman id 1211433; Thu, 22 Jan 2026 16:50:18 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vixsw-0007Lp-0g for xen-devel@lists.xenproject.org; Thu, 22 Jan 2026 16:50:18 +0000 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazlp170110009.outbound.protection.outlook.com [2a01:111:f403:c111::9]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6d162c35-f7b2-11f0-b15e-2bf370ae4941; Thu, 22 Jan 2026 17:50:15 +0100 (CET) Received: from PH8PR22CA0014.namprd22.prod.outlook.com (2603:10b6:510:2d1::29) by SN7PR12MB8772.namprd12.prod.outlook.com (2603:10b6:806:341::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 16:50:10 +0000 Received: from CY4PEPF0000EE36.namprd05.prod.outlook.com (2603:10b6:510:2d1:cafe::c2) by PH8PR22CA0014.outlook.office365.com (2603:10b6:510:2d1::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 16:50:06 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CY4PEPF0000EE36.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 16:50:09 +0000 Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 22 Jan 2026 10:50:02 -0600 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6d162c35-f7b2-11f0-b15e-2bf370ae4941 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XYZrOXSVGnMPz9GBvjgU2qRtZmcKktu4B8tI1NPTU9LEfyicNElinuhb1maznonzRWuQqtuaCk1pdIaCUJVvTTFwEsH5R/P1v5etwgMKUx4lKxPOngnX1DemGvVYiqiV6Ix9V7NoTaID3AO8chJmzojGQunc+6PMFNAOADp/n++Zz192uBmq627S8NfaavQKsSLoeeRH+QOEn+ana/w5Xsbd4FYXnyYrgBJTgUhmh2I0gzUe+6omJ8QyKmqwrmdImky8oDWYmIVn1piX8hZQebdrWsxF4YVmo39wgSSFzJLrv0lk/Ynp4Rchfscd9Qpw1Z4SPbNRng7ZNS2b6Z6X3A== 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=TqUBinfJMYNlCATSgG74qTOPnewkTVbi9kO9zRn7zi0=; b=CEwEMzXnaME8gbYNoUM+ovhbP2TIZq02Vf6D3k4b+61n01h2/qKUwEujaI0TVm5BLYO8Ml+dwMTsC+D6EcYA+ujJszNOogAR+qH6WZW9NA7RrBn9qTVenENpaDorE+Z29FLr4W7H0y2y5LSAY+/+s6PVImaDMFs2uegqKYlAwF3na6Unfi7AjT9EaMwH6ocoqH9SIgBYXbMar6BTGDlkim0BBeChuScH8LSRrZjpkG+mFZngkHfepGKz56fOohYeVQvlp3sybajiRBJHXUKQDkz1u2Jzb226nlkq6LayAcdgJxm335syDEhT6EqT6k3oF0nYhYlWwF157Q85vSSvfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TqUBinfJMYNlCATSgG74qTOPnewkTVbi9kO9zRn7zi0=; b=QTEatZSALdktEn3I0LkTWM94RgG4yVoT/gIesuMWyja2y5jUz4ioj7oJWWTOLVM/xjeQJKEcHtUKx9lxUfU544YpuQo9XoXoEPe4y04ESJBffkpcq5TZqCEx9zV/FxEi0RuRo5RLa54sbreW9S4PiZCWclFBr8VsEKEYOPjbzZw= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Alejandro Vallejo To: CC: Alejandro Vallejo , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk Subject: [PATCH 4/4] x86/svm: Drop emulation of Intel's SYSENTER behaviour Date: Thu, 22 Jan 2026 17:49:40 +0100 Message-ID: <20260122164943.20691-5-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> References: <20260122164943.20691-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE36:EE_|SN7PR12MB8772:EE_ X-MS-Office365-Filtering-Correlation-Id: 94ba0e70-042d-4b09-f00b-08de59d64dea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rqMmRNthNoJzBRvAWe3Ln9lk/GTrW8PJ7uEEUIKGWN7/bkp+EG0QPhWiMGLq?= =?us-ascii?Q?Q69l7H/ZkbuxwDl20Zf13393mOljzOisVtDxGNVXW9qHhdlmKnEn1tlPVhx8?= =?us-ascii?Q?hU1ERNxsfHxGC53vDIok2Ocz0fZLCd+GekAtuQbC5mEt9yXvNXrXxz3DNXms?= =?us-ascii?Q?Jf0jOi7HoTMAXeGUnH8AOWxWaMIe5Deo7LhoD/P9K3h7K90xwzvDtPWWuYub?= =?us-ascii?Q?/erp0tsQqZS/oa4H6HNwKzYmNNguHPCQ9Q15ipfNFZmlEZjwxfMs9fEmtEry?= =?us-ascii?Q?YREfdDcUWdVxuV6c8bkii3E9XR7BuEEenX2V1i5JPhOQiRE0kCnHYFrGRFpp?= =?us-ascii?Q?V91MN0m4MM2m/xUegEWb4poHnE9TZ4CLsnM2Htm8/+TatXpYdFjKVzOnjKfs?= =?us-ascii?Q?lkiTXc5zwanzIFJG8f2BVQT3Wggt9iVhOqY7HjtNGp1tTO0VFnGLVykUx5eR?= =?us-ascii?Q?KECXomizGPhTOpjAOdL0D5nwK8P3JrizRnOuveBi+/ppAI7BQV6X7zJsPCjm?= =?us-ascii?Q?5ejdqowOew8yiVmPQGvo4IQExfYxmzBqFKUpWvMqtHHPPATQiOohKYmIuPyM?= =?us-ascii?Q?0BfcDy457y1cyUbCf8Yy3t4xnVxXoLlnTAXdRPm6iWaT6y8tUTFEAyvoCIUf?= =?us-ascii?Q?hFyTJBipwQMEbHL5oJETxod1r3mEQxkWJo62aDeCyRNzf3icoq8xq3fZUPMQ?= =?us-ascii?Q?pN+/1UXex7hzCK0X1/F813xTxGeto7bpmgfXM79sv64xLETXg3CIvRsY5raU?= =?us-ascii?Q?eVAjbc8Gmc/DKHFo+0IJdUV4N6tG6BHukq5/Zs7SV6JNcderWVtFISkQcLQj?= =?us-ascii?Q?f0TpFb8GvsdJ264TOoAWoZ0ypQFEAPh3Ye3wbStad3tqaYVSmFUExHawfki3?= =?us-ascii?Q?FtNNA1FokHGOrfZoT5SRTEIhXtP4hiIlXz2TLlzOpDZiGVu9Sq/wASS/2YaW?= =?us-ascii?Q?Fk2GQWrvtRsSxB7vWm93klfQ7VYzeQTjnmQShyLguJFdKr82TUCfws227N8i?= =?us-ascii?Q?bW1cVY+mJWP7eusnNefkNaCoGDGetilj0ogOwRAUjOaJXD3EZFsSH76OrGUB?= =?us-ascii?Q?74UVBfLJdSojZtqFZM2wUHFowQhZkvJOGLVxhIu7pPd/1EiC2ooGcfJpWxH8?= =?us-ascii?Q?HP4EDYQv3WOrQX+lxDgAh653dug0q+pjzhXYcPGV0cH5l7FO3nC2eR3GJuu+?= =?us-ascii?Q?FhgQfZ7KvZH4pJwYwUv4LuJWOnQwHpCdsF5Bg50/j8ZYiTWOCAJzKTMIbmca?= =?us-ascii?Q?AVDoi36Uss3xA0dM8nlDg4QQyl7kBHtzl+guJ1AEeoNIpEw/qge/3LA8rOps?= =?us-ascii?Q?lAQ2zmPaYhW7sQdZlDOQsYdJTxxFAjlSLUPwfpgaUruJUBDUtAMu0LE2AmZ4?= =?us-ascii?Q?ssbLCI7KmJQ/hRDbvnp7ivX7m+pReJC44RH4t6GSeJx3XipC1DkpRaqp8ksG?= =?us-ascii?Q?++/97EP21nEw+mXh0o49vjQaVvRmr30ItrKih2Af7CEJaBBksslkWovena6Y?= =?us-ascii?Q?9Sc+oiB2xOpbwv7VMaOnOT3REXn3RfKdUIWdRyg34jGjRXGMN2E4XqJEmPht?= =?us-ascii?Q?mXwCzigbjYpVmx9Jw6fzzmqwr7LfPORZE9q8rWylD5Mm1bL2sqjeSGxCPI/4?= =?us-ascii?Q?U6cv01NGdkX94IXoiBAEI+uK97Tz8/gu78mhXqV/3zdI?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 16:50:09.7449 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94ba0e70-042d-4b09-f00b-08de59d64dea X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE36.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8772 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1769100639177158500 Content-Type: text/plain; charset="utf-8" With cross-vendor support gone, it's no longer needed. Signed-off-by: Alejandro Vallejo Reviewed-by: Teddy Astie --- xen/arch/x86/hvm/svm/svm.c | 42 +++++++++++------------- xen/arch/x86/hvm/svm/vmcb.c | 3 ++ xen/arch/x86/include/asm/hvm/svm-types.h | 10 ------ 3 files changed, 22 insertions(+), 33 deletions(-) diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 0658ca990f..e8f19dec04 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -401,10 +401,6 @@ static int svm_vmcb_save(struct vcpu *v, struct hvm_hw= _cpu *c) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; =20 - c->sysenter_cs =3D v->arch.hvm.svm.guest_sysenter_cs; - c->sysenter_esp =3D v->arch.hvm.svm.guest_sysenter_esp; - c->sysenter_eip =3D v->arch.hvm.svm.guest_sysenter_eip; - if ( vmcb->event_inj.v && hvm_event_needs_reinjection(vmcb->event_inj.type, vmcb->event_inj.vector) ) @@ -468,11 +464,6 @@ static int svm_vmcb_restore(struct vcpu *v, struct hvm= _hw_cpu *c) svm_update_guest_cr(v, 0, 0); svm_update_guest_cr(v, 4, 0); =20 - /* Load sysenter MSRs into both VMCB save area and VCPU fields. */ - vmcb->sysenter_cs =3D v->arch.hvm.svm.guest_sysenter_cs =3D c->sysente= r_cs; - vmcb->sysenter_esp =3D v->arch.hvm.svm.guest_sysenter_esp =3D c->sysen= ter_esp; - vmcb->sysenter_eip =3D v->arch.hvm.svm.guest_sysenter_eip =3D c->sysen= ter_eip; - if ( paging_mode_hap(v->domain) ) { vmcb_set_np(vmcb, true); @@ -501,6 +492,9 @@ static void svm_save_cpu_state(struct vcpu *v, struct h= vm_hw_cpu *data) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; =20 + data->sysenter_cs =3D vmcb->sysenter_cs; + data->sysenter_esp =3D vmcb->sysenter_esp; + data->sysenter_eip =3D vmcb->sysenter_eip; data->shadow_gs =3D vmcb->kerngsbase; data->msr_lstar =3D vmcb->lstar; data->msr_star =3D vmcb->star; @@ -512,11 +506,14 @@ static void svm_load_cpu_state(struct vcpu *v, struct= hvm_hw_cpu *data) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; =20 - vmcb->kerngsbase =3D data->shadow_gs; - vmcb->lstar =3D data->msr_lstar; - vmcb->star =3D data->msr_star; - vmcb->cstar =3D data->msr_cstar; - vmcb->sfmask =3D data->msr_syscall_mask; + vmcb->sysenter_cs =3D data->sysenter_cs; + vmcb->sysenter_esp =3D data->sysenter_esp; + vmcb->sysenter_eip =3D data->sysenter_eip; + vmcb->kerngsbase =3D data->shadow_gs; + vmcb->lstar =3D data->msr_lstar; + vmcb->star =3D data->msr_star; + vmcb->cstar =3D data->msr_cstar; + vmcb->sfmask =3D data->msr_syscall_mask; v->arch.hvm.guest_efer =3D data->msr_efer; svm_update_guest_efer(v); } @@ -1720,12 +1717,9 @@ static int cf_check svm_msr_read_intercept( =20 switch ( msr ) { - /* - * Sync not needed while the cross-vendor logic is in unilateral e= ffect. case MSR_IA32_SYSENTER_CS: case MSR_IA32_SYSENTER_ESP: case MSR_IA32_SYSENTER_EIP: - */ case MSR_STAR: case MSR_LSTAR: case MSR_CSTAR: @@ -1740,13 +1734,15 @@ static int cf_check svm_msr_read_intercept( switch ( msr ) { case MSR_IA32_SYSENTER_CS: - *msr_content =3D v->arch.hvm.svm.guest_sysenter_cs; + *msr_content =3D vmcb->sysenter_cs; break; + case MSR_IA32_SYSENTER_ESP: - *msr_content =3D v->arch.hvm.svm.guest_sysenter_esp; + *msr_content =3D vmcb->sysenter_esp; break; + case MSR_IA32_SYSENTER_EIP: - *msr_content =3D v->arch.hvm.svm.guest_sysenter_eip; + *msr_content =3D vmcb->sysenter_eip; break; =20 case MSR_STAR: @@ -1940,11 +1936,11 @@ static int cf_check svm_msr_write_intercept( switch ( msr ) { case MSR_IA32_SYSENTER_ESP: - vmcb->sysenter_esp =3D v->arch.hvm.svm.guest_sysenter_esp =3D = msr_content; + vmcb->sysenter_esp =3D msr_content; break; =20 case MSR_IA32_SYSENTER_EIP: - vmcb->sysenter_eip =3D v->arch.hvm.svm.guest_sysenter_eip =3D = msr_content; + vmcb->sysenter_eip =3D msr_content; break; =20 case MSR_LSTAR: @@ -1970,7 +1966,7 @@ static int cf_check svm_msr_write_intercept( break; =20 case MSR_IA32_SYSENTER_CS: - vmcb->sysenter_cs =3D v->arch.hvm.svm.guest_sysenter_cs =3D msr_co= ntent; + vmcb->sysenter_cs =3D msr_content; break; =20 case MSR_STAR: diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c index e583ef8548..76fcaf15c2 100644 --- a/xen/arch/x86/hvm/svm/vmcb.c +++ b/xen/arch/x86/hvm/svm/vmcb.c @@ -97,6 +97,9 @@ static int construct_vmcb(struct vcpu *v) svm_disable_intercept_for_msr(v, MSR_LSTAR); svm_disable_intercept_for_msr(v, MSR_STAR); svm_disable_intercept_for_msr(v, MSR_SYSCALL_MASK); + svm_disable_intercept_for_msr(v, MSR_IA32_SYSENTER_CS); + svm_disable_intercept_for_msr(v, MSR_IA32_SYSENTER_EIP); + svm_disable_intercept_for_msr(v, MSR_IA32_SYSENTER_ESP); =20 vmcb->_msrpm_base_pa =3D virt_to_maddr(svm->msrpm); vmcb->_iopm_base_pa =3D __pa(v->domain->arch.hvm.io_bitmap); diff --git a/xen/arch/x86/include/asm/hvm/svm-types.h b/xen/arch/x86/includ= e/asm/hvm/svm-types.h index 051b235d8f..aaee91b4b6 100644 --- a/xen/arch/x86/include/asm/hvm/svm-types.h +++ b/xen/arch/x86/include/asm/hvm/svm-types.h @@ -27,16 +27,6 @@ struct svm_vcpu { =20 /* VMCB has a cached instruction from #PF/#NPF Decode Assist? */ uint8_t cached_insn_len; /* Zero if no cached instruction. */ - - /* - * Upper four bytes are undefined in the VMCB, therefore we can't use = the - * fields in the VMCB. Write a 64bit value and then read a 64bit value= is - * fine unless there's a VMRUN/VMEXIT in between which clears the upper - * four bytes. - */ - uint64_t guest_sysenter_cs; - uint64_t guest_sysenter_esp; - uint64_t guest_sysenter_eip; }; =20 struct nestedsvm { --=20 2.43.0