On Tue, Jul 29, 2025 at 01:01:41PM +0200, Juergen Gross wrote: > In order to reactivate an event channel after kexec() of Mini-OS, > libxenevtchn needs to allocate the port data for the event channel > and set the handler again. Add a new interface xenevtchn_bind() > for that purpose, available under Mini-OS only. > > Signed-off-by: Juergen Gross <jgr...@suse.com> > Reviewed-by: Jason Andryuk <jason.andr...@amd.com> > --- > tools/include/xenevtchn.h | 11 +++++++++++ > tools/libs/evtchn/minios.c | 17 +++++++++++++++++ > 2 files changed, 28 insertions(+) > > diff --git a/tools/include/xenevtchn.h b/tools/include/xenevtchn.h > index 1255c85178..113a718d67 100644 > --- a/tools/include/xenevtchn.h > +++ b/tools/include/xenevtchn.h > @@ -173,6 +173,17 @@ int xenevtchn_unmask(xenevtchn_handle *xce, > evtchn_port_t port); > */ > int xenevtchn_restrict(xenevtchn_handle *xce, domid_t domid); > > +/** > + * Bind an event channel under Mini-OS. > + * > + * Bind an event channel specified by its known port after a kexec() of > + * Mini-OS. This function is available under Mini-OS only!
Would guarding this prototype within "#ifdef __MINIOS__" be useful to prevent it from been used? That would give an error earlier when compiling, rather than later when linking a binary. In anycase: Acked-by: Anthony PERARD <anthony.per...@vates.tech> > + * > + * @parm xce handle to the open evtchn interface > + * @parm port the event channel to bind again > + * @return 0 on success, -1 on failure with errno set appropriately. > + */ > +int xenevtchn_bind(xenevtchn_handle *xce, evtchn_port_t port); > #endif > > /* Thanks, -- Anthony PERARD