From nobody Thu Oct 30 18:40:02 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=1753487991; cv=pass; d=zohomail.com; s=zohoarc; b=aOmFBZ7BA/tRwwp1jRYetwgRJ9P6l/eVAgbxmTTdJMcB2zgjqKlmFHhoLy5pDoGvU0JSo2kvazG4fLGe28b2AEY9bo+xQ51VyoAA26RWMG7UPsCrzGUWLZex4Iy+x/KuZIY89Oc0S8Ycl9OXG6m4juDGvdWrfjmqTqL/H0Q99vs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753487991; 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=wQE7SFtI6hT+kIWQ8NrT26YUgIJRLT0BB8RPA/WB9bs=; b=W+gtBO6tdfPHUs+G/aE2x7psc9etGiOGcb+rcKeAeBFge+sClHkE5hcwcQok3QFtygSAkWWbdxFBIZkDaV9i9AZ7xdunod7HY6q60tlh2xE076WtJgHCRwpGP4+eHugD1xDkcPieQtJsEkt2cIT3fHqXDrJf2dS6fZYas06H/tA= 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 1753487991532862.0693196129126; Fri, 25 Jul 2025 16:59:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058718.1426228 (Exim 4.92) (envelope-from ) id 1ufSK8-0007nv-1e; Fri, 25 Jul 2025 23:59:36 +0000 Received: by outflank-mailman (output) from mailman id 1058718.1426228; Fri, 25 Jul 2025 23:59:36 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSK7-0007no-TU; Fri, 25 Jul 2025 23:59:35 +0000 Received: by outflank-mailman (input) for mailman id 1058718; Fri, 25 Jul 2025 23:59: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 1ufSK6-00072I-EL for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:34 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2061e.outbound.protection.outlook.com [2a01:111:f403:2009::61e]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 68e3ad12-69b3-11f0-a31e-13f23c93f187; Sat, 26 Jul 2025 01:59:33 +0200 (CEST) Received: from BY5PR17CA0056.namprd17.prod.outlook.com (2603:10b6:a03:167::33) by SN7PR12MB8058.namprd12.prod.outlook.com (2603:10b6:806:348::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.25; Fri, 25 Jul 2025 23:59:28 +0000 Received: from SJ5PEPF0000020A.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::f0) by BY5PR17CA0056.outlook.office365.com (2603:10b6:a03:167::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.22 via Frontend Transport; Fri, 25 Jul 2025 23:59:27 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF0000020A.mail.protection.outlook.com (10.167.244.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:27 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Fri, 25 Jul 2025 18:59:26 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:26 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:25 -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: 68e3ad12-69b3-11f0-a31e-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CyO70a23lTE/qTnTtZIpYHtfSxZEhxBpZ4FwY8fLC0ZhozjMQxls+ZL5/vsMGcv6WVX7wkpT6LGXeUhFoxV5uBKLTA+Rf5duWsES4yjnETW5As2eko0+HmVLdDihmi4SXV1xoomFnOoiAhFfOLkb1hK35fxI3f7gXjhDuWsjHdT9HFdIN4vJowRVOriG+C9GCJEUY1gDYxkq2EafO7/eYCxgGdGFgMHEZa18Jk2c2Yop4YtdAQHyzcUBot0ucHvsAuiLQ3xkXceyVW5ttKAkVmaeID10WeyoLCSz7kHbI7L8LhXJtH+JZJ6lNs240hkMmQexQnQh9BPkvh2lVt1qOg== 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=wQE7SFtI6hT+kIWQ8NrT26YUgIJRLT0BB8RPA/WB9bs=; b=JQi874UKocq2wOiKunsxdCP8tcUmYPrWB5UbmFwJ6iEQa22kGvsiE5ZIceSMJWt80eheyxX46euzj45h7nN6gor1veX1lD2HHiYMZpkqsqGAcdcPWMSY9ioDCj8RumtHr8X+XgdQbYhOIX29AMUX1Q33CxvwdgF1RyjUP198gLHLXZYewnUjPpBIsyV/csEJPwdoJoVdI/QG1qL/zLucWSyiBLHfiJU95d9aJoP3iHEb+i/opFU+inZiXBXsJTmgVKNi8uj03Re+mK5etakSHIcPbLq6wdBobBFi2riXaCisHozeLs6NyKCSvV/jy05A8ENcjrd5taPNrX9MA7h/Vg== 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=wQE7SFtI6hT+kIWQ8NrT26YUgIJRLT0BB8RPA/WB9bs=; b=TgVrubZLcnDcW2R/1QB/4r2oIAi3z8kHFuY4T8Re0wrLCqnpm8U/fIQPom0Zug/llbyiS6BFkKUsGGY9i/ga7TdbGDNq9qZejK0rqA21r5bEfyT1a/NNBIIPT1+Q+1NT33bYdB0rW2p5mLYReqZBXap4lXWfmKlS6jzEI5Er3g8= 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 , "Juergen Gross" , Stefano Stabellini Subject: [PATCH v5 01/11] xen: Add capabilities to get_domain_state Date: Fri, 25 Jul 2025 19:58:48 -0400 Message-ID: <20250725235858.666813-2-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF0000020A:EE_|SN7PR12MB8058:EE_ X-MS-Office365-Filtering-Correlation-Id: 664ec783-96ae-40f9-f102-08ddcbd749b8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Rbov8makbMq1IK0KLULG8eRkoWug3Din772B3IcbcXTM9Ijg5J19s6lKoXud?= =?us-ascii?Q?PCFimDXUa4WxePgy96a9VvAMXGoD1WNiRXRT1/hAXURsUUVzbTfjYMASo9Q2?= =?us-ascii?Q?bQ3N19nT6wzHHy2YAxPFIa9k9BtwZxxtoCWjpdiF1uBpJ6cs/fj+DGjrYd29?= =?us-ascii?Q?9uODgP2jpGPXomu5KNIscJ0KDcMK/G9yjBa2uuhafPVx2HVGY3kkno1kI1hj?= =?us-ascii?Q?q19Md1UuJ2q84r0MvzharyeYD/1Pdkk1TzbDNTXzAeNQoJdbk67YoYSWuTRP?= =?us-ascii?Q?ylLWL+zbcP4ITuVK8+HKeTYTaeg8ANatP5EpahlBa1pqISWXYEN++hoQbp1w?= =?us-ascii?Q?FoHn19GaCb9Ogfsrlo4tnbB18c6cxCJriVNWm0Lepo0isMuvb+lcKHYqkp4d?= =?us-ascii?Q?Wlb4g9YgeWPaCxc1UacL6MngLNxr/Db4LopbC2EDo/rnCBO8BvBoLi7n2hCl?= =?us-ascii?Q?lS4d3fOv3RrNnCgCzidA5f3appPnSyKxhkbhk0sV191rIYDGWLCGpSTKryqB?= =?us-ascii?Q?s4Vxlp/k1E/Hl45Fm6XhyK2KRoAR1xZ9indOl9Sp1N/tdgt/rrHk8VY3Nxmj?= =?us-ascii?Q?mOLoTWoTRFHLU3ySo+1HldBQiowTdpvOaaU1oa6fQQUAcdmbsZvSvwW92emO?= =?us-ascii?Q?mLAfnxodBgKt35taYjZFwJY2ROQefFKXe9Eem29hggDxZbRqzJlFC5NN8sfV?= =?us-ascii?Q?6Xr1X1X4gHUtoN1zQOMdCGWW46D6r2nT1LiWs7wujzlReH7G8M0URegDB9GC?= =?us-ascii?Q?34gT7ujLDXwkt+3ussQzWpJmzuDluOII2JN7oIfIqyJ2zSSuxg2bFFgIr36C?= =?us-ascii?Q?982ANxPfHgsb7GFP0RSYUAdnNeWH85zO/NZ6DbfeJUmoWEToTqv8vmhg26+C?= =?us-ascii?Q?Vd71+6Z944VOsUpsV3EJ7DgDiMQXJgNOzu8ByvhI7z09K0scgLaGWlqIyL6j?= =?us-ascii?Q?f+1yAt8DckbwYjZHNlJq+iV0JULVzNdRbCqUrtMCrT7w1gpBrkf6jrK4mvts?= =?us-ascii?Q?4I+fRhbVpDIKlUr4+fvzF3MD6cf9eLoXLSOWGTdDzz2H0ZCXPltZlledTLPp?= =?us-ascii?Q?ZgFhlYl5k6MF5t/3eLhyfgRg2piTtNfdVOJdcmY7DmqOHhj2AjtaZUviLW/z?= =?us-ascii?Q?e70ULUc9qQneX4GghPoDLUB8vXbZnO7fUZOuw8zKH+NmoD3us/X0+KnWV8M4?= =?us-ascii?Q?vLfc/UYfEmYMtHaBZtcCEvyDK5CIFaYPLSWP0e71gHHYs1RUy1p9fuEYD1Vd?= =?us-ascii?Q?ZlDxx98kYQs7wstyVaa67lis+oqhWMRDDrNJf9XwX+h++qQw51++BirP1+Uu?= =?us-ascii?Q?bWY4ajrHi6LZlJCtuDFNtT4Cn7GogR7W030h+qXHSdjAPaDsUVJvyxH/z/8V?= =?us-ascii?Q?8XvWGrUXtkD2BvXBnEYWqw+cpdiJJ4V6lEWOmxaviJ1ZiQlRsHFkiVqOeWAe?= =?us-ascii?Q?V+hDWDVc/jNlzPDd6ET+vPE1aWLCaLvxw3QsPVMfxf5Q+cwoERpvxtbTH/uK?= =?us-ascii?Q?5QtqWIqAQfrkeUy5XdgSZb1HzpoppPvCYAgE?= 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)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:27.0390 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 664ec783-96ae-40f9-f102-08ddcbd749b8 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: SJ5PEPF0000020A.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8058 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753487991935116600 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 Reviewed-by: Stefano Stabellini --- v3: Add Stefano's R-b v2: Init info->caps =3D 0 Remove stale comment on caps field Add Juergen's R-b --- xen/common/domain.c | 10 +++++++++- xen/include/public/domctl.h | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index 303c338ef2..3c65cca5b0 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -195,6 +195,14 @@ 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; + + info->caps =3D 0; + 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 +213,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 a69dd96084..0c75d9d27f 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -1265,8 +1265,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; +#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.1 From nobody Thu Oct 30 18:40:02 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=1753487993; cv=pass; d=zohomail.com; s=zohoarc; b=K6NMFrAbZCWV4AVdaDikJ0EkRtbqLyLiSa3v7a6pUpM00NKaxpW+PKV8RenYDrt5rxg5JShKtDhJb0i6ma9JJ1/ozPGo5ej9+l8ICsKmYIHwaIK5Hiaa9gaNe0T5W9TFh+Vd/B/cXo4tQIcTbBLErMPbdbvE3FwIqewiAQFqFFw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753487993; 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=AREAC1SCEzA+WwtsK+zwuoyjXAwPYcG9bspmaJd2m8M=; b=bFO34SJmUqHS9epbjbE50114iMS/AS5Mu0vHMI4+wzN3NYbVNGsKgoOetg33HTL9C1HlQN39q5kaUb0G5WW1qEZ7V3UbijeQKnklrXoDAUDUX9FQoOLY0spyQHaQzFy5D3LDFAv5DmkZP5sbivj51xPUOhReV2c7rsQH3+ElCqQ= 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 1753487992906223.0528447854349; Fri, 25 Jul 2025 16:59:52 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058719.1426237 (Exim 4.92) (envelope-from ) id 1ufSK9-00083q-CH; Fri, 25 Jul 2025 23:59:37 +0000 Received: by outflank-mailman (output) from mailman id 1058719.1426237; Fri, 25 Jul 2025 23:59:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSK9-00083e-98; Fri, 25 Jul 2025 23:59:37 +0000 Received: by outflank-mailman (input) for mailman id 1058719; Fri, 25 Jul 2025 23:59:36 +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 1ufSK7-0007YZ-Tu for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:36 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2062b.outbound.protection.outlook.com [2a01:111:f403:2415::62b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 69205144-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:34 +0200 (CEST) Received: from BN8PR03CA0016.namprd03.prod.outlook.com (2603:10b6:408:94::29) by DS7PR12MB8202.namprd12.prod.outlook.com (2603:10b6:8:e1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.21; Fri, 25 Jul 2025 23:59:29 +0000 Received: from BL6PEPF00020E61.namprd04.prod.outlook.com (2603:10b6:408:94:cafe::a7) by BN8PR03CA0016.outlook.office365.com (2603:10b6:408:94::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.23 via Frontend Transport; Fri, 25 Jul 2025 23:59:28 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BL6PEPF00020E61.mail.protection.outlook.com (10.167.249.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:28 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:28 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:27 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:27 -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: 69205144-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pAjxj6Us9duQDCI4DlijVmIjDbXlSWG1CkR8qFJ3iuc8AByiyDEpYtAm0Qz7+R+Wk4PgzRsFcFqA3c4FvX9X6aVL8dC4BgDUYtBCqa9FFgPWEclZ+samOOOXq3gnvQSOKsBuzCOvdW1fggMX/pSfFnu5NObTcpWYs3Bzjd9AL7lKYZsNtQs+B+PWMLf8QSNFZHDSGO/I+bXnm41pxHdmSa5MLfPikx5e2ifTTNV+3utty0FH335ZniXAA9KLK0fLT2l6G1s0W49eyZThqFQjcyZi5O15QhGpbFHXR4hIc7HlFE2AEOCmDi14PI2Y6Eq2Icgb/dG/kZbPnBDp3BLL8A== 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=AREAC1SCEzA+WwtsK+zwuoyjXAwPYcG9bspmaJd2m8M=; b=W/JVZgoqeRV1jh9+w9Rq+D7Z/cX3fDfs+HMl8HOOEL3NklwKZ08pLx9+U1f7lleayIX1+fpNYDM+bjGpRI3oKCQY9F5CijwAi0/HEI5dLF3/Fad/i4p+rjc5livm4UUoNSoXMAPrKblyZoxOhzMyVt7ComOkuChY/Awm3YtjS/X34A+R9YL+WbvcZ7eJZqX1N5jEWk/7gWNKqClw5eH0miqt0h4hUHRBPMmQFJ9Zqpftx5d4bdUrufsTcpdCpO0oD73Yi1yUtViLQpwsvEtHbWDoTjF4Rse9FWbBTW2kkko7ryCPCMivUIooiszycG1mSAUXv2U6kKp+lpy4JfwHvA== 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=AREAC1SCEzA+WwtsK+zwuoyjXAwPYcG9bspmaJd2m8M=; b=qqKKTija580/KUoV6InW4iHk/wu0J0/iO1qEXOYuhyyl71EiDVFRO6KQaHU1dfjxrj6Va4NV27M119hTU0mlr0oYOfn1db/qkGGPv37G7HrphQXpHBQW0vkKceF4s4YupprZ53edO05e2eHC2Oc29SxdxiBq2zajZeaVFSJqgJI= 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=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: CC: Jason Andryuk , Anthony PERARD , Juergen Gross , Julien Grall Subject: [PATCH v5 02/11] tools/manage: Expose domain capabilities Date: Fri, 25 Jul 2025 19:58:49 -0400 Message-ID: <20250725235858.666813-3-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E61:EE_|DS7PR12MB8202:EE_ X-MS-Office365-Filtering-Correlation-Id: 88f4f6be-3057-4d38-006c-08ddcbd74a72 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?8HyAyxs6xZ1ybZhPyUgLVGCY7gcXMB7QPfzx9NOqN6qhc6eIJrzmNym8O8Ud?= =?us-ascii?Q?lwU//OjZjhr7Ipke8FTeWNz5WZEc3DbEF8wd9s57mBdNy+47N5GmhJhzXT6s?= =?us-ascii?Q?xfs0FGG812Ejod12m0ZaX4XpcJoFE3IwyyVKi3PG6ao90ucR+cyYPFtv6Y/8?= =?us-ascii?Q?KwK/faI2/lZ9+dmZ1WF1y3jVBih6M/LQ43pICeb1dimQFGB8Ft5qCj+MaC83?= =?us-ascii?Q?4swWe2kvPFueR1Xhtm138oVGYjbrggfZAcUL0xP66B7TAKeYgRY5P874JXCY?= =?us-ascii?Q?iTog56GDIKXogp8sMBpyENbHoKavsUJVJaeq/HwjyBiHL9WpNt0ORkGJqbEC?= =?us-ascii?Q?eJ+6Gwf5p+wBJ05S4Oun7eS0nsaUjD9RBSjkEjZp2LZ/MRlemg3QEzWwhvvq?= =?us-ascii?Q?uPTaGUUanZWBqADKSeaJpZ9j48qqNGxDXuvrzZF6HuhRcvj+dT5j6WqUa82J?= =?us-ascii?Q?nWoFbAAEeN5oVLLHNDNe7puI9PUYt2+itErgjF3+QUcLaZII09PMzsv8UZYv?= =?us-ascii?Q?KM/qSwZ88ukWWw/PKBTjDPjzH3VUj6Q+guBGf8bjiABgS18OpnCy78c6Toxb?= =?us-ascii?Q?OWRVy6cg0yCfW2mY2kZkAWSGQGZ+iZoPEA/gPUNxhkcteK1e95XTaB2aO7N6?= =?us-ascii?Q?HPnG57iudOnxsfH6k/1RCuZpZh/ZrWhJJ9DA35CpNunk5k291I+tjncfIdmF?= =?us-ascii?Q?O10bz6YmtSHIR9IsNMf4KlqTyG9WkqHw5KFOBDlrMlVxrux3QTLvybWvEu3P?= =?us-ascii?Q?h/MhQ1pVf5UvFJJOLfZH86mUynzQbyPn7XIO0qkGPX8Qt1CgMxQYG92jEhv6?= =?us-ascii?Q?VZY4xum4KogN6jPy2u1wWS3nJdQAFiow7JPCE9Krbf1oTlEeu4NvYI9/S4+A?= =?us-ascii?Q?XSCpejz9DQfEwET+1DWgTD6gQRHSWzpIko+woeCr0oBvOmvxgjPqq+IQ1qaW?= =?us-ascii?Q?D2sHqKNAfQ5gUEYlyuNhEqk8xQOcbUVR//4TG0LKwufrubycnwHht7vQGUHu?= =?us-ascii?Q?PCGXK7AJPefCVtFbLHlE/+zubC9e3rrcmohkH9TcVfaw9W/qbR/M1LSmA5un?= =?us-ascii?Q?1aFal/o8ODM2fcEblJR5et6VHmACHyPH508zpF0Maxtgjx7vdICxFNMBWvjM?= =?us-ascii?Q?shIIn7cpzfU5NxbF+r09SEbQumZ+GG5BVpDbUTQKWj8lORWq8/Zmiah5dXY1?= =?us-ascii?Q?TEtfLpVjNKzpVS+M8xolSafaRsHP02Nzcpi/YQP1DmuQEofJaTjn4T2Q1ceu?= =?us-ascii?Q?D4VH7QcVEZ+4NH+akoQbXFYV/n9C+7CtJdWGzAOtkwNcZpoCNkHVEqFyyehe?= =?us-ascii?Q?2KTctAQIgb3XM8q45/KiJu4r8eoFGuIfW5pLQS2EjMVARvHzJ0rYMb0O9ZRw?= =?us-ascii?Q?hSSWVGwNHM9g6QDBhLJ9OTI++As3BRFSL4Vrc+CAoPCVBzCu1LQc1EalC1Vv?= =?us-ascii?Q?94fboR0EXct9GrAdEOok8PuS9caYll1bNUMlzPZ4FCoMkpZUb1fweybjiEOy?= =?us-ascii?Q?0tbIQJF4IpwRbxADfCtxs/y/xxt/BOcXbZf+?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 25 Jul 2025 23:59:28.3438 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 88f4f6be-3057-4d38-006c-08ddcbd74a72 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E61.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8202 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753487993880116600 Content-Type: text/plain; charset="utf-8" Add an additional "caps" argument to the libxenmanage functions to obtain a domains capabilities - control, hardware, and xenstore. Update the xenstored callers at the same time. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross Acked-by: Anthony PERARD --- v2: Add Juergen's R-b --- tools/include/xenmanage.h | 14 ++++++++++++-- tools/libs/manage/core.c | 21 +++++++++++++++++---- tools/xenstored/domain.c | 8 ++++---- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/tools/include/xenmanage.h b/tools/include/xenmanage.h index 956b7a0a44..6fc0d9fe24 100644 --- a/tools/include/xenmanage.h +++ b/tools/include/xenmanage.h @@ -45,6 +45,12 @@ int xenmanage_close(xenmanage_handle *hdl); #define XENMANAGE_GETDOMSTATE_STATE_DYING 0x0004 /* Domain dying. */ #define XENMANAGE_GETDOMSTATE_STATE_DEAD 0x0008 /* Domain dead. */ =20 +/* Control Domain capability. */ +#define XENMANAGE_GETDOMSTATE_CAP_CONTROL 0x0001 +/* Hardware Domain capability. */ +#define XENMANAGE_GETDOMSTATE_CAP_HARDWARE 0x0002 +/* Xenstore Domain capability. */ +#define XENMANAGE_GETDOMSTATE_CAP_XENSTORE 0x0004 /* * Return state information of an existing domain. * @@ -59,7 +65,8 @@ int xenmanage_close(xenmanage_handle *hdl); * Return value: 0 if information was stored, -1 else (errno is set) */ int xenmanage_get_domain_info(xenmanage_handle *hdl, unsigned int domid, - unsigned int *state, uint64_t *unique_id); + unsigned int *state, unsigned int *caps, + uint64_t *unique_id); =20 /* * Return information of a domain having changed state recently. @@ -73,12 +80,15 @@ int xenmanage_get_domain_info(xenmanage_handle *hdl, un= signed int domid, * domid: where to store the domid of the domain (not NULL) * state: where to store the state (XENMANAGE_GETDOMSTATE_STATE_ fla= gs, * nothing stored if NULL) + * caps: where to store the capabilities (XENMANAGE_GETDOMSTATE_CAP_ + * flags, nothing stored if NULL) * unique_id: where to store the unique id of the domain (nothing stored= if * NULL) * Return value: 0 if information was stored, -1 else (errno is set) */ int xenmanage_poll_changed_domain(xenmanage_handle *hdl, unsigned int *dom= id, - unsigned int *state, uint64_t *unique_id= ); + unsigned int *state, unsigned int *caps, + uint64_t *unique_id); #endif /* XENMANAGE_H */ =20 /* diff --git a/tools/libs/manage/core.c b/tools/libs/manage/core.c index 8fb421df41..2fabdecaab 100644 --- a/tools/libs/manage/core.c +++ b/tools/libs/manage/core.c @@ -92,6 +92,7 @@ static int xenmanage_do_domctl_get_domain_state(xenmanage= _handle *hdl, unsigned int domid_in, unsigned int *domid_out, unsigned int *state, + unsigned int *caps, uint64_t *unique_id) { struct xen_domctl *buf; @@ -130,6 +131,16 @@ static int xenmanage_do_domctl_get_domain_state(xenman= age_handle *hdl, if ( st->state & XEN_DOMCTL_GETDOMSTATE_STATE_DEAD ) *state |=3D XENMANAGE_GETDOMSTATE_STATE_DEAD; } + if ( caps ) + { + *caps =3D 0; + if ( st->caps & XEN_DOMCTL_GETDOMSTATE_CAP_CONTROL ) + *caps |=3D XENMANAGE_GETDOMSTATE_CAP_CONTROL; + if ( st->caps & XEN_DOMCTL_GETDOMSTATE_CAP_HARDWARE ) + *caps |=3D XENMANAGE_GETDOMSTATE_CAP_HARDWARE; + if ( st->caps & XEN_DOMCTL_GETDOMSTATE_CAP_XENSTORE ) + *caps |=3D XENMANAGE_GETDOMSTATE_CAP_XENSTORE; + } if ( unique_id ) *unique_id =3D st->unique_id; } @@ -142,7 +153,8 @@ static int xenmanage_do_domctl_get_domain_state(xenmana= ge_handle *hdl, } =20 int xenmanage_get_domain_info(xenmanage_handle *hdl, unsigned int domid, - unsigned int *state, uint64_t *unique_id) + unsigned int *state, unsigned int *caps, + uint64_t *unique_id) { if ( !hdl || domid >=3D DOMID_FIRST_RESERVED ) { @@ -150,12 +162,13 @@ int xenmanage_get_domain_info(xenmanage_handle *hdl, = unsigned int domid, return -1; } =20 - return xenmanage_do_domctl_get_domain_state(hdl, domid, NULL, state, + return xenmanage_do_domctl_get_domain_state(hdl, domid, NULL, state, c= aps, unique_id); } =20 int xenmanage_poll_changed_domain(xenmanage_handle *hdl, unsigned int *dom= id, - unsigned int *state, uint64_t *unique_id) + unsigned int *state, unsigned int *caps, + uint64_t *unique_id) { if ( !hdl || !domid ) { @@ -164,5 +177,5 @@ int xenmanage_poll_changed_domain(xenmanage_handle *hdl= , unsigned int *domid, } =20 return xenmanage_do_domctl_get_domain_state(hdl, DOMID_INVALID, domid, - state, unique_id); + state, caps, unique_id); } diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index e1d5e8d614..f119d714ac 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -667,7 +667,7 @@ static int check_domain(const void *k, void *v, void *a= rg) unsigned int state; uint64_t unique_id; =20 - if (xenmanage_get_domain_info(xm_handle, domain->domid, &state, + if (xenmanage_get_domain_info(xm_handle, domain->domid, &state, NULL, &unique_id)) { unique_id =3D 0; state =3D 0; @@ -700,7 +700,7 @@ static void do_check_domains(void) struct domain *domain; bool notify =3D false; =20 - while (!xenmanage_poll_changed_domain(xm_handle, &domid, &state, + while (!xenmanage_poll_changed_domain(xm_handle, &domid, &state, NULL, &unique_id)) { domain =3D find_domain_struct(domid); if (domain) @@ -829,7 +829,7 @@ static struct domain *find_or_alloc_existing_domain(uns= igned int domid) domain =3D find_domain_struct(domid); if (!domain || !domain->unique_id) dom_valid =3D !xenmanage_get_domain_info(xm_handle, domid, - NULL, &unique_id); + NULL, NULL, &unique_id); =20 if (dom_valid) { if (!domain) @@ -1377,7 +1377,7 @@ int domain_alloc_permrefs(struct node_perms *perms) domid =3D perms->p[i].id; d =3D find_domain_struct(domid); if (!d) { - if (xenmanage_get_domain_info(xm_handle, domid, + if (xenmanage_get_domain_info(xm_handle, domid, NULL, NULL, &unique_id)) perms->p[i].perms |=3D XS_PERM_IGNORE; else if (!alloc_domain(NULL, domid, unique_id)) --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753487989; cv=pass; d=zohomail.com; s=zohoarc; b=OQjzDO+bDFjYGFtrs47uthhc6qdPq1i00kj3k29TB0QvV2JeldTYzh6sLOl3bcs9zNRpi9TCrRBQC5/JbLBc9YMwciNF5Ic7GtLVVrJsyCv4R0mG49yXOFmwhZntT2csSIdv9abNeXosGdZEGTPw0HkHvK1l0F2++WH6Y4SS1qo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753487989; 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=P7V3nt4OkeSNPSJ4nHqixXneapfe/i7O8Q64iPvkpFA=; b=IhWvRf4DMjyL4Jl0DSzYWtYTDSp7ob2a0C1rOwxzvNnicbivZZDEfJXO9dktjTxnRBYUJwTvEPcTXAdxKoZQCkQ25eB2GlF29RBBr8A85Z3NPWfpowhv0udb9eDy8hjK+guB5NIzYjZrZVQbPYFfU+6HPRe+uPgq0CGQlD7qVZY= 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 1753487989353389.1520293385996; Fri, 25 Jul 2025 16:59:49 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058720.1426241 (Exim 4.92) (envelope-from ) id 1ufSK9-000879-L1; Fri, 25 Jul 2025 23:59:37 +0000 Received: by outflank-mailman (output) from mailman id 1058720.1426241; Fri, 25 Jul 2025 23:59:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSK9-00086H-Gt; Fri, 25 Jul 2025 23:59:37 +0000 Received: by outflank-mailman (input) for mailman id 1058720; Fri, 25 Jul 2025 23:59:36 +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 1ufSK8-0007YZ-Tz for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:36 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on20607.outbound.protection.outlook.com [2a01:111:f403:2415::607]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 695fede1-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:35 +0200 (CEST) Received: from BY5PR17CA0038.namprd17.prod.outlook.com (2603:10b6:a03:167::15) by BY5PR12MB4257.namprd12.prod.outlook.com (2603:10b6:a03:20f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.24; Fri, 25 Jul 2025 23:59:30 +0000 Received: from SJ5PEPF0000020A.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::c) by BY5PR17CA0038.outlook.office365.com (2603:10b6:a03:167::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.22 via Frontend Transport; Fri, 25 Jul 2025 23:59:30 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF0000020A.mail.protection.outlook.com (10.167.244.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:29 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Fri, 25 Jul 2025 18:59:29 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:28 -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: 695fede1-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yb6WBpbeMj8OUC4WiGkFTpo6pTl1oN1WOAQPJhabShz9npYXCD5inV/9p/gD5rmcfTw4y4JWBAyPIVzifsGNiy9nB78bWyfzxhC53QBFPklnA6lGneObO22rYnQc5rJ7Mb+/Bl2gj4CtB08UXSUTaCCQ/FR6JFVfOMXDOrKu5LxWvkPtVBukyeUkQl/NInpKlA5O5q2zWCW4unYnsMKhWr3P/F8M9W2KbBRcZGQw/yh4dXNEHX3m77z8iSaubK9y1yuf6mWVpFRIPZfL72RziaY2R0Ui4fdnGgEc+08FfHv/r9uSsTnyW/3N/ZnEylZWetCz+hJSCSQbK6fxNDiScQ== 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=P7V3nt4OkeSNPSJ4nHqixXneapfe/i7O8Q64iPvkpFA=; b=U6zntJBrWrr2Tdt4PKws9HtsDs8BqkaSXpZEi6aM2hlrfScz5ticrj6I2mK5XhdjQkFCH61C/4CJWVqkAFmyOinTH80G8qIJwnM4jPNj4y/s49tzPPL1fOIWebVFrx4bTp4kN9ofp9X/ttm2UW0h3VLelOL1/+1V9ww/JfoDrKKCx4YipSbmUkMEMsXIUjN5u+wEQojaR1VLhRevT/ZHDk2rJaw3jMnWDU8pAS4pw2Sir0TWUjarh066/6ZAhCyPq6P2U1w81U0rIKJJ3ILhwGSZ9DltLCVilSajpDXIVVp8eP8yzgfn03fVkVDgoESC/6v8FXYMVgghM1cb4rxSqg== 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=P7V3nt4OkeSNPSJ4nHqixXneapfe/i7O8Q64iPvkpFA=; b=tdiFRGYgZJdCZHh3kESsKGBuQLPjnFLgxU46f6IydmwhAAFf4RIyYMpqPpPG2KBDt25TXeCkf8P+PS8YcZ8RjedUyqFBKBlKgLeJSLzcr5JiIfP9a1tX74odgp0zcWdAqR8D5QR8NaUK0EdWy+UR/s+RY3QngRC0RzqiHhL9j3M= 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 , Juergen Gross Subject: [PATCH v5 03/11] public/io: xs_wire: Include event channel in interface page Date: Fri, 25 Jul 2025 19:58:50 -0400 Message-ID: <20250725235858.666813-4-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-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: SJ5PEPF0000020A:EE_|BY5PR12MB4257:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a4832a1-777c-4f72-8c04-08ddcbd74b76 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: =?us-ascii?Q?oqFik96MvO0a+jLZpe8sUf7+qrByNXJih4ht+L9Qm39drrwiZqbxd/WMyEB+?= =?us-ascii?Q?t5vnoI3C218GEQCeiW70rALdDSq4cOxqKsFitXEvvvfNPnDzxUQ+5IuXjiHk?= =?us-ascii?Q?0jBFAeqvwfl6U+LIAzjmlzV7N0Se/28qNqAJF2/3567D6TDZudPEadeFLnbG?= =?us-ascii?Q?lSnTO0k42Fajwa7+lzJHlZCETSYKuV9Ai2h0uihirOVnIVJ68voiPvUwwNAu?= =?us-ascii?Q?eG1G7fyfejsbWAn06L/17X5OkPyM6HtFiC6LTqvrqPT2QJ3+rWCP+HXTy9mq?= =?us-ascii?Q?Fb4sfmU1OAr13GkB1EPzA8JgHYzASySQivNIga3SaLZQtrC+rskdD1lw2xUj?= =?us-ascii?Q?UcP0LHttirthfsmSonAfaW7DpBfxnxmzueqi7UX9TTLw2MdY2EafWXHuZDe3?= =?us-ascii?Q?3so9otzLiDdoPdCxtlOT8UJbb59qiyY8P0QvgwuodnM9fAZXPPYq5OTN34sE?= =?us-ascii?Q?gVwpYsNDZixkI+ps/zWbio97VfbohrQjrejdzurC/0hWIkcnred4xkDwDkCv?= =?us-ascii?Q?VIljQv/7AudpJ5obI2PHDA9eS5MUEVKuRx/hyU8aUkfZNzJaBECgn3FGDW4M?= =?us-ascii?Q?wr3Lj7IA0/SP+P+ZmGC9EZoQ2VO3Csx4LlJTVQL00b/gnuWrBc3G9NdV32UL?= =?us-ascii?Q?TfZfear1WGaOiYDQX2UxYRBaKfuj2Bg/62e6Tukrw5DMLbRiNH5GofmKpv9m?= =?us-ascii?Q?y0jmVKauwaeqpkH7Sag0E/EtknOY6pSXRlrzoK/sDppnEXA6+3EYdw4gj80B?= =?us-ascii?Q?95024nyKqYwjUqPQezEcRbOHtmfFzyF5wctHDtezr+QsmTcD+vH4iNIhq9GY?= =?us-ascii?Q?xhEfAcDNVIQmBCGHoSjXOI+H8ejfUY3deEO8MtJY8so52Kl+DPqWMYcq3QV3?= =?us-ascii?Q?rgRMJ5/0o+pFRp7ShVxG0QIpIXB9qr/i3w519xkBcDRL492mNyOH7yU+9COY?= =?us-ascii?Q?7aMYT3JIQA/g0WrCaclrtAyLT+cLCOPPzVYbG64dbNXHGPjOjpXch9KrIR8v?= =?us-ascii?Q?7QEMIu4wVMHLOnwOS3hewfJ49uvndGyYXkW7bcjVMxBy3YJkVgmn8k8RE+/s?= =?us-ascii?Q?uVZB9TWeKq+REajIfHT8pOJ2k8sVTVF/X40d9WQmw7kKOvWfRKqP9ZrRBRq9?= =?us-ascii?Q?x3CG4kkTOXlKUBaYZemaQQCfEbEzR5iRjHr9wbDI+d7uusD/SgdK6YZNeJCK?= =?us-ascii?Q?lRl++F3/gXULfYxKcQpJcXAaN2d4KxaQKRKmV9EbVaMRv2nFt1xZEVRdXHwQ?= =?us-ascii?Q?1p1+jdec5cHGGg27Gm3VfwlxaNy5X4utXsfVCIK04PiMW/w0G1V+1xRNZG2A?= =?us-ascii?Q?PR6TpdH8M/2mGWOXM1nFDWTLEMkWdYngauenI756tgDdX7I2nmoN8gwBX/dz?= =?us-ascii?Q?MKohX5+KUKq+gCgZAz+UN/hqoBLCuL5YMAmei6XNqnj/KeDmXoRf6aTxxhfk?= =?us-ascii?Q?tN1hyVm8etL1wCRD5JYZKdg/fr2mhxq62Ok9XUXh2Jyy4rvz/KYbrtupx8U6?= =?us-ascii?Q?nyGNM1j5KK6mmTaui07cO83cX50GdLrSKNFC?= 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)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:29.9610 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1a4832a1-777c-4f72-8c04-08ddcbd74b76 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: SJ5PEPF0000020A.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4257 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753487991916116600 Content-Type: text/plain; charset="utf-8" Include the event channel in struct xenstore_domain_interface. This way the toolstack or xen can communicate the event channel to xenstored in memory xenstored already needs to access. xenstored maps the grant with the well known GNTTAB_RESERVED_XENSTORE index, so no further information is needed. Suggested-by: Juergen Gross Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v2: s/domU/domain/ in comment Add Juergen's R-b --- xen/include/public/io/xs_wire.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wir= e.h index e92a87a07b..d2e2b8b9eb 100644 --- a/xen/include/public/io/xs_wire.h +++ b/xen/include/public/io/xs_wire.h @@ -110,6 +110,7 @@ struct xenstore_domain_interface { uint32_t server_features; /* Bitmap of features supported by the serve= r */ uint32_t connection; uint32_t error; + uint32_t evtchn_port; }; =20 /* Violating this is very bad. See docs/misc/xenstore.txt. */ @@ -134,6 +135,12 @@ struct xenstore_domain_interface { #define XENSTORE_ERROR_RINGIDX 2 /* Invalid ring index */ #define XENSTORE_ERROR_PROTO 3 /* Protocol violation (payload too long) = */ =20 +/* + * The evtchn_port field is the domain's event channel for xenstored to si= gnal. + * It is filled in by Xen for dom0less/Hyperlaunch domains. It is only us= ed + * when non-zero. Otherwise the event channel from XS_INTRODUCE is used. + */ + #endif /* _XS_WIRE_H */ =20 /* --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753487995; cv=pass; d=zohomail.com; s=zohoarc; b=Owtgh9krI23uBKhfvuxDRCsj06GVNXl4ES6Rt162brYwCjJ1K/CZEu9bnRfYhr0qa253LE38jK8+K5QG+vRzHu1gyKQS7XXFJPGWLTU5hRZUXUhmxddw7+M+Cv1KEjC3T1fY2rfNypdfIdqt7zQqOpurfgoIeSA06VnXdC0Xg6g= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753487995; 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=dsQY3CEOxMXmJwgGeLeDonCu0Zez5UFFVJskUGMmihQ=; b=E3+Y6QSV3VtgmGXQpz0FGMjHIDlgvMvG6YZKFpKLP0UvDi/37YbH5puGw6qLXzi0J4xYJBxe+mT/ZONTphPuxd7wK8OIysxWy0OPOtEe97pyXzduFm8BjsKhTd8lm65CMgSi/5oHRx6lw+yVUSxBpyh6hkV+6JqXzrk8qQGm7hw= 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 1753487994953986.9232465578068; Fri, 25 Jul 2025 16:59:54 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058721.1426257 (Exim 4.92) (envelope-from ) id 1ufSKB-00007p-Tm; Fri, 25 Jul 2025 23:59:39 +0000 Received: by outflank-mailman (output) from mailman id 1058721.1426257; Fri, 25 Jul 2025 23:59:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKB-00007Y-Od; Fri, 25 Jul 2025 23:59:39 +0000 Received: by outflank-mailman (input) for mailman id 1058721; Fri, 25 Jul 2025 23:59:38 +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 1ufSKA-0007YZ-Mk for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:38 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2060b.outbound.protection.outlook.com [2a01:111:f403:2009::60b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6acea24e-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:37 +0200 (CEST) Received: from BN7PR06CA0065.namprd06.prod.outlook.com (2603:10b6:408:34::42) by SJ2PR12MB9164.namprd12.prod.outlook.com (2603:10b6:a03:556::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.24; Fri, 25 Jul 2025 23:59:32 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:408:34:cafe::4b) by BN7PR06CA0065.outlook.office365.com (2603:10b6:408:34::42) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.23 via Frontend Transport; Fri, 25 Jul 2025 23:59:31 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:31 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:31 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:30 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:30 -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: 6acea24e-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Bv0ayVK/ZUar1HU36NQNxcJvXXt3neKqnmpI+hE4S407klkjZmzOaiKi8dfoaVB0ky7YkFnHznwitrVE6kBm+nMZsIMQd2jJ6fzJcjNoqp7fbao029j6XALv/kIYiA96EF0oXRoOha0KLW4QLSPfh4Jf17N/jN6oc7AKR8rRmA3y0rxCjeFcm5Dlr+/Awk/+sy8scJ+faD8VNPoos6Ri3NZiJ06TBNp2M9Y7ponHMibMw1OSfelFcPWvKfeLF1+v8w5rKQ4HnqLJJ+0u0q+n8IRSj6iPTjiwJtIHMCPvwjyHzBgYVUddTJH4YEAPHMIrpggBeb0BU8VCzpNvmRAuiw== 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=dsQY3CEOxMXmJwgGeLeDonCu0Zez5UFFVJskUGMmihQ=; b=CO2slDsl2xUZKHQlQjQPtIy7y9FwCNklsGOP+dWZMGfC2/mXD5+gPbQB7Ep3T2uhGBxt9Ry2OpmmK7ujV35z21dQsTXzyr1GmRvKHhK9YUjC0wq4oV/utBvtO64hFYmKWJGMO0VjFDUJDFdeZ02jSHSVi2UfIq5Xs8MsZxFLhbdYZniC1L58dhxXMShrtQ0TTKY6adRQImUJyiYRoDvNxOwyKIJpaLjWVzqzDNF3yxykd6sacZI2LbXgeI5Q92pKlMfVGbKeA3fy57r7ba37ZVR66cAGYyyyU2vcID8CQPX0Qv20J0+mSZ+iPEu0iKu29G7pl3XFZIst4ibo85pXuQ== 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=dsQY3CEOxMXmJwgGeLeDonCu0Zez5UFFVJskUGMmihQ=; b=B0I0ZlhePtKNUmkuUAhI0gqo4LQW9LEfkZvEhh0THyWpIllQcdzhzFKBeMNUEScEVMd1exUesVj0yxcAoKrFM5IPJrpFLtS8HjxuFXF2sEHi2LoMH6uQbCBQkmHmj6zO4AIzOtWgGIkPOSRzwBvO1MCPUsJPQRAx2FiyZx6epxM= 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=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: CC: Jason Andryuk , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel Subject: [PATCH v5 04/11] xen/dom0less: store xenstore event channel in page Date: Fri, 25 Jul 2025 19:58:51 -0400 Message-ID: <20250725235858.666813-5-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|SJ2PR12MB9164:EE_ X-MS-Office365-Filtering-Correlation-Id: 3cb305eb-260e-40e4-6d8a-08ddcbd74c5d 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: =?us-ascii?Q?dhX/mVwUleGr7stolJ/AAqeqY8Ah4gvHheL35vMJtcH0oWQo8HOxeua4w1rE?= =?us-ascii?Q?3i6/vwxMCrWQRb7UcN0uT7qG4J/LGwg67NUeJAjy6BHNMKDcWIaNxAhaN64/?= =?us-ascii?Q?dDly11PQgUBwJB3xCSnMFrOQL2z+LSOB2sfSWlPSrFcgDWKWL5Tx3CFXwQRF?= =?us-ascii?Q?dm9hpNvrgeNXMQG+OQsIcb1NO2hcOdPj4XToUM4Mf/gl1fZNzhbq2BeSymyT?= =?us-ascii?Q?kfS878hDpJpY2QyF6uM1v1ZiwLmPh5kKg4v4Bnyj5sX064S9Q10sz13CGiFz?= =?us-ascii?Q?jkZRENfxFjfyFePEs6l1Xqj0hDlviXDUDa6PnsMpXFOwD5TmpUMqKeE0t0gr?= =?us-ascii?Q?jDfCQ3JghT4aFBplHPkHP6lW3wsG8Zy3gA6Y4AL1dLPPEuFgMYz4CWDlXCsA?= =?us-ascii?Q?J1BHrxo0Mj2Xqa1tsLrKnUFwiegvsroFXjBphWWTdIcYtNvKH2a17JFpweMF?= =?us-ascii?Q?aYcT1F+L/glRnX8vTxtfX1er1JbJkdxe4LA8R3z+XOZiUiW/i0iLhaDvIunZ?= =?us-ascii?Q?HS+PZelgtv5FnpR0zRbRK/4xVYzV0KHam1QTp/I2PKWr4INHRmpbMKtdT8NU?= =?us-ascii?Q?chEqQzX7OOVPQe/Wt42RtLqX5JiQeYDYBf2e4O0aEgbdLdJo6s/wPxZHw22u?= =?us-ascii?Q?smgVAxCGXV9wgTD60xoBOC7Am2YO2hKeL0Xg3jjDoWj7aWgnZ8Wm1Puek14j?= =?us-ascii?Q?3fKzyGvRuyqM18zC7jdR0G7jwYts2gLkzxgeLo7Cjhqa/pYa6zyRW2aO7Gv1?= =?us-ascii?Q?ILKdIjnN+rQ6ldBKepa1gHTWVcUAgCWFF4MNBmtMZmHLcWKQdrGHdHKVUMSe?= =?us-ascii?Q?hsyFlkZmJYmfGjs4e8EeqPRD+nhnFL74UveTJdh3Q6xkeRtUpW+Jorw0IvMm?= =?us-ascii?Q?3jyDDuw6azd+CrI0Kwpge9vpYOIZgH7UD7QVlWLuEOsjgi5vmw79IqsuBl1h?= =?us-ascii?Q?jsM5WH/d0hL7c0MiMRJKaFiQccm1Y72Gqd7SKg4+nKNnE2RsFnUgO/2TX3nY?= =?us-ascii?Q?xxtxu4TC/pj6ZKafaGwuHxvzJA91fq1JXUYKeF7+xU3PzW0PHeheDWr7mcGN?= =?us-ascii?Q?MXPwzXlGLiac8mk0VZacET7NTTIh8ETAWxqxTrsr+iKKLKdHks4ukbYc7/Qv?= =?us-ascii?Q?dE3MKLEjJsJ0WdoIDdoWm/9Od+VfXUZIS1mt1A3sMvVrpTGKmqmM9eft1uFD?= =?us-ascii?Q?JmC78Mt+Rhcys3oDIxnRfDa3kFjLDGSQAE7UAyTp2wE1NAEYxHbTQYgqVL33?= =?us-ascii?Q?V6Y1rhbJ9bod47VDqR4m8ApgyH0HvSxysw/t0fkW6ZUbqpQeZvzah9Qe6Y0a?= =?us-ascii?Q?qlbJ+B0C8z/RpcY1WhA7zW7nmGkma6sLmqPwU5NfEvbo1sDEXARqCh4xEVTR?= =?us-ascii?Q?bSnLpgtTG1FIXOxFpkkZhNsDD5lX+CE/6voXPvKds7Wvp9J3hcEF1OjfX7ay?= =?us-ascii?Q?y5HBNqi9Z0NCnDSdUfkKFbcnHHEFmdN6+J9r5rSLBkDCZ5RDwrdoed3Ff39o?= =?us-ascii?Q?anXcI8gOFU7NuOz5kcIkbA9ovuHrGWCnPJgK?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 25 Jul 2025 23:59:31.5635 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3cb305eb-260e-40e4-6d8a-08ddcbd74c5d 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9164 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753487996230116600 Content-Type: text/plain; charset="utf-8" Write the associated event channel into the xenstore page so xenstored can read it. xenstored can map the grant by the reserved grant table entry, and then read out the event channel and bind it. This eliminates the need for an additional mechanism to discover the event channel. Signed-off-by: Jason Andryuk --- This is ARM-only for the time being. A common function to write to guest physical address will be needed. --- xen/common/device-tree/dom0less-build.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tr= ee/dom0less-build.c index 6bb038111d..a96089d9bb 100644 --- a/xen/common/device-tree/dom0less-build.c +++ b/xen/common/device-tree/dom0less-build.c @@ -26,6 +26,7 @@ #include #include =20 +#include #include =20 #include @@ -120,8 +121,14 @@ static void __init initialize_domU_xenstore(void) =20 if ( gfn !=3D XENSTORE_PFN_LATE_ALLOC && IS_ENABLED(CONFIG_GRANT_T= ABLE) ) { + evtchn_port_t port =3D d->arch.hvm.params[HVM_PARAM_STORE_EVTC= HN]; + paddr_t evtchn_gaddr =3D gfn_to_gaddr(_gfn(gfn)) + + offsetof(struct xenstore_domain_interface, evtchn_port); + ASSERT(gfn < UINT32_MAX); gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid, gfn); + access_guest_memory_by_gpa(d, evtchn_gaddr, &port, sizeof(port= ), + true /* is_write */); } } } --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753487998; cv=pass; d=zohomail.com; s=zohoarc; b=htLHPb5iFejSvNSIw65yagPnCLGGU2xt0ZzwKaGcGZ/mIWDkcgiyRrn7IJqz76Tz66QpjhjVZMMNK6QAm6EGDZ8XNihArsD6q+nqDKqq0mTlytTRk/g6dL7t3DSLEVT9Bbs60VRfz2v+4I51kO89aFNqznSyBHkl+FOZjMWPKAw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753487998; 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=mPrBHukDi4hPz8kOtyqBmvDdX0Dj7DBKmngLvcaAJr0=; b=WVKeddH9TYfE/UIU9TUqBD6NMx58AR5NKknMpPhwc60HqQtXWoPbFaNPEfePOCruJNFkddD7Com8WN9wA5/xUQ8J28eEm1MCHFJcAcFVwn/xswA0RTac5UyYwksp01CVyUwydYOwCnRvH2+jwCiAk8jCa539IHVGKzCWw/AaXfc= 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 1753487998717379.9961930301496; Fri, 25 Jul 2025 16:59:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058726.1426273 (Exim 4.92) (envelope-from ) id 1ufSKH-0000bX-RM; Fri, 25 Jul 2025 23:59:45 +0000 Received: by outflank-mailman (output) from mailman id 1058726.1426273; Fri, 25 Jul 2025 23:59:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKH-0000ae-IO; Fri, 25 Jul 2025 23:59:45 +0000 Received: by outflank-mailman (input) for mailman id 1058726; Fri, 25 Jul 2025 23:59:44 +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 1ufSKG-00072I-O2 for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:44 +0000 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20601.outbound.protection.outlook.com [2a01:111:f403:2414::601]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6f17a3de-69b3-11f0-a31e-13f23c93f187; Sat, 26 Jul 2025 01:59:44 +0200 (CEST) Received: from SJ0PR13CA0036.namprd13.prod.outlook.com (2603:10b6:a03:2c2::11) by CH3PR12MB8482.namprd12.prod.outlook.com (2603:10b6:610:15b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.21; Fri, 25 Jul 2025 23:59:36 +0000 Received: from SJ5PEPF00000208.namprd05.prod.outlook.com (2603:10b6:a03:2c2:cafe::ed) by SJ0PR13CA0036.outlook.office365.com (2603:10b6:a03:2c2::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.16 via Frontend Transport; Fri, 25 Jul 2025 23:59:35 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF00000208.mail.protection.outlook.com (10.167.244.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:35 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Fri, 25 Jul 2025 18:59:32 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:32 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:31 -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: 6f17a3de-69b3-11f0-a31e-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=doEQl55OZFR8An7/bSDBArHrbuJnyQgFA/miUUs8EEwIEI3TOW7s5UFVpKr8LwVyMPWyFDzQboUL9oyZ4a4weMSlTInIaQoDus/WZnwZv4hOLLolIyQxU/JOfN80kgm5FBkNc9SlhAS6RO4aiAemLakprfHX8CbkweU/e2w3DF7g9BRnURg7Id9MJzaELjJFSeBx9NSXdWRjp35+799HlFbDphs0/Ivp+ne2diKqTYhv2VLcO5D2vyz3BRVA6OP1DF7NAUwYNEsuustB//I7iBYTELgtG2llbia5ZHHKIA5GhDnH6gVK0gROnabUFjIuO/CPqFSkpZqrbRdYMPimHw== 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=mPrBHukDi4hPz8kOtyqBmvDdX0Dj7DBKmngLvcaAJr0=; b=ouRbrGMQACtRXSX832UZmD4kjkaXSuOBlJWrPOPwXfD8B/v/JpMPElkGzqj5sZGeV2mfIGLC/9ZMZapxOn2xLCmHyV/cMjrj6kUUsbl29egXVOd1NUlKJrjj3esbta3f/wOEeEVzXXfkOoDiwyAz1Sv7Nxd/YkE3fh/REHJ7YgrVINdtJl+dJYjggG7EI9MFi2buK3EiT3Xwwg1iJ/9xlKeuIoxylzP3JnE4cOpyiMVH55R3k3At3hnles0Uhm9pjfMkXWk+KGO3ukZRVyk4CRBM3soKkIVBBEAbo16HDQP5gErFWSd47kUm6ZapleGv+eWMNlcwQEUZ+SSD0+KjvA== 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=mPrBHukDi4hPz8kOtyqBmvDdX0Dj7DBKmngLvcaAJr0=; b=HQwY9CoBxu0rhKUllDKKke/0i542fUI40JemTcOx5Z+WHsrWAtDUNBKp7i13R8RQHg6WkHSipFTlFfExKmB9XzZtVXi7r37wxt+Ylnwi8uBwO4typRB24Vxm8wGVMyavjetYWtR2ZR0z+QZX254yGaUmsyBG1ALeVxGBWEi1LVc= 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 , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 05/11] tools/xenstored: Read event channel from xenstored page Date: Fri, 25 Jul 2025 19:58:52 -0400 Message-ID: <20250725235858.666813-6-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000208:EE_|CH3PR12MB8482:EE_ X-MS-Office365-Filtering-Correlation-Id: 33f9d68e-8203-446e-1a36-08ddcbd74ee5 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: =?us-ascii?Q?o/aye6EE0ZJcfxoQCc5v1LsLWEaQEaQwQ4LXlN/bhzdRP0Mj/+1/UFER7s7r?= =?us-ascii?Q?GACWSZGxZj9+4xbA+sESLcDKGX12sJJuXS+iVZK2u0yWF6fcBjRdkmP2GdW0?= =?us-ascii?Q?mD7wSfOpQ5LVAejVnOYdLP25RlVCuGGdP6NuBlB7o3uef8+KsWBCJlIIS9iU?= =?us-ascii?Q?WDo/w9YvWfmrcxHCI3BbQvTkv7JBrumzi6Q23dFng+UCoErKTSQwuKCqRyqQ?= =?us-ascii?Q?AmgQ+JllOOnqbS55Sfv8ysykh7Ji5trUImhT8WYwipnRf4yvOFai2yJ+o8LQ?= =?us-ascii?Q?4p943VaPMRDHXEzl49AuafQMJDm1hi7iok6nn/pgTfc2X+Km5AvPyMORTKjv?= =?us-ascii?Q?7c9x0ZkKkPKf5JFtCipArG9a/Ga/rL/HJWm3NgZbZfC0RiCMeOCY+TSB9Zia?= =?us-ascii?Q?4wOweJJKeOSIuDc5nk2qQmnZ8vyVZ77kH6RwBQhtNIYCVWC/gGDkY32bzFCB?= =?us-ascii?Q?3dOTL/fAd53SqwkGcVBtOwOSrS8gTFGpkbYZcUkcDRYSBY0C9KJUOq7zbxrd?= =?us-ascii?Q?lVRRP+wQMRVcBN9eb+xjmlWoK25e/Pp3QHaNAPdVutsg/ldnsiK7/lG54UNA?= =?us-ascii?Q?+q6psQABqfz+u6j5/2B9pWGGh3eI41j6dMVhWqJ2hbQ1gp8M1N0i8QJ484+0?= =?us-ascii?Q?eDtrOQAKto945AdDjDi1wAUM9q/amCFiH+ChtVlkYyk+Bguq4TEUKaGN3YrA?= =?us-ascii?Q?eCp1LGgu4U9o7+ddOWyCqLGaQQdD6x3W+HQA5k6U6uzXwFiwSwaL4smR/L6I?= =?us-ascii?Q?U0+ON33gwG/Kenz4Fu8jI/ATY3NRglGqgb9ZlVs24PL1dE8geezOhziME0K7?= =?us-ascii?Q?ZR0dWcnVjGXI4/WL/clJV5S84KW2oCz6zN7DazD2nu5OT7tsa46K8z9SOChL?= =?us-ascii?Q?rQToRRbmc0AbI+wsgsXh+ll51S2Dl0hyH41uiEEhXIXiZPFKqPv5cc8TH0O3?= =?us-ascii?Q?P5lHoV7/FxaLEvT6OB96zRK6tw4F3oEH9++3SbCjjVDuQxIqvLGMc+zEeie/?= =?us-ascii?Q?qDA/AdE/CP+ZXllH+QP/morRnqw4FscpvDuwACYevs6vOG0RHaI4MFRI6Dq6?= =?us-ascii?Q?4swbweKY31nfJCJtwZhnzxrz8J4VZBxQBM59VfBjQts7ajTb8dVmgcDVC6XE?= =?us-ascii?Q?fUJtMR29S0ifMNzK4hIr/2zduie9OfIyTa3pqu+sBuZs5mdRUNPsB0ieIWTW?= =?us-ascii?Q?4nRjm15JhSAzaRxDOwZWyzaQTFzpjD2lyaqgvscUDnmm9brIvRsn8PDVpsME?= =?us-ascii?Q?baevHWiRYH0iK5FDWchi5FKmlvF8N+kYqiSibOj8uHNzNtUyQoGXqa5wEAoC?= =?us-ascii?Q?U39d3NacE+CdU3muZeOE8nfU+SgIiqgYvulWNUTCtOqtmLD6P74YrEJPlIKp?= =?us-ascii?Q?SQ8xQpEP28CnbBge/5Kf6oD7GquOUaanwC58OeWfU3UmOYkv/2UmoEh6z6+c?= =?us-ascii?Q?a7wqc8UY9z0iUlaSed01O4nZOCVMstM7vGATbv7jfjw+FAswhK0QssQVkMaA?= =?us-ascii?Q?m7I7jmEzIoDyh4yd2CK71pg8XQnPaofubW75?= 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)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:35.7179 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33f9d68e-8203-446e-1a36-08ddcbd74ee5 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: SJ5PEPF00000208.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8482 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753487999935116600 Content-Type: text/plain; charset="utf-8" Make introduce_domain() use an event channel from the the xenstore page. It is only used if non-zero. Otherwise the passed in event channel port is used. The is useful for a xenstored stubdom to configure domains autonomously. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v4: R-b Juergen v2: Remove iface_port variable. --- tools/xenstored/domain.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index f119d714ac..1241f8c73e 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1024,6 +1024,10 @@ static struct domain *introduce_domain(const void *c= tx, interface =3D map_interface(domid); if (!interface && !restore) return NULL; + + if (interface->evtchn_port) + port =3D interface->evtchn_port; + if (new_domain(domain, port, restore)) { rc =3D errno; if (interface) --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488007; cv=pass; d=zohomail.com; s=zohoarc; b=HsGDrcIVLz36WkSuvQHBywJn6a7QME/ESjjFSZ1uU2IfSHprutFBVaTgQV6TkxGx2g6jyPHXwGdQoTom8h63nkHwe9x+OOuaCwvGClw21PkcODar/NAVDT8MYP2OdH/sqbLE+WwCKNzpnZUTg2N2K8jLhF/V5uGkIRKUxaLuElc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488007; 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=uqHjxqohFPHOSPVRyrPZTNT5elTCXWAy2c5zwbn6lSc=; b=FP3QhQnRGrfAM13nt2FwnKnAZi9TT5pXOOdhDPHDWVWA674iG+n6Vul0wIzjPSt8NABO/YT5UBU5forErirp/iBXS+aieZJusKCxRJHt1/QYqGIzBuilCkNMDdzYv83jOsfSUK09BOeCoV0soXoVzTDrgHk0Aqxagr9uusrgLCM= 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 1753488007716339.3105665039707; Fri, 25 Jul 2025 17:00:07 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058724.1426267 (Exim 4.92) (envelope-from ) id 1ufSKH-0000Xk-Dq; Fri, 25 Jul 2025 23:59:45 +0000 Received: by outflank-mailman (output) from mailman id 1058724.1426267; Fri, 25 Jul 2025 23:59:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKH-0000XL-80; Fri, 25 Jul 2025 23:59:45 +0000 Received: by outflank-mailman (input) for mailman id 1058724; Fri, 25 Jul 2025 23:59:43 +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 1ufSKF-0007YZ-FY for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:43 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2062e.outbound.protection.outlook.com [2a01:111:f403:2009::62e]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6da0cc7b-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:41 +0200 (CEST) Received: from SJ0PR13CA0044.namprd13.prod.outlook.com (2603:10b6:a03:2c2::19) by SN7PR12MB7810.namprd12.prod.outlook.com (2603:10b6:806:34c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.30; Fri, 25 Jul 2025 23:59:35 +0000 Received: from SJ5PEPF00000208.namprd05.prod.outlook.com (2603:10b6:a03:2c2:cafe::a9) by SJ0PR13CA0044.outlook.office365.com (2603:10b6:a03:2c2::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8943.16 via Frontend Transport; Fri, 25 Jul 2025 23:59:35 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF00000208.mail.protection.outlook.com (10.167.244.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:34 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Fri, 25 Jul 2025 18:59:33 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:33 -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: 6da0cc7b-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=udzMCsgqBJ2qN1/gSdk9JymNmZVNBOJDEfjE6co7FeqcwG27n3T8/lb5B363eBMUY/vqEzrZMChOBwvmeL339R+GdkzlE6FWapCTV8XRAZlK4qSacImTSxtNqxXUPKb22ij+A6F4z/77tjq/cxakRg7zTHswrcmOYVUt0R5yjR5qAH0UTYDNI3tpYrTRXzzf5LgyFMbWqPEw3dINgj0wtWvRV3qx1jwOpKp6CjApvDI9+iRwHZCDhzS2M7PUZLu/jE4BpuJRXigk1tl0T2euTJutryfvf/mh6XwlP4Jk1Nd30EnPjS6MorVhEhzDzkMvVwhurLnAQKq3PriUPIICbQ== 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=uqHjxqohFPHOSPVRyrPZTNT5elTCXWAy2c5zwbn6lSc=; b=vEgP1y7g0Gb/jpMRKye5IxfrwPr3LnVBLy+HHW8boVILcaiA+X682oEiqrqBpao9VjO0u8ZgLaUU0ebHmLuc1gDjnv12qBFbKBp7hrdDBAzA/EnC6pJaSoLBekXGCRn3ooh4NU28ea8l9QHa3UxE0/sl+TW1Z5LE3RJPsPnsbn8EXLcgOf7gERTTZltE/1xPK+sF4TAU8hUGwNjINRDcMRFuG/UcR9mIZfIv03O601GdLXl+++6yZv5bnqcbFAaVjYjUNmUWMDju4mcCOZ9gaPYI1H5hL7wK9jvAV9Hp88CcPsFfFwocfuwbbEsY0ZdLll2IzPfYx+A2N4vGrSkCpw== 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=uqHjxqohFPHOSPVRyrPZTNT5elTCXWAy2c5zwbn6lSc=; b=3z+BDxe/DU3EC+kjZgbOSzw9g8LkUb4RQP23aCIGtWoN1rUNBZvIOQjZ2mELWBUIy7+Lwk3A84evPdsI32ps9lO8cgbHQB05WYO6OH0FBAJZKkOYqc9Sr1TjMruXvB5uk6UqvKJwO3kIFcoW/YF7srG26rW+WdOY9Dv+WJqyHfQ= 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 , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 06/11] tools/xenstored: Add get_domain_evtchn() to find evtchn Date: Fri, 25 Jul 2025 19:58:53 -0400 Message-ID: <20250725235858.666813-7-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-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: SJ5PEPF00000208:EE_|SN7PR12MB7810:EE_ X-MS-Office365-Filtering-Correlation-Id: 207e1786-16dd-44d6-a764-08ddcbd74e09 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?F2Wg7XeYnNJMNI49qSO7E8+mwN2iabLYOtfD7zg8Dj44LPjVzjXnaVibpO+4?= =?us-ascii?Q?T12hIGUa3goFwy/BieWbmHxLyW/3rF3OhZRRq5bL/tM+d7xIpxwSvS/SajI0?= =?us-ascii?Q?8olkcdeXwWaUyXUvi9ichZq0SUPbi86T3fNhDk/AwbUa9BWIWV6bqbvBKz82?= =?us-ascii?Q?nw3efSI7wF+6dQDTcSdgAEreeHXbdJ/AwVVt8PG7RpVvE8rSTm6CMdzVxKwP?= =?us-ascii?Q?Bj3e3puTM/dV0+Anuot1lbh2kaFhOZ1+yIvOtOASwW+qJ31LUldwPgHn6h6t?= =?us-ascii?Q?dGWq9tc55cCbbFEkE24m23FM3yaSApxX6YAKfnJ502N9Nqqm2DV0g8yCN852?= =?us-ascii?Q?y9Pi44rlwjmzAo6gOGwU1ez2PPk5OkSIUkDMZfUW0k0qq8n4tUqevRovskPs?= =?us-ascii?Q?yy5JSs+hs8gZYA3nFdRg+Rdp0ti0YtL3nufrN9fZp6GZLIo7c332VVkYCzM8?= =?us-ascii?Q?pS9X0UeWiHDtGwdwEBuD/VepzbU2r2qK+/kbmfNLQmExM1EnCeBY8d5+53K9?= =?us-ascii?Q?WC18uXO2ZfL2V97fPj2KKZgx3qjFx44SUQJiAY6wWXtQHJQdYZ0jrbwlyMHj?= =?us-ascii?Q?pxiT9B+KiRdS4RKPFK2xQh9LcU0CaZ7GvAJjDKuq1sZg4FLfkLzlXaS1ccNe?= =?us-ascii?Q?NWXHSY8iY8dUNWiMvCblRUktcrDOkRn9sW68MHwqf5nlTe7oRurdgg6P3G52?= =?us-ascii?Q?u5+SW5hrYMlGDneLyaaDmBOLFihLLNa1aDtrbA/3VMwFd9+BWB2fI6zfWevH?= =?us-ascii?Q?meM30+oniMEMCouh+dw25v//7Un7JHv1eEQcvQvrGz4MSBvfvuqmI8BWV+gd?= =?us-ascii?Q?c26Sahb2T/XZFv2uqEleAOaSKL1zsHsvIHkRleHeCHT29jRvsHqWAnTtPQ80?= =?us-ascii?Q?4d34aruDYW0rxr/5+chI9zWOuC/8Po9hVcLMseRRvzuF3LpYeGpcJVi6uaC9?= =?us-ascii?Q?bEL/mRnsRx6sawCYqHEronlPmT6LozYe18CmWOsEB77DjJT5h/+RmB19MRRe?= =?us-ascii?Q?SEDkZDi9v/7gEnfe72TYJawckcVds6Tcebe6yGcIOiSdnoKPvgmu/ZJUzkPZ?= =?us-ascii?Q?SWIxBUg92LLmGgmrdJht3DqSnwcdEMFK0Agt1uaARXqxNx+sQ0Xva7StUJYr?= =?us-ascii?Q?MGyEfUBg7iwmGVO0hNFQnJd6AICt4x6+0OdjT3dAQQv97xVl8+QxCqrUFNxg?= =?us-ascii?Q?hfR1A8uqKiU1xXlZh8jGRhTWlhEWwMR/syoJyefxItE5jO1eDZPHQPwLi2hh?= =?us-ascii?Q?Kx2CL514q8WsxBtLwlhloYL8a5UzbiU6kI6SLK6XXbF+0X3S+SXYK35rvyiS?= =?us-ascii?Q?/38O2B5QPvbtquxKDB4OzU1rfBXrXbOA38mTk9l/ggDD6j2WOiqeZ6cBHaKD?= =?us-ascii?Q?l9nr+bVlU25dUMA1paNeRSu46u5ymyf/A9UE4+q0vCBLlUXJ3N2V0ooHkL8/?= =?us-ascii?Q?SOYUwiTJYY5T7OmL9mKzRR7ZSdoMsLGvNF0gJMx3aUCFDdKrsb5IXpIgEtYw?= =?us-ascii?Q?BbtVon9Y1Y/KB6zIlFr6Pdcq/Tyt9k9mOWfg?= 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)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:34.2803 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 207e1786-16dd-44d6-a764-08ddcbd74e09 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: SJ5PEPF00000208.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7810 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488008178116600 Content-Type: text/plain; charset="utf-8" Add helpers to lookup the event channel for a domid. This hides some of the differences between dom0 and stubdom xenstored. Each version defines its own. It highlights the different meanings between get_xenbus_evtchn() in a stubdom, where it looks up dom0's event channel, and dom0, where it looks up the local event channel. get_domain_evtchn() replaces get_xenbus_evtchn(), and get_xenbus_evtchn() is removed from minios.c as it is inlined in the new function. The default return 0 will be fine as any other auto-introduced domain will needs the event channel populated in the grant. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v5: Split get_domain_evtchn() in minios.c and posix.c versions s/dom0/stubdom/ --- tools/xenstored/core.h | 2 +- tools/xenstored/domain.c | 9 +++++++-- tools/xenstored/minios.c | 17 +++++++++++++++-- tools/xenstored/posix.c | 16 +++++++++++++++- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h index 1ba9592d16..877b1e1103 100644 --- a/tools/xenstored/core.h +++ b/tools/xenstored/core.h @@ -394,7 +394,7 @@ static inline bool domain_is_unprivileged(const struct = connection *conn) } =20 /* Return the event channel used by xenbus. */ -evtchn_port_t get_xenbus_evtchn(void); +evtchn_port_t get_domain_evtchn(unsigned int domid); void early_init(bool live_update, bool dofork, const char *pidfile); void late_init(bool live_update); =20 diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 1241f8c73e..71ab7aaad3 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1256,7 +1256,7 @@ void dom0_init(void) evtchn_port_t port; struct domain *dom0; =20 - port =3D get_xenbus_evtchn(); + port =3D get_domain_evtchn(xenbus_master_domid()); if (port =3D=3D -1) barf_perror("Failed to initialize dom0 port"); =20 @@ -1271,11 +1271,16 @@ void stubdom_init(void) { #ifdef __MINIOS__ struct domain *stubdom; + evtchn_port_t port; =20 if (stub_domid < 0) return; =20 - stubdom =3D introduce_domain(NULL, stub_domid, xenbus_evtchn, false); + port =3D get_domain_evtchn(stub_domid); + if (port =3D=3D -1) + barf_perror("Failed to initialize stubdom port"); + + stubdom =3D introduce_domain(NULL, stub_domid, port, false); if (!stubdom) barf_perror("Failed to initialize stubdom"); =20 diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c index a229954cf4..a86edbd5c8 100644 --- a/tools/xenstored/minios.c +++ b/tools/xenstored/minios.c @@ -41,9 +41,22 @@ struct connection *add_socket_connection(int fd) barf("socket based connection without sockets"); } =20 -evtchn_port_t get_xenbus_evtchn(void) +/* + * minios stubdom looks up dom0's event channel from the command line + * (--event). The stubdom's own event channel is returned directly. + * + * Any other existing domains from dom0less/Hyperlaunch will have + * the event channel in the xenstore page, so lookup here isn't necessary. + * --event would not be set, so it would default to 0. + */ +evtchn_port_t get_domain_evtchn(unsigned int domid) { - return dom0_event; + if (domid =3D=3D stub_domid) + return xenbus_evtchn; + else if (domid =3D=3D priv_domid) + return dom0_event; + + return 0; } =20 void *xenbus_map(void) diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c index 6037d739d0..d850dc0da9 100644 --- a/tools/xenstored/posix.c +++ b/tools/xenstored/posix.c @@ -139,7 +139,7 @@ void unmap_xenbus(void *interface) munmap(interface, getpagesize()); } =20 -evtchn_port_t get_xenbus_evtchn(void) +static evtchn_port_t get_xenbus_evtchn(void) { int fd; int rc; @@ -166,6 +166,20 @@ evtchn_port_t get_xenbus_evtchn(void) return port; } =20 +/* + * dom0 xenstored uses get_xenbus_evtchn() to lookup with XENSTORED_PORT_D= EV. + * + * Any other existing domains from dom0less/Hyperlaunch will have + * the event channel in the xenstore page, so lookup here isn't necessary. + */ +evtchn_port_t get_domain_evtchn(unsigned int domid) +{ + if (domid =3D=3D xenbus_master_domid()) + return get_xenbus_evtchn(); + + return 0; +} + void *xenbus_map(void) { int fd; --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488015; cv=pass; d=zohomail.com; s=zohoarc; b=jvZGiyoDkD9VywjAsXbrylNmM8K4Fx9qbtV8ylNlWEEwE/+sN+u/9+lkTNcKpy/cf46thVT12Se19hqp4OP8PyM0rYQAcs+DlnfDBJNCPuoVm9/FLqr83hFiZV2SBLH685C8a3EoisLj1jrSu2howS0gTIMywA6IURPtkHS/I94= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488015; 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=bu6qy110dZsnS4i5GXYzfa2hnOIRH0xP9Njjyy2eshE=; b=GmiBC622jnhLU4PLIZ2hfc9KbvxnsHOGRCrnpLte8R3T/Q6TuUQshN38c81iBrvO4+VIHIr1wXfp9ZMYm8bDZF0upm1yHqsidlkMX1KcBy0QgM/Kq2mdb2z92s4kY869LCVD6dpA7gNsPuDbNoqNhthBzQ7ZVGqNIsuKhI5Pi1o= 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 1753488015398140.1324420507019; Fri, 25 Jul 2025 17:00:15 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058730.1426302 (Exim 4.92) (envelope-from ) id 1ufSKL-0001Sd-5g; Fri, 25 Jul 2025 23:59:49 +0000 Received: by outflank-mailman (output) from mailman id 1058730.1426302; Fri, 25 Jul 2025 23:59:49 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKK-0001Rk-TV; Fri, 25 Jul 2025 23:59:48 +0000 Received: by outflank-mailman (input) for mailman id 1058730; Fri, 25 Jul 2025 23:59:47 +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 1ufSKJ-0007YZ-1L for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:47 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on20613.outbound.protection.outlook.com [2a01:111:f403:200a::613]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 700ed991-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:45 +0200 (CEST) Received: from BN0PR04CA0068.namprd04.prod.outlook.com (2603:10b6:408:ea::13) by BL1PR12MB5897.namprd12.prod.outlook.com (2603:10b6:208:395::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.22; Fri, 25 Jul 2025 23:59:36 +0000 Received: from BL6PEPF00020E66.namprd04.prod.outlook.com (2603:10b6:408:ea:cafe::85) by BN0PR04CA0068.outlook.office365.com (2603:10b6:408:ea::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.24 via Frontend Transport; Fri, 25 Jul 2025 23:59:36 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BL6PEPF00020E66.mail.protection.outlook.com (10.167.249.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:35 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:35 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:35 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:34 -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: 700ed991-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=w+gDYA7JrCwrAXH10ErsbD9ixPIhK/S9hSaJKUWApPHYeFuLYAqujcCvmyjdoTk/k/BscR1kausV6vJb1UPCHUdbg6PEplExJiX2853nFNCg/hsaSMJpEI6c+BmruO5vgDqksAIlho12vRleFFmsteyY55A5rvbCh/U15ctKVZ20tT72j+8ewkqRGhqqikzBUbaIn+K149HCbQw0JgJJ7eJXXOOsfXYFTQfJbASHufHR6W4mdM71Wpne1WkDz+tWiVZygZ8b7pqumiorFfq2m3J3y8Tk3QqaSW6mijp7myDv0W1S5uTkWYaUl1cJv7OLkUigY57ouql6FscIUKNHlg== 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=bu6qy110dZsnS4i5GXYzfa2hnOIRH0xP9Njjyy2eshE=; b=Mv6Pf0g13VUCq0of8tVQlAO94C6eNeQUpDLNwckpVWGNAv2nPmpM1NaD2+drYvXBbVhAAz5T3wY1O0j755d4JaQRdenIvsKT2oKCZbrcTdBAaDFfWHW0xXYCBC8iO9xGHIcpOse0232acHuYeiBEhYnyVsh183YbyxkPiKdNEMwvOkAMu1Kd6ccnEHIy6EdSZ7f+xR0OVhp3eUVjVRSo1FOCvBaB2HNPsuBbjjaQPWMTozy/GtSUwjsX/K2cJktlGXki/GOuS/Ykx/KBJjClEEcJXFXpEEl79Lq2rIoNZxi5v+QJjvo0ovmbqi/Tw4tgOVquTITvM7y2QVkmIZ7R/A== 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=bu6qy110dZsnS4i5GXYzfa2hnOIRH0xP9Njjyy2eshE=; b=4avj68Vwu5ykCyBHFzxAkkde5WQ5ko6Di5vSxZgC/KQgaJFhjbStc/F8W/g/TE7cnBEaancNgabKzg1sFCW7x0RhJ5qNsrYBxYsguOWAtlQrls609uWKe0/sAjpZTXWIEwocw+w7M75obhd7WEZ2p/CfVIDRIAdNFAA3nuQK6vo= 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=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: CC: Jason Andryuk , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 07/11] tools/xenstored: Auto-introduce domains Date: Fri, 25 Jul 2025 19:58:54 -0400 Message-ID: <20250725235858.666813-8-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E66:EE_|BL1PR12MB5897:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a119b14-2c6a-4ec5-e52a-08ddcbd74ef4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SzEQ7orWL2nwIJ9CuFMf51OBv6HvKlSApvdCFufsY0lhrIv5lrfaTpt8zAip?= =?us-ascii?Q?VrpZQiszgBHqxFC/6cG1rOctF/UOZ7VXGakEK26BePB22e+5NYmClL6SWq66?= =?us-ascii?Q?+rtUxI1xM/aKccfNUiCIR7I8Q4NRb61+9Bqs2Cy1tUeqsXfFrvQTbu6Z6naF?= =?us-ascii?Q?vntiTp0Pq0e+zv9dkueCbeQTpkYWnGR7qTT+Ek5mNdTBrIQra0D6gCS7umwB?= =?us-ascii?Q?ccymryPQKreXQiwSvo53OAx+qXcPJ/j5LHHgGhOmR0n3kxE8hh13RQdbrh+u?= =?us-ascii?Q?bcdXpvb4SIagBsYxXf2sAMzGHqebRS698ePRsuLY/RDQ9vExXPewat8h/+6j?= =?us-ascii?Q?rsYz/Z72UHzPlf9rhQarrbm8A2GGzSCJSgLbkkC49xT/x5yHvm/C98b3EDNW?= =?us-ascii?Q?ofjfYRh3r7bNeISOVJ49+2yA05KmLe6QA2nr81mZfD6eCGNdDbvu43PNk0Dz?= =?us-ascii?Q?jHLBO2t+UWyv8lUMjxLDo4bgeyB+i9u+o8bVtado1fglo0okzyoW94it9LsN?= =?us-ascii?Q?+zMUTjjF2qfdM1/+hL2kj5pDbmEUz5jFdGpjFHwnLWqBfhPfvYzRc37T0Axq?= =?us-ascii?Q?cJibVu0JA3vgNqd5xv/0XnOakcaF5g0o5RFswfpXwtmk3AsJj0+GHeaXeolH?= =?us-ascii?Q?4PvLIBAoNXv/p/DBojroTzlyrwzU9+avEvJ7nSYKMIUjWwmFtsJcVS/lHGwy?= =?us-ascii?Q?7QJtjcurbIM67va3RwJb4A0xlzlVhWXtXCw0ef/o8oOybP/IRh3TDH2jXzgg?= =?us-ascii?Q?Znc/YZT1HJkNPdoklOpFQkqZPk//ShNt99MAUoPhUeqDJ1Uogh5Dal0i73wB?= =?us-ascii?Q?KYQMtQ/h/Cmz5MG5HrQRnWr5WA5rhPcIQUv/Pe5ZCuTCVM9DHFp8rcxaEQHR?= =?us-ascii?Q?+wzgc4yu64jJO9bGfdDA2r/lF4g1v0ZRbn9DECW7mp2sQYN3N3mIVHuMfh0r?= =?us-ascii?Q?qzM+xkSRehmXWRttWBnKoTImMa4v3kV5us/JR9tgEeIbQADCsYxNoIs/1RsX?= =?us-ascii?Q?wVcVK3BLf3+eQn206Vcb3yIlwV+4+YoXymtd8vTjnuF18NmfWwXq04oFevuy?= =?us-ascii?Q?blDCFz+AjqLHYDfitEieL2xgRBoG3AE9ZfXqvshyHMr2SaR2UvNZq3OXoq7v?= =?us-ascii?Q?4NucC8SjuXGqoxzUkXcXPmz6SPWfsbHo/nwJ9SguCoaqjpW4G6wPWci39hiD?= =?us-ascii?Q?Z9dX49uKtoHlX+TEhK6yi6SKpqQ1j2t00FA2ZGs781lkng9+NWHzCrS1FgRD?= =?us-ascii?Q?J++QhSWO/F24oMbXj0Kd20jZoWrHc9It2mf9Ur/hoHI+APr29QVZ1g5oaO8D?= =?us-ascii?Q?R6xM2uBA8bbKw2JLpODEfsqpc2XBE97tiyzWXXSUZ3TfGeu3Z3SvWWGkAey4?= =?us-ascii?Q?98tpQ6vaAA+wD5/08hKH1gUGotptBS1UxwIUWitY4b3r3/KRmcbdJKa18MvY?= =?us-ascii?Q?iT/lAznK+mDEqLRgQ+p7r1hs2URhzBJJ0FGhJYCChZY6/mb+qM2BSapOAbr6?= =?us-ascii?Q?mXr3xtWWjANQMrqSBDxVrTDhcu2xJDqlfk98?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:35.9109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8a119b14-2c6a-4ec5-e52a-08ddcbd74ef4 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E66.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5897 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488016400116600 Content-Type: text/plain; charset="utf-8" Replace dom0_init() with init_domains() which uses libxenmanage to iterate through all existing domains, storing them in a list. The xenstore domain is introduced first, and then all the other domains are introduced. The xenstore domain needs to be introduced first to setup structures needed for firing watches. dom0_domid is updated with the xenstore domain, since it really indicates the local domain. priv_domid is set to the control domain. This makes it limited to a single domain. These features let xenstore automatically connect any existing domains, which means it doesn't need to be done manually from init-dom0less. For a legacy dom0, the result should be unchanged. For a late xenstore stubdom it should also be the same, but priv_domid would be set automatically to control domain (which default to 0 normally). Always signal the event channel for initial domains. This gets dom0 (a local xenstored domain) to connect. Also always write XENSTORE_CONNECTED since we know we are connected at this point. To support ARM dom0less domains with xen,enhanced =3D "no-xenstore" a failed introduce_domain() becomes non-fatal. Normally, HVM_PARAM_STORE_EVTCHN is used to identify . priv_domid from the command line is used, or the first control domain is used. dom0_domid will set to the last xenstore found. This will handle dom0 or dom0less, where only 1 xenstore domain can exist, or stubdom, where dom0 and dom1 exist, and we want to take the stubdom. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v5: Add init_domain() helper and call for dom0_domid first outside loop. Fix HVM_PARAM_STORE_EVTCHN typo Only take first priv_domid and respect command line setting Take last dom0_domid Set priv_domid & dom0_domid default values - bail if both unset Use talloc_realloc Remove domain_conn_reset() --- tools/xenstored/core.c | 6 +-- tools/xenstored/domain.c | 100 ++++++++++++++++++++++++++++++--------- tools/xenstored/domain.h | 2 +- 3 files changed, 82 insertions(+), 26 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index 37e4dd5a5b..dbf3548a8e 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -2564,9 +2564,9 @@ static struct option options[] =3D { #endif { NULL, 0, NULL, 0 } }; =20 -int dom0_domid =3D 0; +int dom0_domid =3D DOMID_INVALID; int dom0_event =3D 0; -int priv_domid =3D 0; +int priv_domid =3D DOMID_INVALID; domid_t stub_domid =3D DOMID_INVALID; =20 static unsigned int get_optval_uint(const char *arg) @@ -2757,7 +2757,7 @@ int main(int argc, char *argv[]) /* Listen to hypervisor. */ if (!live_update) { domain_init(-1); - dom0_init(); + init_domains(); } =20 /* redirect to /dev/null now we're ready to accept connections */ diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 71ab7aaad3..5e53fe8736 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1251,41 +1251,97 @@ const char *get_implicit_path(const struct connecti= on *conn) return conn->domain->path; } =20 -void dom0_init(void) +static bool init_domain(unsigned int domid) { evtchn_port_t port; - struct domain *dom0; + struct domain *domain; =20 - port =3D get_domain_evtchn(xenbus_master_domid()); + port =3D get_domain_evtchn(domid); if (port =3D=3D -1) - barf_perror("Failed to initialize dom0 port"); + barf_perror("Failed to initialize dom%u port", domid); =20 - dom0 =3D introduce_domain(NULL, xenbus_master_domid(), port, false); - if (!dom0) - barf_perror("Failed to initialize dom0"); + domain =3D introduce_domain(NULL, domid, port, false); + if (!domain) { + xprintf("Could not initialize dom%u", domid); + return false; + } =20 - xenevtchn_notify(xce_handle, dom0->port); -} + if (domain->interface) + domain->interface->connection =3D XENSTORE_CONNECTED; =20 -void stubdom_init(void) + xenevtchn_notify(xce_handle, domain->port); + + return true; +} +void init_domains(void) { -#ifdef __MINIOS__ - struct domain *stubdom; - evtchn_port_t port; + unsigned int *domids =3D NULL; + unsigned int nr_domids =3D 0; + unsigned int domid; + unsigned int state; + unsigned int caps; + uint64_t unique_id; + int introduce_count =3D 0; =20 - if (stub_domid < 0) - return; + while (!xenmanage_poll_changed_domain(xm_handle, &domid, &state, &caps, + &unique_id)) { + nr_domids++; + domids =3D talloc_realloc(NULL, domids, unsigned int, nr_domids); + if (!domids) + barf_perror("Failed to reallocate domids"); + + domids[nr_domids - 1] =3D domid; + + if (caps & XENMANAGE_GETDOMSTATE_CAP_CONTROL) { + /* + * Only update with first found - otherwise use command + * line. + */ + if (priv_domid =3D=3D DOMID_INVALID) + priv_domid =3D domid; + } =20 - port =3D get_domain_evtchn(stub_domid); - if (port =3D=3D -1) - barf_perror("Failed to initialize stubdom port"); + if (caps & XENMANAGE_GETDOMSTATE_CAP_XENSTORE) { + /* + * Update with last found. dom0 or dom0less will only + * have 1 domain. stubdom there will be dom0 and dom1, + * so this will take the second for stubdom. + */ + dom0_domid =3D domid; + } + } + + if (dom0_domid =3D=3D DOMID_INVALID) + dom0_domid =3D priv_domid; =20 - stubdom =3D introduce_domain(NULL, stub_domid, port, false); - if (!stubdom) - barf_perror("Failed to initialize stubdom"); + if (dom0_domid =3D=3D DOMID_INVALID) + barf("Could not determine xenstore domid\n"); =20 - xenevtchn_notify(xce_handle, stubdom->port); + /* + * Local domid must be first to setup structures for firing the special + * watches. + */ + if (init_domain(dom0_domid)) + introduce_count++; + + for (unsigned int i =3D 0; i < nr_domids; i++) { + domid =3D domids[i]; + if (domid =3D=3D dom0_domid) + continue; =20 + if (init_domain(domid)) + introduce_count++; + } + + talloc_free(domids); + + if (introduce_count =3D=3D 0) + barf("Did not initialize any domains"); +} + +void stubdom_init(void) +{ +#ifdef __MINIOS__ mount_9pfs(); #endif } diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h index 844ac11510..6a78f06935 100644 --- a/tools/xenstored/domain.h +++ b/tools/xenstored/domain.h @@ -84,7 +84,7 @@ int do_reset_watches(const void *ctx, struct connection *= conn, =20 void domain_early_init(void); void domain_init(int evtfd); -void dom0_init(void); +void init_domains(void); void stubdom_init(void); void domain_deinit(void); void ignore_connection(struct connection *conn, unsigned int err); --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488011; cv=pass; d=zohomail.com; s=zohoarc; b=NJrHJOuPcPr6xpJoul0qyJq5jh3Hazlmfz0g0DU4oqvNRBn2tJY/jiy8J+f+xCi2djNHlosusCuAD+qyVx8up7IEYnbdGTT3N/K/xmW8wGDN9RUlwc8fBey+d90wud6jnUn/XR2pqg2ukWHhPlrcqdCVh1uWeeSXFdatFtygISU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488011; 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=6qWkiKC5suZIzWW4U7EhVfJcFngSvVnzgyONjQcceXA=; b=h0FQHPHCnyDLj21A1OHkMh+Qe7srtyiEYkkLGqDPHO/ZzJCeEls/ZMiWea4fpHawrgayZPrtupYhcfsuAgGdCGH94YnrQVR9ANS1NeYqU8ffHPEqMpLsIxq0Zi6Y8BxLsXxQ1JILhxIygKMRMTrBPQmWswsunAIwJNXYcigzgk4= 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 1753488011000917.4021387550634; Fri, 25 Jul 2025 17:00:11 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058727.1426286 (Exim 4.92) (envelope-from ) id 1ufSKJ-00011G-2Q; Fri, 25 Jul 2025 23:59:47 +0000 Received: by outflank-mailman (output) from mailman id 1058727.1426286; Fri, 25 Jul 2025 23:59:47 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKI-00010K-SG; Fri, 25 Jul 2025 23:59:46 +0000 Received: by outflank-mailman (input) for mailman id 1058727; Fri, 25 Jul 2025 23:59:45 +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 1ufSKH-0007YZ-6d for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:45 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2062e.outbound.protection.outlook.com [2a01:111:f403:2009::62e]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6ec65af6-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:43 +0200 (CEST) Received: from BY5PR17CA0070.namprd17.prod.outlook.com (2603:10b6:a03:167::47) by MW3PR12MB4347.namprd12.prod.outlook.com (2603:10b6:303:2e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.22; Fri, 25 Jul 2025 23:59:38 +0000 Received: from SJ5PEPF00000206.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::e3) by BY5PR17CA0070.outlook.office365.com (2603:10b6:a03:167::47) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.22 via Frontend Transport; Fri, 25 Jul 2025 23:59:38 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF00000206.mail.protection.outlook.com (10.167.244.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:37 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Fri, 25 Jul 2025 18:59:36 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:36 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:36 -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: 6ec65af6-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lXFBJlqFEQEC+sjEBt6TKIi0UKO4Zu7k0gearcymzO3GwNmT8oBxHwNPis3xitWQylAkMzYUVPL32l/Z9aJVSGWmpqlVO+SHuKV1OHuwc1MjRIQPTgjlBzFrAWqEYc1TWYQxYxq4W0mk+mqBtGTsbTIWX4nq3s8jSrg+Ttmd8Sm+hQXVz5cR1IG+kIzCetpEpxP7TMD0euF9j4rmPP4pOIX83WjLG1tHutqdhAatbF2gWeyA1BihXrZE2amwD5LAhTgCLPHlq3UyoGmlPIGBpSYA5CznP73RM1lzMmFdpZXtqwDrJrlE7cgZJESvh15PwEzXnfQ1I5UbLB5cBT97TQ== 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=6qWkiKC5suZIzWW4U7EhVfJcFngSvVnzgyONjQcceXA=; b=EF10HaPuVoO73IbBqk5ygDDZq7rSOk/jNYkLpH80iCKqGfe7dXBnfhZ9DjgVqWDlwl3ee9O0MTkeXAXJG8/NwpOvaGzfQ2u2pfmqplgYmCdvw6k8RBeS/GllPX2+Itx6GckMr3Zz/XjHMVmBEh+aZSlFKhDGrtCFHeCDf7KBXGhqzK4OELzsXXeky4YH9QYL+5DCHck+6DeguGARINwRyGbPGjD/7jqu40+JXpYIvDn7Orx4IycGsCs3QNLqy1hxBj+bB4Gp07F3xoS1DNX45sGg1n+KbZLkLeI5QbVntoz4XlhZCWCkr3Bs8pPlTwswPqApIhcEQRH77wOKGXr9ow== 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=6qWkiKC5suZIzWW4U7EhVfJcFngSvVnzgyONjQcceXA=; b=Lqk+14reOcndAalIIcfWW5bYU5WIZ+/HiHOUDhdGZ9uQqBokd+VGBnJHd6p5mDzz3C8bIBTEKvUDV2cu/0PC9VxpM8A6dqLO/6R33d92PWzieqoyKQVEtWgKzLY3LCFckx+kjS/oPDbRsJdGM1AKLgp29WFW0tqQMQnf5PAdEds= 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 , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 08/11] tools/xenstored: Use priv_domid for manual nodes and permission Date: Fri, 25 Jul 2025 19:58:55 -0400 Message-ID: <20250725235858.666813-9-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000206:EE_|MW3PR12MB4347:EE_ X-MS-Office365-Filtering-Correlation-Id: d9b60338-4d52-4487-3821-08ddcbd75006 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3Y8DBQu1QtYKePLvC3l5VvMSaLPaUa/7WaEDHT3fbvHMSLQDZSoWR1pj90+Z?= =?us-ascii?Q?SJgzdzAYJyL/uR6CPXRkd+efahBVUbE26Zlc3dRrPvlr5aIYpNVqE+3qI3f0?= =?us-ascii?Q?BW3WbXmbacxIQ7TcotZHUQTKXiTmst1ImC11nDWnkfOu3Z54uDqEk2wD7olO?= =?us-ascii?Q?RKY0NKuHW7C7iVxKE/DvJenhK8xWAf6qEgeR8msMWoxyIi18NSjlQ863AX7N?= =?us-ascii?Q?gqX821jACgtquGMJIY8jMZm5mxHV0qJDA80xbIx0haIDuQ9mMYUbkOyQQYsH?= =?us-ascii?Q?x6f/e27TpQfsyl7TudxOSGe5w3D1hSSqu4kdj64eP70yM0HbjZ0EuGpFjVwP?= =?us-ascii?Q?yvuPbVN3Zxr02SyTfkk5FE18KuzSzlmIKjE32W9+mZPn/MAPUUkzksaZtvE2?= =?us-ascii?Q?p8ChNX0xIl2iXj4tDqG682Qq4vfX91pQo9uICdxuBnzVt+TyEEOHONWHIo1S?= =?us-ascii?Q?io9knlIz/1WiDMvd39K1a+djIPOAVjhcHTgDqYZrIPCmG6NxuvNJB93/CPmL?= =?us-ascii?Q?S/EMQm82YJP99fn5/VD3TKstl7yjvZUEVC2uCG3Um+kC+hglg4jyialmgHk4?= =?us-ascii?Q?amZX55r89VpEphh+CUxizfTG5X/hVA8EtAbQ7RgsY4EJdaeYCsePVH9PhPet?= =?us-ascii?Q?GnK9Rl+wx0VOgoeF3cA65KxMF9BtsPTPK6rb/H8uRmWQRQKf7VSyHaIwup03?= =?us-ascii?Q?TxFnnoHg3AHiai/QbhdHpSgD5VYfzXPSSI3+5O08WQU5OCLAZam7WIb6DdpU?= =?us-ascii?Q?GSvpAUPyiXM22BpinVpuqZjqZVZ33Vv9GtmBpeUIDLm3ZV0M4LwCwX/bZuHw?= =?us-ascii?Q?ySwf0AGzp2ui+dJCa5C7CQTndwBLt5tkjKQARUoQiYaQJoKbPWN3x9xj5dgG?= =?us-ascii?Q?M6NcoqtH2DYL0X2EQWLoyDuvY3P+GA/y3Gse3btYUcP6ADdl1GKA8hTQsN7a?= =?us-ascii?Q?G4mh/gZbUan/5fgTafzX+MIJkmw8HFfAKihRovHUuWtw78PjEke8+KO5zb60?= =?us-ascii?Q?0LjGRzanhElkKvHpJnIkkyMyX8xfWq8EPFQOY+QBiZJDRRFVifKQCAPYkYYy?= =?us-ascii?Q?0pDT0FizoC/I1Bzo5NXvwIonZSPrfIvU6+bFFEXoJbB3MYNgnP7LzeL2G8eS?= =?us-ascii?Q?uaoi5ALXAtGXv0SE/Uags6Na9nzqyRElOJwh6pBPKxi2wsM3div0ncIOUZaH?= =?us-ascii?Q?EKMQQtwdy/zhsgxgLRCjTdoO+D96U4AFF/0duJzvHKGvD14c8AIPXLsIoJWi?= =?us-ascii?Q?Ud8zUUsCryhKGQ37eIO1ZmV1CQnwbciXzt890qndHBMM+rqvoepky4KCFL90?= =?us-ascii?Q?phaVf6XAR7FWKA9cE4c7iMn6Da0ZIxozRjmJBlUS82ehZKUh4XfKRY7x8yAF?= =?us-ascii?Q?hj36pElHonzd3IG23qh9jR1aTOzzY9XUSeVc32mMIfLQZ0jxLTnTKxvlJEbg?= =?us-ascii?Q?3WJRT4WXT3xT4+7Yb+bTLbG9Fo3S7qYZqN4if8WjD+aSbeQSnn2fMhaE5an1?= =?us-ascii?Q?yPfwXxuU9klYxAQdGrGZe6Smas2C5rL5XA18?= 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)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:37.6127 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d9b60338-4d52-4487-3821-08ddcbd75006 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: SJ5PEPF00000206.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4347 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488012311116600 Content-Type: text/plain; charset="utf-8" Usually, priv_domid =3D=3D dom0_domid =3D=3D 0, and that is what is expecte= d. If we rename s/dom0_domid/store_domid/, it seems more likely we want to actually have the priv_domid as the owner. That leads to follow on changes to ensure that the priv_domid is created first. If priv_domid is unset, set to dom0_domid to have a functional xenstored. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- Held off R-b Juergen because of priv_domid setting v5: Add unset priv_domid setting Additional change for continue check inside the loop --- tools/xenstored/core.c | 4 ++-- tools/xenstored/domain.c | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index dbf3548a8e..098958f611 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -2266,7 +2266,7 @@ struct connection *get_connection_by_id(unsigned int = conn_id) static void manual_node(const char *name, const char *child) { struct node *node; - struct xs_permissions perms =3D { .id =3D dom0_domid, + struct xs_permissions perms =3D { .id =3D priv_domid, .perms =3D XS_PERM_NONE }; =20 node =3D talloc_zero(NULL, struct node); @@ -2317,7 +2317,7 @@ void setup_structure(bool live_update) manual_node("/tool/xenstored", NULL); manual_node("@releaseDomain", NULL); manual_node("@introduceDomain", NULL); - domain_nbentry_fix(dom0_domid, 5, true); + domain_nbentry_fix(priv_domid, 5, true); } } =20 diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 5e53fe8736..94cbe81ca5 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1014,7 +1014,7 @@ static struct domain *introduce_domain(const void *ct= x, struct domain *domain; int rc; struct xenstore_domain_interface *interface; - bool is_master_domain =3D (domid =3D=3D xenbus_master_domid()); + bool is_priv_domain =3D (domid =3D=3D priv_domid); =20 domain =3D find_or_alloc_domain(ctx, domid); if (!domain) @@ -1037,13 +1037,13 @@ static struct domain *introduce_domain(const void *= ctx, } domain->interface =3D interface; =20 - if (is_master_domain) + if (is_priv_domain) setup_structure(restore); =20 /* Now domain belongs to its connection. */ talloc_steal(domain->conn, domain); =20 - if (!is_master_domain && !restore) + if (!is_priv_domain && !restore) fire_special_watches("@introduceDomain"); } else { /* Use XS_INTRODUCE for recreating the xenbus event-channel. */ @@ -1311,22 +1311,22 @@ void init_domains(void) } } =20 - if (dom0_domid =3D=3D DOMID_INVALID) - dom0_domid =3D priv_domid; + if (priv_domid =3D=3D DOMID_INVALID) + priv_domid =3D dom0_domid; =20 - if (dom0_domid =3D=3D DOMID_INVALID) + if (priv_domid =3D=3D DOMID_INVALID) barf("Could not determine xenstore domid\n"); =20 /* * Local domid must be first to setup structures for firing the special * watches. */ - if (init_domain(dom0_domid)) + if (init_domain(priv_domid)) introduce_count++; =20 for (unsigned int i =3D 0; i < nr_domids; i++) { domid =3D domids[i]; - if (domid =3D=3D dom0_domid) + if (domid =3D=3D priv_domid) continue; =20 if (init_domain(domid)) --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488061; cv=pass; d=zohomail.com; s=zohoarc; b=k+DLy16qTk789VsjmLucY1NdgYjOBe4ks5+QTcVhXVe3yBtjwjBDVT0SR62EKxFDM2jfuEHV+uNDXOIzZXcJDGc8lJqO6SbyiUEacj0+VyX9aVY4Ijt81RwH0lNKEVOzESaxoaOad4MT5Ffd+4XV+NgCgP5CpZZr7RY5Fhe62cw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488061; 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=es0hWgOpQ/7LGDqroUoAHeWfGdQDsmfi380WCbJdzfw=; b=ZZU9tlX4S9SAOhbKmzPw8khxWNg1RVBub+rDbCDK9amOj1QW0s2yoxKa4z+BjWA8y1gYnYjHswiprt5XLmqmH39ldSghtzH7TAXjLpZ9IbIe3fnMBTSKcBDjiIf4Z9pGV6g0m54MMbN/Jgk8jdKQC/v/krDkOvQeq+tBpqc60WQ= 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 1753488061085762.3468997789032; Fri, 25 Jul 2025 17:01:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058753.1426316 (Exim 4.92) (envelope-from ) id 1ufSLI-0005x6-Nk; Sat, 26 Jul 2025 00:00:48 +0000 Received: by outflank-mailman (output) from mailman id 1058753.1426316; Sat, 26 Jul 2025 00:00:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSLI-0005ww-JP; Sat, 26 Jul 2025 00:00:48 +0000 Received: by outflank-mailman (input) for mailman id 1058753; Sat, 26 Jul 2025 00:00:47 +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 1ufSKO-0007YZ-2r for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:52 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20630.outbound.protection.outlook.com [2a01:111:f403:2412::630]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 72800eae-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:50 +0200 (CEST) Received: from BN9PR03CA0919.namprd03.prod.outlook.com (2603:10b6:408:107::24) by PH7PR12MB5687.namprd12.prod.outlook.com (2603:10b6:510:13e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 23:59:39 +0000 Received: from BL6PEPF00020E60.namprd04.prod.outlook.com (2603:10b6:408:107:cafe::52) by BN9PR03CA0919.outlook.office365.com (2603:10b6:408:107::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.22 via Frontend Transport; Fri, 25 Jul 2025 23:59:38 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BL6PEPF00020E60.mail.protection.outlook.com (10.167.249.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:38 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:38 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Jul 2025 18:59:38 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:37 -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: 72800eae-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rlMiFye14dTBcptNqzQ2phX9VfDJDkhog74bcI+Hse1WCBictKhnwOYHhFYAiDEm3vy6CNyly0lv53bStOGXHNyebfHbs0W3U1HWPHHNEvUoAOn7FOMDZbnWe6YAuAviixZy4rW4ycZ5b3JmYzTabYpHeGDKKPVJT1ldVf3DQuabZXgjN7GWNBMGJbXnCxCsLLPuRZUYOYPDlMHP5yWy7676/jK+DdvbTxPmYg64nQ+PVYyGX3yiAf8kykV0vs/Ks5sk5lplshIgqgYVg405CxcqF1jBaKaPc5RHawh+J8h1KewQV9WQJjpxM1/g6F5ESEStM+SEfEOGevZhqAi+Kw== 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=es0hWgOpQ/7LGDqroUoAHeWfGdQDsmfi380WCbJdzfw=; b=hDIG4k5SEpAwiuLKH0853/uXHioC4c1RlOKRH7XZKqi3g2OapgSJUFawuaFnGxPtxqpK1dPYSJAE8KBinSZHf/4fBxkHA+XyZzP5N2jN+Qa6/NhmXL6S7Cdb8m/9BIltogH9ZVaUqtmcHKJL0M9iPXNJbhWwy/qmuWrC6vn1qYvFZElAdm9iUt7BlIXpHa2puQKFWhWNc5PcdwJeS0/wIgNLniIvqejjypZ8eRlahI9RKjGOw8kKd7x0zETubfWbhjEx8xeCALdg+v4GWnpt47MzOONDiDcvRzKi5F0K/Z9MdkCwJDX9pW09U+N9Ou/jG/DzhZxL7beSwmb+BFgbGA== 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=es0hWgOpQ/7LGDqroUoAHeWfGdQDsmfi380WCbJdzfw=; b=KtJgVeftJzctwvR7GsGJ5/JfGEyk1TJxBU0fSWiKmHzToVUouhy1ANaUNnlIFCfx3mrcdtYMOPTNdpJdIl5+WEHt0B3lVsLlg5+vBzkscc/hRiRzP5Gs7Dmyl5eRxAxBzrQH0dRPPLXiElZ3rOHiFZXfG21pd7en2gWZ/Bqwy0M= 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=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: CC: Jason Andryuk , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 09/11] tools/xenstored: Rename dom0_domid to store_domid Date: Fri, 25 Jul 2025 19:58:56 -0400 Message-ID: <20250725235858.666813-10-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E60:EE_|PH7PR12MB5687:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e7b6757-c428-4d89-748b-08ddcbd75097 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|82310400026|30052699003|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?btpw60D22vbzLvUK+G0HuEdtM9OUM67AE6+KOrV4U2g4InpRC2+plkNEsevI?= =?us-ascii?Q?K/cQKa4nCt0/igyx+QGr6MtEUjZAcQsl6tN0fzov1n0z5ds3m2muN5thTZPe?= =?us-ascii?Q?6Q9HaNMOCeyIYhkOsH9DuT0EbBiJGOUp6pxOOM4bXgesavzLI4H5HLwesz3b?= =?us-ascii?Q?ZRNFaBNDygem0ek6+nVnjvwMyJpN3rkbLvpeumpWXxCqZJIlW5KTwlrfzN/j?= =?us-ascii?Q?Tk9NuddClueQMiGNv+vOP4rE39QzzLJFFbgBhqiEFzD9l5FTsODyX6qb6kC0?= =?us-ascii?Q?ImOF7HiGNjk6U1gfsFMXmMHi7/FgT1OCD7JjcBEmnn4GbgkZDyAnv9an6BH9?= =?us-ascii?Q?/8v/5fmZDHTZ4ndZP/2sDgwaE5q9Hbh+cKlScxbe4MxuhMxMLpeAb8LDM1ef?= =?us-ascii?Q?8tXY+THvpD2ywuxSzhG1pes3M707Jt9KfVVPergVL5OlGDeEBncMAWddWHy0?= =?us-ascii?Q?eQsCV6eeijjUa29EB20zDDnTtlH9sNCEpv1PtMAYQRSGfJYY3ZEouv7MfTGR?= =?us-ascii?Q?Souu7eN57COKsUBGUcTNOmOVamxfr0lfGSB6WyVGsBJaRX9UHfxW9uEu+DlW?= =?us-ascii?Q?aGhswT0/gvwFQrLdeHFIZ1v9HV1B55SE/4e6aQx2GpLU+F/TksdFvm9vsJtI?= =?us-ascii?Q?8qpDfM8P65RQWVJkN0eI/ENfA9CyE2vvWiiJVqGLM0i8SbI6/qA9JP4oszAE?= =?us-ascii?Q?34n21BRDU50EAYXZIbnv2CGJr/FS+3r6RR1s+SC+ER9xuJc9gQWcRJCNccwg?= =?us-ascii?Q?dsq9wXOsoQfL4CCDYipwhO+yOfGC25W+HJSg5yZqZ7rQtEmJ17BmNYbg2PdF?= =?us-ascii?Q?QuJaiOClacjYIBdQ/uoTZFYgL9gtmd/a8qL6+7OLDNULZ9B3J4OKJxHvtf3H?= =?us-ascii?Q?wRu/5LTVLsj34A+WTXdrAa6/yb575pTcz3zE8Rr2IGTBdr8KxoiMa0cjcZq0?= =?us-ascii?Q?xI0BGrTf4K/xYjmCposY0HFUIAW1KKG8oX5/M4kSvej1Oub5I11LiOuuv0tY?= =?us-ascii?Q?wNil2sXJmoT/GFfHjIAs9yJf5zFoogTd6Et+h0yq5qIOYWMIB8BdLFpssgFL?= =?us-ascii?Q?hWP+UytsVGQFgDsy0Ux1oAJA4Qcx0DAfGF7q7+Y/oO1iyWeP1iWzyz5Qmk8b?= =?us-ascii?Q?kKnXqr+st3f3ythfKRZQHdWCNrrWqFp+7wkWhvbziDdi2cpwHCt5A+Z5EATs?= =?us-ascii?Q?HZmaL17JTQ4IvCxrFLnWzIrx/qE+9tgf+d2Qcl9kG2d8m1pjOuQxAUBw3zJH?= =?us-ascii?Q?eThkBC1rorn6Mk198GqG5uwjf58o9MtL+BlgyDfYzPcv2W9W1mXXZQojh4mQ?= =?us-ascii?Q?54tszn6mtRKwZ9wrDRN36bupofKQxj/35s+g5lXC8jDaoqg6QGGebDTiOo5h?= =?us-ascii?Q?U3AqCgKe6GTQA8vBsX9dFwq6TVF/bK7FviFbJ5S3291VgUFEMZbQI00pmfBU?= =?us-ascii?Q?NpiJdeVceLKn2M7ao2R/4BSULD2LIzubxcyWst0J9AQXqXVEBgcRYhj0oHes?= =?us-ascii?Q?cN8OTpJ3o/I/1Z5tt0mtroITR/012xqv+DHU?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(30052699003)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:38.6538 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e7b6757-c428-4d89-748b-08ddcbd75097 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E60.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5687 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488062836116600 Content-Type: text/plain; charset="utf-8" The dom0_domid variable is misnamed and conflates purposes. If we have xenstored running in a Linux domain that is not dom0, this variable controls the lookup of /proc/xen/xsd_kva and the event channel. Rename to store_domid to better show its purpose. One implication of this change is that the xenstore domain is not privileged by virtue of considering store_domid as privileged. domain_is_unprivileged() removes the dom0_domid/store_domid check, so xenstore domain is no longer considered privileged. onearg_domain() is updated to return EINVAL for store_domid or priv_domid to maintain the ability to call XS_RESUME. xenbus_master_domid() is removed with store_domid being used instead. Add a description of the -m/--master-domid options while doing this. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v5: Remove xenbus_master_domid() domain_is_unprivileged() drop dom0/store_domid. XS_RESUME/onearg_domain() check store_domid || priv_domid --- tools/xenstored/core.c | 9 ++++++--- tools/xenstored/core.h | 6 ++---- tools/xenstored/domain.c | 10 +++++----- tools/xenstored/posix.c | 4 ++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index 098958f611..f407bec4b9 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -2536,7 +2536,10 @@ static void usage(void) " allowed timeout candidates are:\n" " watch-event: time a watch-event is kept pending= \n" " -K, --keep-orphans don't delete nodes owned by a domain when the\n" -" domain is deleted (this is a security risk!)\n"= ); +" domain is deleted (this is a security risk!)\n" +" -m, --master-domid specify the domid of the domain where xenstored= \n" +" is running. defaults to 0\n" +); } =20 =20 @@ -2564,7 +2567,7 @@ static struct option options[] =3D { #endif { NULL, 0, NULL, 0 } }; =20 -int dom0_domid =3D DOMID_INVALID; +int store_domid =3D DOMID_INVALID; int dom0_event =3D 0; int priv_domid =3D DOMID_INVALID; domid_t stub_domid =3D DOMID_INVALID; @@ -2733,7 +2736,7 @@ int main(int argc, char *argv[]) dom0_event =3D get_optval_uint(optarg); break; case 'm': - dom0_domid =3D get_optval_uint(optarg); + store_domid =3D get_optval_uint(optarg); break; case 'p': priv_domid =3D get_optval_uint(optarg); diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h index 877b1e1103..949b812f90 100644 --- a/tools/xenstored/core.h +++ b/tools/xenstored/core.h @@ -364,7 +364,7 @@ do { \ trace("tdb: " __VA_ARGS__); \ } while (0) =20 -extern int dom0_domid; +extern int store_domid; extern int dom0_event; extern int priv_domid; extern domid_t stub_domid; @@ -381,11 +381,9 @@ uint64_t get_now_msec(void); void *xenbus_map(void); void unmap_xenbus(void *interface); =20 -static inline int xenbus_master_domid(void) { return dom0_domid; } - static inline bool domid_is_unprivileged(unsigned int domid) { - return domid !=3D dom0_domid && domid !=3D priv_domid; + return domid !=3D priv_domid; } =20 static inline bool domain_is_unprivileged(const struct connection *conn) diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 94cbe81ca5..2f79db26df 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -503,7 +503,7 @@ static const struct interface_funcs domain_funcs =3D { =20 static void *map_interface(domid_t domid) { - if (domid =3D=3D xenbus_master_domid()) + if (domid =3D=3D store_domid) return xenbus_map(); =20 #ifdef __MINIOS__ @@ -518,7 +518,7 @@ static void *map_interface(domid_t domid) =20 static void unmap_interface(domid_t domid, void *interface) { - if (domid =3D=3D xenbus_master_domid()) + if (domid =3D=3D store_domid) unmap_xenbus(interface); else if (domid !=3D stub_domid) xengnttab_unmap(*xgt_handle, interface, 1); @@ -1144,7 +1144,7 @@ static struct domain *onearg_domain(struct connection= *conn, return ERR_PTR(-EINVAL); =20 domid =3D atoi(domid_str); - if (domid =3D=3D dom0_domid) + if (domid =3D=3D store_domid || domid =3D=3D priv_domid) return ERR_PTR(-EINVAL); =20 return find_connected_domain(domid); @@ -1307,12 +1307,12 @@ void init_domains(void) * have 1 domain. stubdom there will be dom0 and dom1, * so this will take the second for stubdom. */ - dom0_domid =3D domid; + store_domid =3D domid; } } =20 if (priv_domid =3D=3D DOMID_INVALID) - priv_domid =3D dom0_domid; + priv_domid =3D store_domid; =20 if (priv_domid =3D=3D DOMID_INVALID) barf("Could not determine xenstore domid\n"); diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c index d850dc0da9..e8bb975115 100644 --- a/tools/xenstored/posix.c +++ b/tools/xenstored/posix.c @@ -174,7 +174,7 @@ static evtchn_port_t get_xenbus_evtchn(void) */ evtchn_port_t get_domain_evtchn(unsigned int domid) { - if (domid =3D=3D xenbus_master_domid()) + if (domid =3D=3D store_domid) return get_xenbus_evtchn(); =20 return 0; @@ -280,7 +280,7 @@ static void accept_connection(int sock) conn =3D new_connection(&socket_funcs); if (conn) { conn->fd =3D fd; - conn->id =3D dom0_domid; + conn->id =3D store_domid; } else close(fd); } --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488003; cv=pass; d=zohomail.com; s=zohoarc; b=kK2FIr0+cijdH1sc5O3MbXTiYy8UW1qcSyhotnpPU94OdTVEPe5KcJNxmP36V68TqNJIEsHKDNiUQwOuc4O8nO428O7ZBqeJMVKn3Ic5Hmx7KwNR6WGWF3J3DmkeH9BPbceYEl86ocoQS5OA9Yd9DrAus5DaZHwkE2PfZObXKpg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488003; 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=+kKFCNFyptcpiw4lFRKhcWH6qMRw/y7Ho+2rz52PFhI=; b=AtZbi0fDcjj70WICDVWn/0VmxJsDFZUdtsTsvdHhaajvt1NiiBDQbWarvUzWgLadtsvGb15QCEc1Kt22S2opkB/olmpKlfemI8LWQmNIyliTIVAN03UlkmlyLcrQo9MFXlO0KSqfQs8OrsCi6RcwKx2LGa+161d8ZAUS7R4Vllc= 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 175348800322831.280078113775176; Fri, 25 Jul 2025 17:00:03 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058728.1426296 (Exim 4.92) (envelope-from ) id 1ufSKK-0001Mq-KD; Fri, 25 Jul 2025 23:59:48 +0000 Received: by outflank-mailman (output) from mailman id 1058728.1426296; Fri, 25 Jul 2025 23:59:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSKK-0001MC-EX; Fri, 25 Jul 2025 23:59:48 +0000 Received: by outflank-mailman (input) for mailman id 1058728; Fri, 25 Jul 2025 23:59:46 +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 1ufSKI-0007YZ-Bo for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:46 +0000 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2062d.outbound.protection.outlook.com [2a01:111:f403:2414::62d]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6f83f209-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:44 +0200 (CEST) Received: from BY5PR17CA0048.namprd17.prod.outlook.com (2603:10b6:a03:167::25) by LV8PR12MB9667.namprd12.prod.outlook.com (2603:10b6:408:297::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 23:59:41 +0000 Received: from SJ5PEPF00000206.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::88) by BY5PR17CA0048.outlook.office365.com (2603:10b6:a03:167::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.24 via Frontend Transport; Fri, 25 Jul 2025 23:59:40 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF00000206.mail.protection.outlook.com (10.167.244.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:40 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Fri, 25 Jul 2025 18:59:39 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:39 -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: 6f83f209-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CQj3mm8BEdYL2oHmAC31tzW/DHBd0P/7xheiqZpKHSMlf9rBU5PIC6eToqahPDWX43N0MQVJ2naG+406ZmKQS/eXqDJtaXc9mz4dgo89dbVfsbk7JN8pZuk50z2EyYkoZpD0sEsjNmLPZLKUQ5Ft8A5oXzj0HGqnDJ4tkkGjUg28NguCtNRDNI3GIbBuekC8n46kvMYJTypfxSGwdHL2ZzKyykumMlToi1sQtZQqa7/keIobUGfBjlWu852WDDZ3mxfXM5y7EavQ0RXG1BrzLy2dbgB1QNy4pFzvBlTivIzQtSg4b+T/m1p0K9VvWSBjYUwcngBQHgLt2njlaqiwFQ== 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=+kKFCNFyptcpiw4lFRKhcWH6qMRw/y7Ho+2rz52PFhI=; b=t81fjirudYbHdSnlZwUGZ7GYxPcebSHm4ad1ZaN2rk+8TWzcEhpmCY1UvNcitO8HkhqG/mVbwAjONpp3BlENy7xef4PVxRbYPJOiTXiI61ewYxQT0xebCpdB4llM+SNUQ83oB/Xq21GTphUVsSP2CkgG9YTAmF+z88bUcpCPSCk2EVp6+hNLxOEBBC78k0xmzKkxTLMUyAgkXsMy4PoCFBLjjdgbc1eF/OfccqTHd8tY4wkh27FgSwHWB0eDS6CrWDHPW3TqiuvmHnopbBKmjvYbOI17HUhABTWmF9yxbm6Z9pclPWj79klNRjRA1ZzTnIwwvrthUjwZ40X3iBgsTw== 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=+kKFCNFyptcpiw4lFRKhcWH6qMRw/y7Ho+2rz52PFhI=; b=KenbhnwM12CO+HGyPpnCgD9WY9mW41SZIqo6qnkGZvgiRtGRvIW6oFYqlr64ITcTIVgaMjnXqeLFShaSE180mLaBM7NAWev31HhygObxxmVIjAlTDa1grAiDnCOhOu52SpZrdIHQHs80pSwNSZyXghMHDIXqbwarUFa0AMq2y8Q= 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 , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 10/11] tools/xenstored: Remove stubdom special casing Date: Fri, 25 Jul 2025 19:58:57 -0400 Message-ID: <20250725235858.666813-11-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-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: SJ5PEPF00000206:EE_|LV8PR12MB9667:EE_ X-MS-Office365-Filtering-Correlation-Id: e97f2bb1-92f8-44b6-b38e-08ddcbd751b5 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?dTlWUGdn3kQuYDC3skqlNQ2ru6kG0INi4rLkW36n2Yxe4TVHTXbGf/FQYLrE?= =?us-ascii?Q?TnMrdQZ05TQhtfdxOlBgp/NkltBXs51d0cklyUepYu+MBuAPDyMLetIGa6Pv?= =?us-ascii?Q?ZUyh4dO/gHpJb5+AlJxwC23BlT6bxHfboxH398NEujXl9rYq2gR2Mm7Ms7E0?= =?us-ascii?Q?rEPWFdi1qoVfEIHTS1StUMx2v221zDObb4BxeqZy4QXhPiNXqayLCOwg688n?= =?us-ascii?Q?gJEVelUt0GMX6LzMcgzbAxxplGxsc5NTHZcSyr9PhSdcp/R2AaHHYPMOsFqU?= =?us-ascii?Q?OBN+jJ90SBWy5fXtzzufaVJP1WQYMP8g1LNWCKZeWjaYBt2zxon6pQ1QnG0T?= =?us-ascii?Q?S7KlR5Qhul+Ei6boMcGVRZ3MRfSuGNQbXegc3zMxItdVW7yMoCGRz3Gbez/1?= =?us-ascii?Q?n5IF5k9ySpMRdIfdJhM0ZQ4w43o6yX+U6M18Q2CUuT6KA3itO4rEtY7PnIEA?= =?us-ascii?Q?aN4VlcUCVU90cp1glhIUD70troLbPt5ovSSA75OPlBOZ4KyOGdCHsDmTlFEx?= =?us-ascii?Q?/6Y1kSR5kcLry3ZckcKeIr5/wIeJhoqpgoSuP2aLl9Yw+i9FJXzJE3rtrD0j?= =?us-ascii?Q?p7k6xduPQONB7kZ1Dr7RZndMDb7jSFuhVuJ9Z0ekLJpweDCgatZb7zS97yV5?= =?us-ascii?Q?JmJkX58aCKhmxgLeUAn/QmOeGBvclBIWpbJAplfARekOTP4ce4AOKZz3kCyr?= =?us-ascii?Q?QSVhqvH7CZyrW0SeheP/6u4DhLjVcKPPhcBtiT6cxgrsBobN2d67l9rP9Rta?= =?us-ascii?Q?yCsNYs9l/ByKMB+QQtO67W6RxUN2KRsb45zXTYbbc/0XxJUCy+WO+Twt+hlZ?= =?us-ascii?Q?IYVcwRZo8sblDR8ORKNYZRjVOc9sSlR5olJeFP5zkJjn7YrV0sfFdm7/nrEH?= =?us-ascii?Q?U+iLMWUhpypnOP6hwbHSf51Bnv029E2mMIiGxa3gaPjGlPowVqF9gUd+WzM9?= =?us-ascii?Q?4hEQFA2wI9VxysncQ/wTizST6WAS+CdQn0kW77n7hkotyneND5qnBRsEKsVx?= =?us-ascii?Q?Rb+Yadc1I7a4YAMN8WmnKFPPVRBs6ESbiHsUmh6I7Yx8Z5dwzCwEkQTxxbOK?= =?us-ascii?Q?47po2QlhpukBxBmg+3nnFEryXpYUgfbBgAm6td3bsQlcr07tQwpCsuPen0wZ?= =?us-ascii?Q?z3Y0ImyTU9RIRdor779pvX0enFknTC+c4s3s2eXCycZIrYMCzfpcJa9kPhJI?= =?us-ascii?Q?ntv6hmVgPC2Hz/G+o9/w5G1pV0elc5CoS7wLEf1hjodxcotywVCMa6Cey4qw?= =?us-ascii?Q?DyACuolrhDL9pJl1nzzZ47z52wfUz1CTKvRdkZ/4B8EZUzU+Ut62iUZPrR0b?= =?us-ascii?Q?StF8JeVpy16/Sb5Cjwco9A6AGGqiuZ4BnTgkjaWab8AWrHoeHuMI+4226pun?= =?us-ascii?Q?X+b0CapTgEHCZnM65y41KTs7sVOLH3eQ3Ooe4j7IIG2Ja42DBAcDRrVI4qnN?= =?us-ascii?Q?7lWDE0w+BCbd9UvNwf2/yiER6PvvtfAW72PUVONkIv0k1w17u/tn7Wjni3dW?= =?us-ascii?Q?y5A4XNCm7UpU65D0c4kKcqbx33FxtI+CwdLY?= 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)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:40.4408 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e97f2bb1-92f8-44b6-b38e-08ddcbd751b5 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: SJ5PEPF00000206.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9667 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488004048116600 Content-Type: text/plain; charset="utf-8" posix.c and minios.c implement the same named functions serving slightly different purposes. For xenbus_map() posix.c maps the local /dev/xen/xsd_kva minios.c maps dom0 via grant and there is open coding for stub_domid in map_interface. Change xenbus_map() to map the local domain's interface. The default grant table mapping is performed otherwise. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v5: Re-order later --- tools/xenstored/domain.c | 5 ----- tools/xenstored/minios.c | 4 +--- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 2f79db26df..be8dd19eb8 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -506,11 +506,6 @@ static void *map_interface(domid_t domid) if (domid =3D=3D store_domid) return xenbus_map(); =20 -#ifdef __MINIOS__ - if (domid =3D=3D stub_domid) - return xenstore_buf; -#endif - return xengnttab_map_grant_ref(*xgt_handle, domid, GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE); diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c index a86edbd5c8..54230796b5 100644 --- a/tools/xenstored/minios.c +++ b/tools/xenstored/minios.c @@ -61,13 +61,11 @@ evtchn_port_t get_domain_evtchn(unsigned int domid) =20 void *xenbus_map(void) { - return xengnttab_map_grant_ref(*xgt_handle, xenbus_master_domid(), - GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE); + return xenstore_buf; } =20 void unmap_xenbus(void *interface) { - xengnttab_unmap(*xgt_handle, interface, 1); } =20 void early_init(bool live_update, bool dofork, const char *pidfile) --=20 2.50.1 From nobody Thu Oct 30 18:40:02 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=1753488075; cv=pass; d=zohomail.com; s=zohoarc; b=W0L4YVvQndGTt6ucf+F+mMbywgmDULFtsN4OFvbyw7hqsZXhjngN0VPBfCcSDEMdNkNVBZBD2l67+3phrdlpjphK4uQrcXmlRSw+ixzbbGFYg5HcJwVxshkqIgZQnpZ0+k5gmornAzoCTy3DsCBmQiTgSYrYMarELpUwC2+mZTA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753488075; 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=JMb+CZpB0PdG90Nd9aOEvc5avbnSZpQyX1THv7zdhO4=; b=H+Av0XtSRraVEhTJk16s6c+zgN7UEVEqKzxXDD4QtyQdkd/D6SlLH/iPRGmHHT6FRbXjmSOflRs9Tgj3CCo7a4tf/2dgqWDgnGfHTbSx7dm6HjN11rMz2X1Wm8seUH/GTKxjDDAiwaLKhupKwxsujPBM3n0aWcw39FdceTfJSh8= 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 1753488075686954.2782497460205; Fri, 25 Jul 2025 17:01:15 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1058774.1426327 (Exim 4.92) (envelope-from ) id 1ufSLY-0006lh-4Z; Sat, 26 Jul 2025 00:01:04 +0000 Received: by outflank-mailman (output) from mailman id 1058774.1426327; Sat, 26 Jul 2025 00:01:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ufSLY-0006lK-0G; Sat, 26 Jul 2025 00:01:04 +0000 Received: by outflank-mailman (input) for mailman id 1058774; Sat, 26 Jul 2025 00:01:03 +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 1ufSKM-0007YZ-2C for xen-devel@lists.xenproject.org; Fri, 25 Jul 2025 23:59:50 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2062a.outbound.protection.outlook.com [2a01:111:f403:2009::62a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 70b47ba6-69b3-11f0-b895-0df219b8e170; Sat, 26 Jul 2025 01:59:47 +0200 (CEST) Received: from BY5PR17CA0051.namprd17.prod.outlook.com (2603:10b6:a03:167::28) by PH7PR12MB8795.namprd12.prod.outlook.com (2603:10b6:510:275::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.21; Fri, 25 Jul 2025 23:59:41 +0000 Received: from SJ5PEPF00000206.namprd05.prod.outlook.com (2603:10b6:a03:167:cafe::a3) by BY5PR17CA0051.outlook.office365.com (2603:10b6:a03:167::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8964.23 via Frontend Transport; Fri, 25 Jul 2025 23:59:41 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF00000206.mail.protection.outlook.com (10.167.244.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8964.20 via Frontend Transport; Fri, 25 Jul 2025 23:59:41 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Fri, 25 Jul 2025 18:59:40 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 25 Jul 2025 18:59:40 -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: 70b47ba6-69b3-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xlrYDzRUVd6QyEQqaAchGjRjBkrEAV9D2Efq+D5ZT2bEcrbBn4uIY787LdM71COj+RSROb9PnKRhUYVfxYkWb6gZYMNh3p7YV1Jbz5bK0Xt8OeyS+ze12Xwly5VpDGVxol+HFLLjGshXL/IBuomdsLWwgIjgE0uSaPaIzvXadXkEuSuo3NBM+hHf7ku9+tOLBlf6q02WR2+AH3vqbSQTLwTrNtnqkxSPlUC1Jq5GKRhIfbScDCuaNnNE+G/Wr1tH12hDSNojnTRQ/j52s9EtQa2veKyo8tyRDlf/HorQaWcIXBtMOym+PaFxp+auhP8OvLonMyuyAvU5zF42AsdH4g== 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=JMb+CZpB0PdG90Nd9aOEvc5avbnSZpQyX1THv7zdhO4=; b=tj0CwMmRCtIM/QKpEKsQ/PGBHWKX3w8/Ikr64WuRmRtymngCIIB7NkBXDDCmPxcS/xXAe3yDSyLaFd11ArSmQN5ghJ99bhKaQqbIf3Q1SfTrwR6FkY9o9Hya/T5XD5pSzv6zHh81RCPtr2vHzu+9sxUnGWOKThNQ+KJJHeqf3QAugwOZ3Ys8fzwjrEnMpYABy/36SHm4+41Cs9LE4NCnfvq9hT0MLW0tu3jjql2f+HBzCxZBc1bmtfgZnWwLDINi4KA4j2UW11KEQm3rm/FbDrEpCuLN5QKjUuJ1IsUFq7ZRNlH9SrcG2ij3cYeDp6NvqJj5lPzrlwSVg7pimaFKfw== 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=JMb+CZpB0PdG90Nd9aOEvc5avbnSZpQyX1THv7zdhO4=; b=Z49SpROP3Avy85THy6IWuMmtTUTZ3M1moLVzXIZ+JBPLiouAmsu4rHlljx+oEuFXcODVRq+3jj8m5DzGm+EBESu8QQ/ePNXo/RZHVZSjhdA53FD0g7MDR21/6eE1898lcbx9llRKBfeEL9Txt7Z/X7Pj/VH1NGnfRHcSJXzr/0E= 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 , Juergen Gross , Julien Grall , Anthony PERARD Subject: [PATCH v5 11/11] tools/xenstored: Remove hardcoded implicit path Date: Fri, 25 Jul 2025 19:58:58 -0400 Message-ID: <20250725235858.666813-12-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250725235858.666813-1-jason.andryuk@amd.com> References: <20250725235858.666813-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: SJ5PEPF00000206:EE_|PH7PR12MB8795:EE_ X-MS-Office365-Filtering-Correlation-Id: 3aee8394-38b4-41b9-7e5f-08ddcbd75274 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PyaGs+pDKn28tjTV7gCBunD5JnSuHSd4BoVtN6Xfl36p19W7M6XEsEFKsZYp?= =?us-ascii?Q?BofwlvAgGnxKMGynrlJ1FOAJi+q/DrR7diSZ+f7VpoYYPdEb2mCiYBUnv/AD?= =?us-ascii?Q?/mWvGerWtH8J/kclhxBqs8w0BUsIomdCaDvqSnhF9geRgBvKGOBjqYwCLf3F?= =?us-ascii?Q?3Z4JGy363DyzmAgNfWeb7IFQgDSsW4kwlYP5dKJOf/h2q21LL5Er/6J+i4TO?= =?us-ascii?Q?l23DjEZiB8dBYn4S6D5RXm1dI6Y4iEPl/foHbi7r3qKw7+n+Vm3zAFO3iso1?= =?us-ascii?Q?eXuFPITGGjCqvwFJjpC0ed7oq0BB4ahvHS4U4a1PniJmJDxV7U6UbpG7yK4d?= =?us-ascii?Q?FOu4lKk5HktwwHH/IQXU7VJOL79+prtBibvF32JgzLtLs0kfC2dMFaNAUHfk?= =?us-ascii?Q?ekLFzMICcjato7akjFBevc2pZR8OiyVxUcB4nkPPW55qcQdWp7lVWfkFL+in?= =?us-ascii?Q?QXMptQTDaFBNAp+kqaqM5Fp4VF62FOQOBOgn0/rdH9JwIX1TUiHd2Zia3J/n?= =?us-ascii?Q?wP8tY8hCgQv8+xAuMO54odTuti3rs3p5vxR4iQNveA90zfC3GC8tx58ezgkj?= =?us-ascii?Q?daEjVlR+iGVrEGcLqSiuPanJ1trZvyk/YCtarI2mDEWebhAYSNT/v8KkALMD?= =?us-ascii?Q?1fZBf2QvZiyrBNV4HOXOXWse4HEfCGk7ddwDc4bAm3lFRGXSXyT8HE9eXtR8?= =?us-ascii?Q?q3RBmJ+jluvhT+RI8843pWyLzctLOhRECrg4fzidIev6ysJ8k0egGlG3GkOk?= =?us-ascii?Q?104a3kOpgnJ0d4n/VR13PlFtU9DTUzLoiGt1tJRJqMIFnH/6/AqyJ20E4qY9?= =?us-ascii?Q?BadZENqU/57NmoMmRohk6tvn3vykfyddcE2SkQ3QxE2CwD3Qp6vsh94gynY0?= =?us-ascii?Q?kp4WXVVuYX113s/bZAiAo4ENLt2W3LBJq7uCZnw+cK85RuR+nL75awcxAZVJ?= =?us-ascii?Q?jxQAqyaStxVol02OSLqyGON6ntoJfVtHAypHlhLg3gCqTNAr7TV+uGH+QqQO?= =?us-ascii?Q?8p+YRLCRpbbejb2UOndHg6/mjzJSkxyyh3NZlqMB4Fa/+1akm7ytY99wCn2p?= =?us-ascii?Q?Uro+bTIJfY6YXtROwxobZu62FScDHrnq00Ih++0JCv6y5T8lfBWF8G93AqPM?= =?us-ascii?Q?Yrs1Xm/gNS0uVrUu+rspE14qPAeiQn+fgQCnsCSeBx6g9XGtMi152ecGx2of?= =?us-ascii?Q?VPqtRDCDPtXcNnzX54f8KAeaXO5F6ED1KGLiF5W3rX9O4fTHFOeEJhFr+wlK?= =?us-ascii?Q?2wt7J0K61wHYa6fM9yvVUn+fjTwR0M6CrbEgQ2PBTt5nJBRUkqSNm4GRE5mH?= =?us-ascii?Q?aaGO0jKAPZdinBa0MSk4uKVFUVYIRiLrm60+QyBC5V0jnfY5G+xQSUvu3NWo?= =?us-ascii?Q?CZg8jWt24wBqSg2++TA5bEKkJXjgswm0jWZQmibR43VDeZbV2y4h9p1kNdh8?= =?us-ascii?Q?v7E+GdW+W//GNQnipLW7q3byzv6F2iqjMjVYjoavR759YQAH0uVRu0YxIcLv?= =?us-ascii?Q?Yzvp9KnxOlOwLNUTp6PIpOf7C+JWfh8ks6pW?= 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)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 23:59:41.6909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3aee8394-38b4-41b9-7e5f-08ddcbd75274 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: SJ5PEPF00000206.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8795 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1753488076878116600 Content-Type: text/plain; charset="utf-8" Update get_implicit_path to return the correct value for a non-dom0 xenstored domain. Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v5: R-b: Juergen --- tools/xenstored/domain.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index be8dd19eb8..d083dfb65e 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1238,11 +1238,13 @@ static int close_xgt_handle(void *_handle) return 0; } =20 +static char store_domain_path[] =3D "/local/domain/65535"; + /* Returns the implicit path of a connection (only domains have this) */ const char *get_implicit_path(const struct connection *conn) { if (!conn->domain) - return "/local/domain/0"; + return store_domain_path; return conn->domain->path; } =20 @@ -1312,6 +1314,9 @@ void init_domains(void) if (priv_domid =3D=3D DOMID_INVALID) barf("Could not determine xenstore domid\n"); =20 + snprintf(store_domain_path, sizeof(store_domain_path), + "/local/domain/%u", store_domid); + /* * Local domid must be first to setup structures for firing the special * watches. --=20 2.50.1