From nobody Fri Oct 31 03:56:57 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=1752700980; cv=pass; d=zohomail.com; s=zohoarc; b=mbjIeFBviQMYU4IZm6n6dL0WIfiOAM350crP0f2490VKrnylO/uflJN3mukX21iMVTYNGNgI/PKQH1RNbrnG5bSF/dWAMeUhY62ZsErLoKPU0UicsUXCF7I+zESIdpSfJ2tA7RWbcliSm7edlaTNjBV7r8rYbV3BT8xOpYkEUBA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752700980; 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=TXtpVXAytLx8JwHV5FurFJ6G8JTrFaKMclbVblfR9J4=; b=J+P1enGatMfBNjSv+qssZfiQh5Hh3AiIaW86dha0aw4V545MiASfiDaoMAGb1J4vrptLO6M/ZVczmURiq5FbGE/uev7JH2kpoEHFU16mcKsjbA59yRIBnPkw4ZV5mPjY5vprzSWJ31ljso4D0RJ0B4fOVHbF2hOhvpkiD3OQAeA= 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 1752700980463183.4999828275378; Wed, 16 Jul 2025 14:23:00 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1045785.1416070 (Exim 4.92) (envelope-from ) id 1uc9aI-0001Ya-HQ; Wed, 16 Jul 2025 21:22:38 +0000 Received: by outflank-mailman (output) from mailman id 1045785.1416070; Wed, 16 Jul 2025 21:22:38 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uc9aH-0001Tw-OW; Wed, 16 Jul 2025 21:22:37 +0000 Received: by outflank-mailman (input) for mailman id 1045785; Wed, 16 Jul 2025 21:22:34 +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 1uc9aD-0007F7-Tq for xen-devel@lists.xenproject.org; Wed, 16 Jul 2025 21:22:33 +0000 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on20618.outbound.protection.outlook.com [2a01:111:f403:2405::618]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id fa4b727b-628a-11f0-a319-13f23c93f187; Wed, 16 Jul 2025 23:22:30 +0200 (CEST) Received: from DM6PR07CA0101.namprd07.prod.outlook.com (2603:10b6:5:337::34) by IA0PR12MB9047.namprd12.prod.outlook.com (2603:10b6:208:402::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.33; Wed, 16 Jul 2025 21:22:25 +0000 Received: from DS3PEPF000099D8.namprd04.prod.outlook.com (2603:10b6:5:337:cafe::b3) by DM6PR07CA0101.outlook.office365.com (2603:10b6:5:337::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8943.20 via Frontend Transport; Wed, 16 Jul 2025 21:22:24 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by DS3PEPF000099D8.mail.protection.outlook.com (10.167.17.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8943.21 via Frontend Transport; Wed, 16 Jul 2025 21:22:24 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 16 Jul 2025 16:22:19 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 16 Jul 2025 16:22:18 -0500 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: fa4b727b-628a-11f0-a319-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=is3S6P/bC8kRH0yAFaEmbqu9z09yckOIRo4e0MQfkuQHPgF6a5KMtSm4U/1mGjAkzczSaX+TqmrQiGENqSdGxTnGlcl+auJC/TDVZXCXR1MhbDbJ1/BBjiqbm6wmqVqHfKK8yvdLXMWNbS+tvKMVMsq8Uy6FGHcwW+jqJXVwSCzd9x1USYQ/LoHXmZOnzSJEzY7MJHPr9+ikGyuv2IAh/hQsgIFOMPWfmP0JO7ZaIuDaTKP4iHZtkHMdcSmzRMXn2tjsY9e3upKQ0e/tVAZBzZghBuCDgqfqtJAavuwCQ9rrN1+Q+pTufzBaJ6FxV4xhM3WVKZnCtbKQm2nawc/46Q== 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=TXtpVXAytLx8JwHV5FurFJ6G8JTrFaKMclbVblfR9J4=; b=Zu/Es54DIwW+yxyuo1ZNQRE2rFh/OjYpWngK/DRjrd8x09YA7mganBNLq8S6oeu8L51dE7Y/DdwKBeKOipNSSxbf8wfhdx+W41UCx91B/5YhfyajI8nLF3lDdLFk0ODHxr4hZTsf4z4MNDjv30Mm4V9EHbWbqV2l40oulI45eFzV4g0P4IGxvdj2BlbkS5dBQL40KY1JkAheRPKqOR+6p5f2mrSVWExtP5d/yVcAD4TPTdCsFoWQsLNHDCKsfdPDCl9oQLSfig/G+BJlTgSI87RumJxAftOD3SuG2ZBqnWM1M1emxu4tedqTQjUjffE/cNi9vNC/6/9tXGUr4LQb4A== 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=TXtpVXAytLx8JwHV5FurFJ6G8JTrFaKMclbVblfR9J4=; b=F/qy9YyiB7HcSaDyIxoGGrN+aQC7FWLN5NU5qM99+cJYqDu/od3rV9yZzOFatp7FyJK8CZUXP4wPVfC1uEzzS/XIwPYkCqFSs/ePJJUzxhST6nPx2I0ocS5JYjeAOU92guAGmo/DRs+Dn8NNWWODVx3jvmb3IMmZ4hImXBvk4dk= 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=SATLEXMB04.amd.com; pr=C From: Jason Andryuk To: CC: Jason Andryuk , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , "Julien Grall" , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH v2 11/17] xen: Add capabilities to get_domain_state Date: Wed, 16 Jul 2025 17:14:58 -0400 Message-ID: <20250716211504.291104-12-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250716211504.291104-1-jason.andryuk@amd.com> References: <20250716211504.291104-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099D8:EE_|IA0PR12MB9047:EE_ X-MS-Office365-Filtering-Correlation-Id: 54f33946-0cab-4f1e-ed74-08ddc4aedba4 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?xVDddR4KLzFR7je5+RmSi4D8N5Ne1zywZV9bs6VMFz8aLL/7g2CzU0dE6pu4?= =?us-ascii?Q?QSy/7GSj8jEl2Q3ozUoz4fr2qEGBSDdrNxxwd6urh2ti6Lv1VUinEHgTYhCI?= =?us-ascii?Q?mr7+qjTdU+lYEr58lYr1HyDA2kd3ANC/hd+3mgCSO9AAw46rYHTLWGU1CK2l?= =?us-ascii?Q?YJs9vvXQtuupmcMalwAK5gy4fvOKRw/9P/+lKBp4M9Y7uV7loTeKa3e5I5G1?= =?us-ascii?Q?MMfo8cWjBW0hc+4W3O6YsBC3sqh/urlGaAElarZJWCVjDmP1cSQM3bw2+ViM?= =?us-ascii?Q?L5oakJ93FBaFfBKuY77guMdsEYjY6a3I/se56MAmQfCdOJCbL8IexrDco9Yg?= =?us-ascii?Q?WbUqy4djU/5jOhp8hSOVniSaH4F0xelI3WRkyolRln43ijl2VoZgcTBgoMeZ?= =?us-ascii?Q?3ru9gkJkMSpY0QB9tFyN+lAtltg2RJQ8WCFkkPOBLzVUrNHmjry06McSnBp1?= =?us-ascii?Q?gnJH0ohMVIQjftL6z7BeZ49Er/cg2Zn4KHr06VC28wVzWkOCve1R0Yg8mWFK?= =?us-ascii?Q?PdrsjFxJAl1qLkmxKH4rxQ+Dj4h5RlNahs2ILb0XFg0uj6dHwG5qy6cyOAEw?= =?us-ascii?Q?olLQQb1fYxOTIfdMeC84RJScYVWMBi0QfncXdgiNT7uJLYsw4saFy3sf0z91?= =?us-ascii?Q?o6caKj8sAUVQr0qOcKyyyA5O1SEbGeo+2g1ZoMgfqvMgB0ZNsghK/s0aA+nT?= =?us-ascii?Q?z/BGzroxgLd+MCwItMPgG2BmcGCObyK/a5BH2+Ea5wksE3L7VbvXUxDLg/vI?= =?us-ascii?Q?QvhtXTkvkgtltPmFZJeQbNgUWnvpytufbue+/M5YWwfT4LQf+0pOfNcs1L/T?= =?us-ascii?Q?cQavq0BYLyIHsD2hzamcKlgoSQ5ZfHO18YYiilYviodXYzp2vpL0qKlA2aTC?= =?us-ascii?Q?1Gz5pt9zEZeyHTlhbs5XHFly8pTqVu97OHiehQAmu4z9WzpEHOXmEBVxPMXo?= =?us-ascii?Q?MIVhMsqVjiZZ6xGBaTJscVR1DcmJBy2Er74iOipOZHZ/74T+ztn///Tjnbtf?= =?us-ascii?Q?dQ312bU4UetdEDUMd+8qzYAjVWqahzz20qJwfO0TgByTq1ZvZhIiX08W7X87?= =?us-ascii?Q?ZaXcpJbXOOEFGhfX3llR9+mEq2ozhHgCZ/l0eUPWBQFYVaidOAcKqlueSCGI?= =?us-ascii?Q?mx7CrdKlRy9qPYxZlvDMkIcooNk3pRSzdEgOq/nOl8EZutSsAPSXqQXLpZlc?= =?us-ascii?Q?5w3BQq8ZBWuCqpHWD2y8mgUCfH5TqDwYFnYg/+Xrm9HB1rkZKLEaP3mRcR9/?= =?us-ascii?Q?mwHM726xbdCX+5wvt0JBA2/RWqqjbCeI5WU5BHG9snT/865AtJsEtDFhQHBG?= =?us-ascii?Q?2U81GosGLYHzYaJbSNzv27YUVTzkyB8REwGbPOmzznRhfa16d19dtH3qi6XL?= =?us-ascii?Q?FFb22kKm0DjasR1LewQ9BD3klF5r690sVHmozbUq6tzLAc6Fh3wk0pIMxkuR?= =?us-ascii?Q?5suJmliqjHsQF4Fc2yrBdTpy8+grjmi3nTk+vvA220e11k6PD+GaoxFlES7s?= =?us-ascii?Q?pVPWY0eiPcXOpy1G08VmnduU4M9hiLodD995?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 16 Jul 2025 21:22:24.3982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54f33946-0cab-4f1e-ed74-08ddc4aedba4 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099D8.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB9047 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1752700982024116600 Content-Type: text/plain; charset="utf-8" Expose a domain's capabilities - control, hardware or xenstore - through stable get domain state hypercall. The xenstore domain can use this information to assign appropriate permissions on connections. Repurpose the 16bit pad field for this purpose. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- xen/common/domain.c | 8 +++++++- xen/include/public/domctl.h | 7 +++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index c347de4335..8b0151a8f7 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -195,6 +195,12 @@ static void set_domain_state_info(struct xen_domctl_ge= t_domain_state *info, info->state |=3D XEN_DOMCTL_GETDOMSTATE_STATE_DYING; if ( d->is_dying =3D=3D DOMDYING_dead ) info->state |=3D XEN_DOMCTL_GETDOMSTATE_STATE_DEAD; + if ( is_control_domain(d) ) + info->caps |=3D XEN_DOMCTL_GETDOMSTATE_CAP_CONTROL; + if ( is_hardware_domain(d) ) + info->caps |=3D XEN_DOMCTL_GETDOMSTATE_CAP_HARDWARE; + if ( is_xenstore_domain(d) ) + info->caps |=3D XEN_DOMCTL_GETDOMSTATE_CAP_XENSTORE; info->unique_id =3D d->unique_id; } =20 @@ -205,7 +211,7 @@ int get_domain_state(struct xen_domctl_get_domain_state= *info, struct domain *d, int rc =3D -ENOENT; struct domain *hdl; =20 - if ( info->pad0 || info->pad1 ) + if ( info->pad0 ) return -EINVAL; =20 if ( d ) diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index f1f6f96bc2..879343b21d 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -1269,8 +1269,11 @@ struct xen_domctl_get_domain_state { #define XEN_DOMCTL_GETDOMSTATE_STATE_SHUTDOWN 0x0002 /* Shutdown finishe= d. */ #define XEN_DOMCTL_GETDOMSTATE_STATE_DYING 0x0004 /* Domain dying. */ #define XEN_DOMCTL_GETDOMSTATE_STATE_DEAD 0x0008 /* Domain dead. */ - uint16_t pad0; /* Must be 0 on input, returned as 0. */ - uint32_t pad1; /* Must be 0 on input, returned as 0. */ + uint16_t caps; /* Must be 0 on input, returned as 0. */ +#define XEN_DOMCTL_GETDOMSTATE_CAP_CONTROL 0x0001 /* Control domain. = */ +#define XEN_DOMCTL_GETDOMSTATE_CAP_HARDWARE 0x0002 /* Hardware domain.= */ +#define XEN_DOMCTL_GETDOMSTATE_CAP_XENSTORE 0x0004 /* Xenstore domain.= */ + uint32_t pad0; /* Must be 0 on input, returned as 0. */ uint64_t unique_id; /* Unique domain identifier. */ }; =20 --=20 2.50.0