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

[PATCH v2 08/17] public/io: xs_wire: Include event channel in interface page


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Wed, 16 Jul 2025 17:14:55 -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=4SrHYelHHxhnkv89jdaZ0HdwLgpuE+uqyfBIn9726pg=; b=n5km9/UC3YiBoExl4+rPjeInhRW8pxRfjzETXCJWILqhVNQ+FcYqZSdMsDZa3+mJJEZDh19gRGXjnka+iKr6vYxryVk+J0ifx9LhVUQP9sxfnEQbgEzraQ4q+NsiV4nyFm6o3j8TH1n7qya2FQxRKxmlq7dHg+IbsFEmQKjdvRFJOvJyYb01x+K2at8qKScRHlM+MRuvLD1vdCY54bUHvV46I2Bi7oSkyYCWcEd6CbK02NE93ejo8IxIduKLgteGtk0dFQouORS0BT020+Ot8kKnevMGDWeiTkL8qr3NJRR7dGsmmFwDpoorPw8oB/sXkILbNXrHvIu2T42KUJlvFA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iNs9usH/Uh7qv/Yibszq5TrIclWrkNysxQnxWmZMyxCrNx32c5L1yZRl6lPHajlOWFemXQDSc79Q2LXTxorHDh3ZT4ZWvXMAVSK6uSQsbWAZfpsLLcfg6YL7J9u5GtjfnGpoKpmCKPGxRpmXFFGKW867vgeoqw//Kzolm6cw/xB389/Ca6b66yUrbr+zg5yhqzmHZTbcP0XzJKyBD0xS0sQ4uYNLq1TSiCkDAAXkVBBgrlNU3IbgnG5J4l8iyAgX+rB9dDDci2sYwOtcjRgzIrWpvFygVSC2AMRtSvIoOOPj4LeGf/EVPnm4DMzxOwsq5f2A3a9S2T5svAHqhvwgBA==
  • Cc: Jason Andryuk <jason.andryuk@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Wed, 16 Jul 2025 21:22:30 +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>
---
 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..f2c0afd107 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 domU'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.0




 


Rackspace

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