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

[PATCH v4 03/12] public/io: xs_wire: Include event channel in interface page


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Thu, 24 Jul 2025 22:28:03 -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=BRN0ch15ZGLTfVuWmxXcVf+buQAhYvGBjEkpA/XjCmpk5ZdffxI7PD4CEdjIgJ8smozxAt4mN499a6q8gfaNqwUhU7xMKxIp9q1btB/OT7SnLj0zH8+7ZdFx15jIlCHcCF19SvyaQxt3rieERq73RQZVL8DgYWte7soL8hzNMD6NTkaGBwt6MMvoSdzpnrwSPCsE8GPuaUU/NxId+v8oljbtRxkI60hy0fFqCS7zUlIMDZt+gjj/UFTleaWhyUfRBsvGYEAt1k5JF2bpMz9kvI8wBtJUEW3Yk/RHdWFYb+00ZerYRjBLZEv5snzrlQ0APsP0CGCkprbUb/CfTxfliA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PMHteKIi6r8JKnFvta5BqWWS4d/co5wW4mqV//wOtJoy6TUN7DRf1YLo5Pw0GFMEYA2I4TnjM3aJDVE7FOsEzslINa6YC6QYmNOJ1bHQo6i7IqQQkmYITeMhEyvxJg3rUfK4T5VZh4x53f2oGZc1BHkEdtTiUVjfVlztKJq/QJrL8KsAyEzlCrQseSkogV8EiMpC6nz20f6bmfLp7Ssn4ca3g4zuUytT4e0xI5F1yXHxpt8oN9WqowL1rd/49kTXZL1y4bOYYEaOG6zhs8M2/dk/G0IOYm6pEaM//lbA5bPqpQXAdLHjKTVEKE5fVJi+kxTswhjG0KydMsRJOqZR5Q==
  • Cc: Jason Andryuk <jason.andryuk@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Fri, 25 Jul 2025 02:28:40 +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®.