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

[xen staging] public/io: xs_wire: Include event channel in interface page



commit ce1b66e72c9aa28507193947ed78080dd7dc22ca
Author:     Jason Andryuk <jason.andryuk@xxxxxxx>
AuthorDate: Mon Jul 28 13:07:58 2025 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Jul 28 13:07:58 2025 +0200

    public/io: xs_wire: Include event channel in interface page
    
    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>
---
 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 */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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