From nobody Thu Oct 30 18:40:01 2025 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=1759746533; cv=pass; d=zohomail.com; s=zohoarc; b=JPEwO6hJD9/eusrWUB0lM9FifuWcFXow0eU+fCoPjHJvcHN75xwQ2V+/SVoPjWGFjVePVwhidBvdmtbp5fzwDS3/o5hZmFFqrZWKBfAi4ZBA6ExKAUOzdUAllgpcazqsd2Oh6hhE1zLlHr6+3L8SO23wb367kxM1d9fOmyl7QLk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759746533; 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=fLCpUEK0V9qedPMxM85zA4whQVIbTmvcxPg6YTqoMRQ=; b=WAouX0Cy3cVe4SiHvK03h1aQDSDvp9OBdg9/ZLPmLSm4mPL3raOZuBtIoSJ4O/W313Gc96NXs5KskjxYznjUI9a8toOiOX5l7a9tngfGVjj4e9TeVxOIxYjsEJfFGIifu1Xdaz1q/yDZcLND0QluLBUEWSeqZ/p5U1ZhEuo0MDw= 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 1759746533319840.9204171265816; Mon, 6 Oct 2025 03:28:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1138042.1473831 (Exim 4.92) (envelope-from ) id 1v5iSI-0002LV-11; Mon, 06 Oct 2025 10:28:34 +0000 Received: by outflank-mailman (output) from mailman id 1138042.1473831; Mon, 06 Oct 2025 10:28:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1v5iSH-0002LO-U2; Mon, 06 Oct 2025 10:28:33 +0000 Received: by outflank-mailman (input) for mailman id 1138042; Mon, 06 Oct 2025 10:28:33 +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 1v5iSH-00025a-0a for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:33 +0000 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azlp170120001.outbound.protection.outlook.com [2a01:111:f403:c107::1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 3054a3ff-a29f-11f0-9809-7dc792cee155; Mon, 06 Oct 2025 12:28:25 +0200 (CEST) Received: from SJ0PR03CA0029.namprd03.prod.outlook.com (2603:10b6:a03:33a::34) by SA0PR12MB4446.namprd12.prod.outlook.com (2603:10b6:806:71::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct 2025 10:28:17 +0000 Received: from MWH0EPF000971E6.namprd02.prod.outlook.com (2603:10b6:a03:33a:cafe::8f) by SJ0PR03CA0029.outlook.office365.com (2603:10b6:a03:33a::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon, 6 Oct 2025 10:28:17 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:16 +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; Mon, 6 Oct 2025 03:28:15 -0700 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: 3054a3ff-a29f-11f0-9809-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l7RU2Xez19v92gri4TwOsOVgGOwThejfxJzqT+cDi7zsowC4/ITSLWXDN1+uKQ7m2LJF+mrWsKdi/ZigxVoppSvJ3kQ1ywMvBfZ1rwJNSOBKw8hZM0smvJAEQaAmxRnwA1vKnpntJp6PHeCT1EUHq+nQEAmmhHnthbWuN5v+WF9y+M8m8umCm80hN3jroijg+PkVMltcHotPf9B9YKmXLZSlalJVR31ALOPY/92Ae4HbrYtRwoeeCf41mPt9k1lx/y4iaJKZIFTd4a11vzTx6NxeAeaDz300ijaxH34XCnrQWiJsn3VQ4b0M81KB5Sjh7C+fZFqvAVgSAXUUcD107Q== 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=fLCpUEK0V9qedPMxM85zA4whQVIbTmvcxPg6YTqoMRQ=; b=JrJuTxFdsV8AnoiGk1EmD+fCsJW3NhHYxfne2c6kjRsA6NR8ZNWRKa4fEMzf6lOIEw4jgadn9wTrP6sfCjPyEMb3fAWIotpGz+SBTkXE+/gTi+JdCoFTDnn+rfDDubb+PBTH/dKfSbJrp1694MjGSjfGiYka/KTilZRCVB6LBT9eD7+2pRmhRKocve+pvrqiLpeZsr2EoPbRfh28LQgtKGDvkA5NSiXeOjZS7hgoZS/n+zMqk9OZpxUDBiNORgm25Xb84JSY15Clofu3pKSbgOMxzQN4CKQcAf6yZyJThI3PyrmuwCVmhLlVb2kag2p89dT02PpsL8CucgxXCKKyag== 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=fLCpUEK0V9qedPMxM85zA4whQVIbTmvcxPg6YTqoMRQ=; b=qbEWhTj0lMn8ijX8b1anO+PVmb3bsNRgVzuqIArjAuKO9YIDlmzmUWZ2ufmfoOVqouexpYQcv8BamNbl1+vDXTGadddP+S9TT2v4+G+Hbqz2a9QFktkyxcJM/jxKulejVAkJ612Xn1CP38Ac3JrzUjDSDh9foYESG7SscaX/034= 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 (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 , Andrew Cooper , Roger Pau Monne Subject: [XTF PATCH v3 1/3] x86: Remove Xen as a hard requirement to run XTF. Date: Mon, 6 Oct 2025 12:25:56 +0200 Message-ID: <20251006102743.3907-2-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com> References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|SA0PR12MB4446:EE_ X-MS-Office365-Filtering-Correlation-Id: ede5ef36-146c-4e2c-378a-08de04c3102a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?d/e9+S8y8YLomlTBMo3qG8Pg49daU/DIo/BrMXF86TZW0/Yl6aS++9u33QZi?= =?us-ascii?Q?lz/F3YmQGDUwMPVbu2jpX2m1Z0aFNnp6tU+pPPIaPFOhnhZWMTt92foexzSN?= =?us-ascii?Q?O308M/DTF0qZoyJ5BjM6L0OdITp7/oG1E5rrGHBW463CdD1+5dVsmVLEI0sz?= =?us-ascii?Q?Bif7Lf9s0ByTLPkKYzTRffraKoJxWXPGy2FgoYc+xVoGEQT8eSOrgXJWahuc?= =?us-ascii?Q?ZNw5KbRvw5tW/I1Ecb2RPJ0J0+ey3uq8rVzWNc1VQ0dA+kDqtfSHuqt2v3Br?= =?us-ascii?Q?1AHUWAsKSdUaEVkKQeJqJq6wddebEggcV0+1kzzl2oX2WTMJmMHd7TF2SwSe?= =?us-ascii?Q?90BHivIH57Jv730ZiQ+ka4Kcu6RZ2k2KXLy9/05GpnUjKFwFrMtoAw7OU8nZ?= =?us-ascii?Q?cZH6qbqftYo+So3TANf4cOEgMx2s4wzD/GaUG+xe+hZ+HJWT3Qx3UDF1Ar8Q?= =?us-ascii?Q?5evkJeolBSzH3d2iPfzOAHZ9aATA6nfHqz1i322gPyq9IL5ceh9+7P/dYw6q?= =?us-ascii?Q?NGWypnRp/dDOA6Syac/EhEVfoc8u1leKJRrHCM8RpleY/f4A0VEYo4jDpuZX?= =?us-ascii?Q?lsLoPPwDnLecRvtqWqsiHQKnxj+nSlF/ZbexRFTUlYCAgK8xJfuaMqwGDXZO?= =?us-ascii?Q?GqIR/qfzb0GHbYLdIbHkmtlWbT4UiWAF9ywDObVR+ERU7ZOXg93uormLX+hV?= =?us-ascii?Q?E6IWNNg2XDBVUTja6oPuQhKsex8SZtMPZN/+bPy2mrcVYvOGeSt/apxJQNt4?= =?us-ascii?Q?eMwY3hN2kNN9FUVXNfvRWqDIJ/cqpOkGwY44zAMB5Aayh396RDfrtNtvRRta?= =?us-ascii?Q?ORIY8DkX+XrIk1L2JFTXjN0EOkdtPtV50G8yEiPYDQ6hiwk08+3jQ3lpDXj8?= =?us-ascii?Q?AA78A1lHZUcmXYZDvO8t8eYEveziFK4EJ2Pd9hbVs0crWF8VZaiL2YkSBMCR?= =?us-ascii?Q?MFzOjF1hodcy+2aVZjiG1ETbCbUU+jMQghXbnDE1H3qQFYx4GAbV6aAYprDR?= =?us-ascii?Q?Wv+VECw+VHtJc4nCwxqbjGJTg5hUtKKjhSJ0JhoofGSVxf1ArKz+MliOGVOE?= =?us-ascii?Q?w4abEBjAfJXC3hHPiKatNx5nhSra8uZZpmszJTksRpyI7jPl+THicBjK02Rg?= =?us-ascii?Q?Jebz+rMuI35n/reCtEpRw+j1wAHM422mpwm2mVoqd0WT1gCsfuJIV6wmdIMn?= =?us-ascii?Q?LywFrxf6tXfFJHBoRXlBozmB7Dx57YxJ012+fNMsULvdCyXB9M384jNJKGKn?= =?us-ascii?Q?viNDkfG1bk3SjEtho7e54diMlxtv5lPvIUGtJrxQ480nS4ImfzRIt8HHdORc?= =?us-ascii?Q?sfEoObxxnjb77feXC8D1m4IoOOqIkixgrFbz/R8R7UiUC3h02n6ILs4sDoUA?= =?us-ascii?Q?43L8+OzkwBmhOjE29V/1gMHC3bW/H8A1bzF8g+ewXWG5cwkk07LLBisK4UBh?= =?us-ascii?Q?sjmJrbxGu75RMzOpimCZIyBXbZFPrUZIfOWLeHt+RhW86etZpJZV3ETtBGHR?= =?us-ascii?Q?R9knYUqqmPgamaxydBFrI1nlTbOrwBffbT+Y1GTk1d/7YDZv0LVlKSfmzmi1?= =?us-ascii?Q?vs8BtMQIPvccDsA9v74=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:16.8193 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ede5ef36-146c-4e2c-378a-08de04c3102a 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: MWH0EPF000971E6.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4446 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1759746536290116600 Content-Type: text/plain; charset="utf-8" If Xen isn't detected on CPUID, then: * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug. * Register COM1 as an output callback. * Attempt a QEMU exit via the ISA debug exit device This patch enables running XTF on QEMU-TCG/KVM out of the box. And a minor tweaks to set up baud rate make it work on real hardware too. Signed-off-by: Alejandro Vallejo --- v3: * Introduce cpu_has_xen. To be used in next patch to skip issuing a hypercall when Xen ain't there. --- arch/x86/include/arch/cpuid.h | 2 ++ arch/x86/setup.c | 55 +++++++++++++++++++++++++---------- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/arch/x86/include/arch/cpuid.h b/arch/x86/include/arch/cpuid.h index 364b0b4..518aaf2 100644 --- a/arch/x86/include/arch/cpuid.h +++ b/arch/x86/include/arch/cpuid.h @@ -101,6 +101,8 @@ static inline bool cpu_has(unsigned int feature) =20 #define cpu_has_rtm_always_abort cpu_has(X86_FEATURE_RTM_ALWAYS_ABORT) =20 +extern bool cpu_has_xen; + #endif /* XTF_X86_CPUID_H */ =20 /* diff --git a/arch/x86/setup.c b/arch/x86/setup.c index ba6f9c3..929d8aa 100644 --- a/arch/x86/setup.c +++ b/arch/x86/setup.c @@ -26,6 +26,7 @@ enum x86_vendor x86_vendor; unsigned int max_leaf, max_extd_leaf; unsigned int x86_family, x86_model, x86_stepping; unsigned int maxphysaddr, maxvirtaddr; +bool cpu_has_xen =3D IS_DEFINED(CONFIG_PV); =20 const char environment_description[] =3D ENVIRONMENT_DESCRIPTION; =20 @@ -102,12 +103,13 @@ static void collect_cpuid(cpuid_count_fn_t cpuid_fn) * Find the Xen CPUID leaves. They may be at 0x4000_0000, or at 0x4000_01= 00 * if Xen is e.g. providing a viridian interface to the guest too. */ -static unsigned int find_xen_leaves(void) +static unsigned int find_xen_leaves(bool assert_found) { +#define XEN_LEAVES_NOT_FOUND (-1U) static unsigned int leaves; =20 if ( leaves ) - return leaves; + goto out; =20 for ( unsigned int l =3D XEN_CPUID_FIRST_LEAF; l < XEN_CPUID_FIRST_LEAF + 0x10000; l +=3D 0x100 ) @@ -122,11 +124,19 @@ static unsigned int find_xen_leaves(void) ((eax - l) >=3D 2) ) { leaves =3D l; + cpu_has_xen =3D true; + return l; } } =20 - panic("Unable to locate Xen CPUID leaves\n"); + leaves =3D XEN_LEAVES_NOT_FOUND; + +out: + if ( assert_found && (leaves =3D=3D XEN_LEAVES_NOT_FOUND) ) + panic("Unable to locate Xen CPUID leaves\n"); + + return leaves; } =20 /* @@ -140,7 +150,7 @@ static void init_hypercalls(void) if ( IS_DEFINED(CONFIG_HVM) ) { uint32_t eax, ebx, ecx, edx; - unsigned int base =3D find_xen_leaves(); + unsigned int base =3D find_xen_leaves(true); =20 cpuid(base + 2, &eax, &ebx, &ecx, &edx); wrmsr(ebx, _u(hypercall_page)); @@ -248,6 +258,11 @@ static void qemu_console_write(const char *buf, size_t= len) rep_outsb(buf, len, 0x12); } =20 +static void com1_console_write(const char *buf, size_t len) +{ + rep_outsb(buf, len, 0x3f8); +} + static void xen_console_write(const char *buf, size_t len) { hypercall_console_write(buf, len); @@ -255,10 +270,17 @@ static void xen_console_write(const char *buf, size_t= len) =20 void arch_setup(void) { - if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info ) - register_console_callback(qemu_console_write); + find_xen_leaves(IS_DEFINED(CONFIG_PV)); + + if ( cpu_has_xen ) + { + if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info ) + register_console_callback(qemu_console_write); =20 - register_console_callback(xen_console_write); + register_console_callback(xen_console_write); + } + else + register_console_callback(com1_console_write); =20 collect_cpuid(IS_DEFINED(CONFIG_PV) ? pv_cpuid_count : cpuid_count); =20 @@ -266,15 +288,18 @@ void arch_setup(void) =20 arch_init_traps(); =20 - init_hypercalls(); - - if ( !is_initdomain() ) + if ( cpu_has_xen ) { - setup_pv_console(); - setup_xenbus(); - } + init_hypercalls(); =20 - map_shared_info(); + if ( !is_initdomain() ) + { + setup_pv_console(); + setup_xenbus(); + } + + map_shared_info(); + } } =20 int arch_get_domid(void) @@ -282,7 +307,7 @@ int arch_get_domid(void) if ( IS_DEFINED(CONFIG_HVM) ) { uint32_t eax, ebx, ecx, edx; - unsigned int base =3D find_xen_leaves(); + unsigned int base =3D find_xen_leaves(true); =20 cpuid_count(base + 4, 0, &eax, &ebx, &ecx, &edx); =20 --=20 2.43.0 From nobody Thu Oct 30 18:40:01 2025 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=1759746529; cv=pass; d=zohomail.com; s=zohoarc; b=Ge4RTh9zPAQMIDKVmBmT53YB3IdcUuJDJlEehNul1Mog5kWmEi5TRBrhM/cRq6PWulkig35MopcCcaeoVPhuFEE5KMFWpoGJcJ/Uwx3KFPiWwvIX3UBNGxgMsEyVRZM8FQCPt2Ek2CPeHzxszC2KWGAP5DVquRNY/RUYTFBGQEQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759746529; 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=DSMzU7bE9Ybv33ngMzEle9ovbrOIGUbmOQRWhev2j/E=; b=AlJNiu3rTZ+bg7HPRWW1RD97EM/38qg4J9abEHh2KS6udFlGeie+acyWVBfadNvvUWn+hboqaa1IPacEcr7WbWwVKfaCRrfPqWBY6ZJVUKuHkVdDAF/evpXr5MD53VYEc64molduGmDST/mUr073pDTN7TNxQ7d+3XXLO3p2iPA= 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 1759746529240492.52994455708006; Mon, 6 Oct 2025 03:28:49 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1138043.1473835 (Exim 4.92) (envelope-from ) id 1v5iSI-0002OK-8r; Mon, 06 Oct 2025 10:28:34 +0000 Received: by outflank-mailman (output) from mailman id 1138043.1473835; Mon, 06 Oct 2025 10:28:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1v5iSI-0002MW-4Z; Mon, 06 Oct 2025 10:28:34 +0000 Received: by outflank-mailman (input) for mailman id 1138043; Mon, 06 Oct 2025 10:28:33 +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 1v5iSH-00025a-7T for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:33 +0000 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazlp170100005.outbound.protection.outlook.com [2a01:111:f403:c112::5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 33543ef6-a29f-11f0-9809-7dc792cee155; Mon, 06 Oct 2025 12:28:29 +0200 (CEST) Received: from SJ0PR03CA0001.namprd03.prod.outlook.com (2603:10b6:a03:33a::6) by CY8PR12MB7434.namprd12.prod.outlook.com (2603:10b6:930:52::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct 2025 10:28:19 +0000 Received: from MWH0EPF000971E6.namprd02.prod.outlook.com (2603:10b6:a03:33a:cafe::25) by SJ0PR03CA0001.outlook.office365.com (2603:10b6:a03:33a::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon, 6 Oct 2025 10:28:18 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:18 +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; Mon, 6 Oct 2025 03:28:16 -0700 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: 33543ef6-a29f-11f0-9809-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lmqMdHAebE65e2OZo9Mp0GK4Wp8qf63mIsVuXqvigxjnHsGOdKo9Xyqf+H0zgk4KPvGfGCRVZGCTH2vNBf55su9Yl66fCmfqHrHr+ttmn33RH/iarXFoACyVAtGbtf5BsUAijf5RWJWLMeuhS5tjYfdYevlIjCXC6ZSU6PLSbQDBtUMPeQN+bJcuedomh4nOfJXkqr97xpVGp+taIevXD3ytwRWLF7DAIZ9qkNF1xCmvTcIXtxCCOnhHn51Dvp3IInjqxOsKinJrc5Y2W4jPbiikGaECNoPxb+jttnaLvB3m+qPzFnTrzpjbNcbvlFTj7+0se4o7XaBAKxLi8h8puw== 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=DSMzU7bE9Ybv33ngMzEle9ovbrOIGUbmOQRWhev2j/E=; b=W24zH/ouXqpeCu1L2X1YyWtXZFnsnq2i5T7v6EyidsPXNUVkNgx6lT3kKU9ogKFn8hqDyvuY3nE+pSKPkBY1hLqYASmrxSNiqrqLw6uEVyddb4BJX7XVDC+fVqyCmY5KUUTf6hXYZjhuwa/n3q59RKdNcsxZD4gQt496cpdlB9pZ1IKiaLfbEDAMj/jQpmYbDqJpPX+lJoDoTN2nEkR/GZecj9Ixg1UVccDvR6+/Gvlu5MscsHPP56MORoDc4d0o/xGZIjjU2qFB6LqoLAdWmj0vmpOT2bkPV/6sHKZWuNgIeodKnS0R77wmSRxps7CUt6fPvj6+GyilHEao+HRQCg== 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=DSMzU7bE9Ybv33ngMzEle9ovbrOIGUbmOQRWhev2j/E=; b=zPuky1Ry+OIwhDk/sKkdtt0xsUXZq6LVoafqB2m1luYQ9JQehhXlNGXM/DK4eXNaU64Kb2Yc8t+mIlgOLxLkdvP8mNCJ4zjLNAaSeisuKL2wkRHrwv/Sc3HOT4crmkPgUdlqRv3oOEIWn3kgK4cteW8bjSV5Wkd8Jjw5+qqwBls= 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 (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 , Andrew Cooper , Roger Pau Monne Subject: [XTF PATCH v3 2/3] x86: Allow exiting QEMU in TCG/QEMU Date: Mon, 6 Oct 2025 12:25:57 +0200 Message-ID: <20251006102743.3907-3-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com> References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|CY8PR12MB7434:EE_ X-MS-Office365-Filtering-Correlation-Id: 5cf96bea-961d-4947-ce96-08de04c3112b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lPVSfregYQdKMjoxBTBXZcFvwxBfjxFiaP1yhXu2wdes/1YRUswAwo71mG15?= =?us-ascii?Q?FVtPKXEbxDUTKnDgYEkfF4DEIEeI++ADH+MmNmjkSxBSTm09OXAELYA6dceY?= =?us-ascii?Q?mHEvqYppMWYML3BOvMtts1VMR1tekpPYCJW4pwx9m/p5Y06JUho2dBG6thP5?= =?us-ascii?Q?pn2OiNB9wd5Zl82lG2WAw8ThOqvdcgU0AlcKQOilK0n3UeshFciSLSWPuEJG?= =?us-ascii?Q?v2sj6JEli35/KVH70+XfSSHWJB+L1KeRTVVCUREiURllMlEVzCCrocGJPQoJ?= =?us-ascii?Q?Xzqk8qbV11D5I/Wg3qAG/zHPgv2gTgVK/y3XVlAlwKLREPtwfyVI8gcnHy8+?= =?us-ascii?Q?cSgVh0b8XuiQURhDkxIQYI1sDWSCLlDBTn5bu3ZN2xGkqpsrcMeZs//3ADmF?= =?us-ascii?Q?EiR7m6NmBQzRsyZzIAYoG5/xT51JiUjotjNhaYg09ObzUlCsscnXSC453eMh?= =?us-ascii?Q?OjoXuVFbL+wZT/ppncr0k3oGEFsP47/PLwweNgpsa8JM47GWK3u9xWtrXVmp?= =?us-ascii?Q?pDjbIu4cic62YISbPHo/hHsG/cyv3cVBN119S0svFQ6LSvEQ7ljLLWGGvqcs?= =?us-ascii?Q?GpEyd6RSDYLAuEVw2dWm5eFAWfp5CAl7WsI0zd1B5cNjDCUbjYPpSgTp3s+E?= =?us-ascii?Q?uT97ROty1KOcIl98NrtGa/pSZm89TijOlKDQqjIwbBbxlEOwoqQBaNKpyxrC?= =?us-ascii?Q?8MhENpF0oZw8kcb9wJokejbBmzUpe27EjudR1bTsJPXEHhzJjdS9wu8ff7IS?= =?us-ascii?Q?eBP38EADxPM+78c+6hCmZ7qQk0cz+tpPbLwbF/OgL0Z27UvYySH5m3usEiDT?= =?us-ascii?Q?lcuaxPjGc9og/2M3RsiCggy7X54TOX9AhTnisnKNkntcdUKQNjHxyoaN1jLS?= =?us-ascii?Q?2zafjPmuyYxNoEU9MCN6sVJOCI5Iwz5yxePRtt75FeD1TQ7CX66EYrPPI6A7?= =?us-ascii?Q?29uwh9hGmosCIf7zexWZhjJxn3Lx1ncnWJZISDX7Mi0zS1Y7eIDqLWONKqoO?= =?us-ascii?Q?pj8XI3WAsKmiLgktvTUY359a0jf+zIsZ+2XDNhPW++b4CYokqRpT6D0WHrAj?= =?us-ascii?Q?5dnZ56s9d1Q31QcZFds61W3/BDBBDJ+HFtNGFlMPQqWvIGCBTVmX2VTd14Kq?= =?us-ascii?Q?KZpBTuU/E7/WKrgfXDkcCblcaAlFVUFKrOrMc4RJa5JntWN1KmaaHTCaH6cu?= =?us-ascii?Q?3CRIc3+C86BpuGC/mU2T5IuTgoB2KdLD5prq8qq6+psCJil/CfxnZF2LEPOf?= =?us-ascii?Q?ZYx5+rd+5dXGVThz6haTYGYTeAYZS+JRKK1MQ7dJ9pIAoFKePdyIMTJLKQe6?= =?us-ascii?Q?wsNg1K4GlQJ5PDsNx4w5/m5fRqNnQp5TnZadRxFbsvZHVtql7Dr7yuhZa4uH?= =?us-ascii?Q?X3j4SXIE4hWKOt2+srXDAOVuFptUPaob9av2TjRj2hb2OU1Cx7u1rnBpnsZC?= =?us-ascii?Q?kQvl3DejQe0Wa2ConBuETIh7tV+5cijPK6o+5cXm01YrvLexkWny6ZYn2sb7?= =?us-ascii?Q?30KPbD4DWBe/PEyFsdWomhsJW32w2S/97lSZs9Xs149J+eUMO3l7iI0No/lT?= =?us-ascii?Q?5ct9M/dGhy8PQWqSkLI=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:18.5067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5cf96bea-961d-4947-ce96-08de04c3112b 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: MWH0EPF000971E6.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7434 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1759746534598116600 Content-Type: text/plain; charset="utf-8" If QEMU has a debug isa-debug-exit device, we can simply write to it to exit rather than spinning after a failed hypercall. There's nothing to signal its existence, so it's a best-effort write after a shutdown attempt via hypercall. Signed-off-by: Alejandro Vallejo --- v3: * Moved arch_shutdown() from HVM/PV folders to arch/x86/traps.c There's nothing terribly specific about it. * Gated calling hypercall_shutdown() on cpu_has_xen being set --- arch/x86/traps.c | 15 +++++++++++++++ common/lib.c | 2 +- common/report.c | 8 +++++--- include/xtf/framework.h | 3 +++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/arch/x86/traps.c b/arch/x86/traps.c index 1f82752..b530719 100644 --- a/arch/x86/traps.c +++ b/arch/x86/traps.c @@ -80,6 +80,21 @@ void __weak do_evtchn(struct cpu_regs *regs) panic("Unhandled evtchn upcall\n"); } =20 +void arch_shutdown(unsigned int reason) +{ + if ( cpu_has_xen ) + hypercall_shutdown(reason); + + /* + * Not running under Xen. Attempt exit via the QEMU ISA debug exit dev= ice on + * its default port. + * + * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is set. + */ + if ( IS_DEFINED(CONFIG_HVM) ) + outb(reason, 0x501); +} + /* * Local variables: * mode: C diff --git a/common/lib.c b/common/lib.c index 7f1813f..f4de22e 100644 --- a/common/lib.c +++ b/common/lib.c @@ -25,7 +25,7 @@ void __noreturn panic(const char *fmt, ...) =20 printk("******************************\n"); =20 - hypercall_shutdown(SHUTDOWN_crash); + arch_shutdown(SHUTDOWN_crash); arch_crash_hard(); } =20 diff --git a/common/report.c b/common/report.c index ffdf098..158876e 100644 --- a/common/report.c +++ b/common/report.c @@ -1,6 +1,8 @@ +#include #include #include -#include + +#include =20 enum test_status { STATUS_RUNNING, /**< Test not yet completed. */ @@ -124,8 +126,8 @@ bool xtf_status_reported(void) void xtf_exit(void) { xtf_report_status(); - hypercall_shutdown(SHUTDOWN_poweroff); - panic("xtf_exit(): hypercall_shutdown(SHUTDOWN_poweroff) returned\n"); + arch_shutdown(SHUTDOWN_poweroff); + panic("xtf_exit(): arch_shutdown(SHUTDOWN_poweroff) returned\n"); } =20 /* diff --git a/include/xtf/framework.h b/include/xtf/framework.h index 95de195..e852882 100644 --- a/include/xtf/framework.h +++ b/include/xtf/framework.h @@ -16,6 +16,9 @@ void arch_setup(void); /* Set up test-specific configuration. */ void test_setup(void); =20 +/* Stop the machine. See SHUTDOWN_poweroff et al for reasons */ +void arch_shutdown(unsigned int reason); + /* * In the case that normal shutdown actions have failed, contain execution= as * best as possible. --=20 2.43.0 From nobody Thu Oct 30 18:40:01 2025 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=1759746531; cv=pass; d=zohomail.com; s=zohoarc; b=SmBiWB9IGu2Y7rKXdvjIohd7TkgWps5zggRKSkCw0T7mr4UR17a9XM8MMtpS5chWSYJa2JPKA2ol9JEgZeVZfXwODaK7qBm0BDa+aseD/zmafixmBSPGpku/gcbbRvbkoeQlFbSj5pRrKwI8Uh7I2vr6J0cjx6bK9vKFi/jgAyM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759746531; 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=XsMXiiGH9rBLvTUq/4/suDkB8nbjPOIgBDGiIXrKsHk=; b=gFI3JBY+IyuZGsmOmHKhr9cSRSK8xE1MXz3VKFvLMqpTjvmwbmT1EWI5X1hgXFNKU6j7nWThSwtSokwKu5+pRj36PcrCHfyIRc50Bt0A30GN/IcQO7ZpZSHb7OlQx6qbua17roispGOyUr94SCKFH4M6znDi3z1Gk295ooLcs/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 1759746531544880.0686523340353; Mon, 6 Oct 2025 03:28:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1138040.1473820 (Exim 4.92) (envelope-from ) id 1v5iSF-00025w-Q2; Mon, 06 Oct 2025 10:28:31 +0000 Received: by outflank-mailman (output) from mailman id 1138040.1473820; Mon, 06 Oct 2025 10:28:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1v5iSF-00025p-Mv; Mon, 06 Oct 2025 10:28:31 +0000 Received: by outflank-mailman (input) for mailman id 1138040; Mon, 06 Oct 2025 10:28:31 +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 1v5iSF-0001qe-4j for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:31 +0000 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazlp17011000f.outbound.protection.outlook.com [2a01:111:f403:c100::f]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 335bf249-a29f-11f0-9d15-b5c5bf9af7f9; Mon, 06 Oct 2025 12:28:30 +0200 (CEST) Received: from SJ0PR03CA0047.namprd03.prod.outlook.com (2603:10b6:a03:33e::22) by SA5PPFE3F7EF2AE.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8e6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9137.19; Mon, 6 Oct 2025 10:28:20 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:a03:33e:cafe::e5) by SJ0PR03CA0047.outlook.office365.com (2603:10b6:a03:33e::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon, 6 Oct 2025 10:28:13 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:18 +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; Mon, 6 Oct 2025 03:28:17 -0700 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: 335bf249-a29f-11f0-9d15-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yvv71YbjrflPt61bq808CArG9Za1bW8/8dXChAHkzUJX92OFcxFY6u/79QFuOBBAfO1nOXgjIN169C4F8n9IktRC0e705qvGM66qId3rHSHnZY/X/Tyq2QW7s9ys+CUN2+PQSXS7MkIZ7+3n2k5tU0UKJj1iwCwjEocqyj94S8rKfd9lOOSQ4Tt3/GbP7bTN8paTkQl8dULpP7KFU9KxigrVEJoMtXBAupM69jomTyfffZMFbAowKRzgQ6EhPK5huXn5TTuGLv8WpbYX1rYW1kRAaa2WMVoMcKTp0OjOetXtho3uNsjBTMsPQhh4KCG9ni05WuhlAcyv/pFqmJ1F1w== 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=XsMXiiGH9rBLvTUq/4/suDkB8nbjPOIgBDGiIXrKsHk=; b=p9UKVgyqkaa0n5S0/CXrGRFAl2IUmq4wmR8St4I7/siXXcaR1JeN9x8UJCIMUFiaWEy/G6hJNhQ7SCBnkjrL/6TwwS9CPUPDVaq1d+IJSwTDkcSp8edzJg8LZCX3YhnNyhUAjkz30XSygfRKzxsTTPPReJ//oeCsJmkuf22jMdIWAxHzko+ygBC9ND/Ohbrn73HYHthY2JjF9LNbm6AP1MAdtfnSFZclu2xsDsNVLiVNK07MQoCr0sLjJ4ESllZMwQw85ywOLAVm6coEcJCkUr4GcTG5bPZEeZ6xtrqE186ayjc79c1FyOdj6Ic4G1M1YRQFf3SYPU40WVB4KWljXA== 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=XsMXiiGH9rBLvTUq/4/suDkB8nbjPOIgBDGiIXrKsHk=; b=kT4ZJdM/FnBmYfvZ4l4i9hCoDxCoFZyPOoJ5QLK44z6Mler7oQHSMRtCrb4klcx+fYJPWTvbNvsCNq8917Ubg/mj5omt6r1g2geIXSeSbypqOIA5No7pL4+v2UMFAeiPnjOcGdVbwi8pANUMyt8wEeGLuQo2fBEgjpwBGgWlauo= 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 (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 , Andrew Cooper , Roger Pau Monne Subject: [XTF PATCH v3 3/3] x86: Poison hypercall page with `int3` rather than `ret` Date: Mon, 6 Oct 2025 12:25:58 +0200 Message-ID: <20251006102743.3907-4-alejandro.garciavallejo@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com> References: <20251006102743.3907-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: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|SA5PPFE3F7EF2AE:EE_ X-MS-Office365-Filtering-Correlation-Id: a0212e3d-5bfa-4b0c-1871-08de04c31159 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VXJsM1M5YlcvNTlYazBIdzJKUEFqY0xyOHMzTk9TWGpQbzRrZS9UQ2VzNHRD?= =?utf-8?B?ZUFwQ2tzS2pFMU1HVDZDNGdVUE1oSVUzdGVUaGZ5cStSblVJSlNiS2k1SWla?= =?utf-8?B?WFpoRTY5c2ZOUWJLU2tpRVFCb2lKUEtXMlFFZmMzUEtwME9MZzFOS0ZyeDRq?= =?utf-8?B?cmxhS29XZmVsdWY4L2VYOWF5UTRKbTZjTno2MDZYUmtZZVNuWWw3Q0RMQTlY?= =?utf-8?B?RHhzSjBqSEw2Y3U5TXdNT2g1aThOZWxxZGU5RWtTdFMyZnExQndCQWhxSUsr?= =?utf-8?B?b1NFL2x1ejlMU2hDZjhoYVljbVB3Y0MreFJVZlFsbjdQMElaa2VDa25JdUp1?= =?utf-8?B?NWREdlpEWG5sT1Q4S3J6Zm4xQURTT2lTb29GZldhVnRReTBwc1hPdlFRaVpt?= =?utf-8?B?ZWl6L2hXSzRQVmxOM1AvQjFrZDBpNEUxeE5GcCtrUGxRdXg1NW9Td3NBVXVv?= =?utf-8?B?SU03TzQzLzZDY05DTEhubTdUMjBPVlZ0eXZwbFl5Njh2Wm14TWVCZ3U2c2lw?= =?utf-8?B?bFdZclBaTmEweDFYVGpiT2xzUkN6WEpXclhUT293REIwanEwZElPYVgvQmow?= =?utf-8?B?Mi9jZTRreTkwM1R4OFhuTXZjQjFpV1dJbkZ3UkNMcGd1aUJ5ckhKRFR1aEZ1?= =?utf-8?B?RXI2WjhScjU2d0VIYk91VWpZOCs5T3JmdktsRHNHTzFWeHowN0tzTEc5WC9y?= =?utf-8?B?VHlrNURSV2IvUjFhclo0QitnNFpBRkdxOWhwUFNmWUZRdlRyV1JydGxFbit4?= =?utf-8?B?T3diYis1eXVpS0YvTmpBZ3AwVU1BZE1yUXZPSWlpNEo3VDhFbnU0Z2VtWDlr?= =?utf-8?B?Y3RqZGhTOE5ROW5tN2RHT1pydGlPeUpaU0ZqaDhSOHhWbmZST1FORUxxT1Bj?= =?utf-8?B?OGFyQXZ3aGxlUmxZTmU2MzZkK3hBc09RcndMUmY1allUVm4rVHVMbmtRc3B1?= =?utf-8?B?SVdydTJXUlViQXlPelhYaHpYbWdET2ZSWXp1TXIvcitWckFPM052UERWblFv?= =?utf-8?B?LzVhZ1N0NVh2dVNGZUxSV1RJWk0vdG1aMnU2U2VjK2QvY0xlOXhUMzlIVFJy?= =?utf-8?B?R2p6YlM1T1FRZHlEN1ZTVTJNYW8zUzQwUUJUUmxRT2E4SFp2MG1zZ1ZxR0FT?= =?utf-8?B?c2p6QTByTFpRdTZ2VTY3QitpdUZVYlhndVQ5cS9JMmgvQ2ZrT3VITEhjbVFh?= =?utf-8?B?L0hyOFhaLzlmZlFNbFI5SUJYbnJRUWh3VVlvaVBwaUZNdngxZkhJSUQ1OWRI?= =?utf-8?B?NmtlNHBTT0E3Z3JUd2ZudTg2K3YxWGJxNGVhVEk1c3NVeVN1VWZvdCtZSERV?= =?utf-8?B?RXplQ3pSZVRJUSs4a2dJUXN1MHNHZGJsN0JreG9Ya1pTNHpNUVlISDRoajcw?= =?utf-8?B?d0V6QnhvQ2YvdEVuRzdHc0k1NFMrZWxmZDg2ZmE2V0FoZDBsNXhucHdXcTYr?= =?utf-8?B?Mk43UVRVZkNxS1hNQVR0Ujk3dEpTU2FmMU1FUXhSL1FQb3ZBTlBRZXpsckc1?= =?utf-8?B?b1BDRWltVVM2MVh0MWpnb2FZWmwyWk1wSEkxc05nQk91cmYvVUdialVlVjdr?= =?utf-8?B?TklXRklVelpnejdFOXBOK1ZEZkh1MzJlSjBySjhITXZONzdnZ1dtZEt2SnZ2?= =?utf-8?B?SUZLYkREQ3pVSlJVNHBVTTlOcERlZFdZU09nY0JoWStzekZXQ2pVMVJodzJQ?= =?utf-8?B?bHB3ZnQ5Z3VOcmdRVVJPdXF3R3lBTWwrem1NK1VOSlF3VDhLRXdsWlp0QXBm?= =?utf-8?B?S1F0MzNudEhncllQVTVWemFmbTRHN044WStUZkYwVS9ha3N2TkJkaU1QVjdH?= =?utf-8?B?aFNORjZnUFVZeTVycWN3TW9tTU1VR0R4eVJMQmhNaXJiUEhWVzUyK3F2MzNp?= =?utf-8?B?Z0JlOUxKWUw5UktRQW12Mys2QmlNTXlEVFkxeDgxWnZWbHhEc0NZaUtyaU5P?= =?utf-8?B?Tkc0K2Vwc1o0RE5JWm9ORGx4cmltenVvQWFndm5EUlFjbDZoR201dXlxTEJr?= =?utf-8?B?dEhZb0hGdHJQUFVnVlMwcTJ3ZlYySW90MU5SVjIwUy9WZXM3WVNrcFZ2R2Zt?= =?utf-8?B?SVgrei9Vd3F4YW95Y3d4TlROaW5pYkdRdVI3Ti8rdXVXanY4R2t5VEFERUx2?= =?utf-8?Q?ipJE=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:18.8052 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0212e3d-5bfa-4b0c-1871-08de04c31159 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: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFE3F7EF2AE X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1759746532420116600 Making a hypercall with the hypercall page absent should not have a happy ending. At best it's just weird, but at worst it might allow an otherwise failing test to pass. Suggested-by: Roger Pau Monn=C3=A9 Signed-off-by: Alejandro Vallejo --- `./xtf-runner -a` passes v3: * New patch based on Roger's suggestion --- arch/x86/hypercall_page.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/hypercall_page.S b/arch/x86/hypercall_page.S index cc6ddc2..de0a991 100644 --- a/arch/x86/hypercall_page.S +++ b/arch/x86/hypercall_page.S @@ -6,8 +6,8 @@ .p2align PAGE_SHIFT =20 GLOBAL(hypercall_page) - /* Poisoned with `ret` for safety before hypercalls are set up. */ - .fill PAGE_SIZE, 1, 0xc3 + /* Poisoned with `int3` so a stray hypercall is patently clear */ + .fill PAGE_SIZE, 1, 0xcc .type hypercall_page, STT_OBJECT .size hypercall_page, PAGE_SIZE =20 --=20 2.43.0