[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v5 03/11] public/io: xs_wire: Include event channel in interface page


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Fri, 25 Jul 2025 19:58:50 -0400
  • 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)
  • 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-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==
  • Cc: Jason Andryuk <jason.andryuk@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Fri, 25 Jul 2025 23:59:37 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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 <jgross@xxxxxxxx>
Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
---
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_wire.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 server */
     uint32_t connection;
     uint32_t error;
+    uint32_t evtchn_port;
 };
 
 /* 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) */
 
+/*
+ * The evtchn_port field is the domain's event channel for xenstored to signal.
+ * It is filled in by Xen for dom0less/Hyperlaunch domains.  It is only used
+ * when non-zero.  Otherwise the event channel from XS_INTRODUCE is used.
+ */
+
 #endif /* _XS_WIRE_H */
 
 /*
-- 
2.50.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.