[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 1/2] xen: Add capabilities to get_domain_state
On 2025-07-21 20:19, Jason Andryuk wrote: Expose a domain's capabilities - control, hardware or xenstore - through stable get domain state hypercall. The xenstore domain can use this information to assign appropriate permissions on connections. Repurpose the 16bit pad field for this purpose. Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> --- v2: Init info->caps = 0 Remove stale comment on caps field Add Juergen's R-b --- xen/common/domain.c | 10 +++++++++- xen/include/public/domctl.h | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index c347de4335..bb33b1f1c7 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index f1f6f96bc2..136820ea5b 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -1269,8 +1269,11 @@ struct xen_domctl_get_domain_state { #define XEN_DOMCTL_GETDOMSTATE_STATE_SHUTDOWN 0x0002 /* Shutdown finished. */ #define XEN_DOMCTL_GETDOMSTATE_STATE_DYING 0x0004 /* Domain dying. */ #define XEN_DOMCTL_GETDOMSTATE_STATE_DEAD 0x0008 /* Domain dead. */ - uint16_t pad0; /* Must be 0 on input, returned as 0. */ - uint32_t pad1; /* Must be 0 on input, returned as 0. */ + uint16_t caps; +#define XEN_DOMCTL_GETDOMSTATE_CAP_CONTROL 0x0001 /* Control domain. */ +#define XEN_DOMCTL_GETDOMSTATE_CAP_HARDWARE 0x0002 /* Hardware domain. */ +#define XEN_DOMCTL_GETDOMSTATE_CAP_XENSTORE 0x0004 /* Xenstore domain. */ + uint32_t pad0; /* Must be 0 on input, returned as 0. */ I have wondered if we should use some of this padding to start returning the valid capability bits. When the hypercall (and library) will be ready in case the number increases. The other alternative would be to return the bits in some other call, in which case this one would not need to change. And returning the unchanging valids bits on each call seems unnecessary. Regards, Jason uint64_t unique_id; /* Unique domain identifier. */ };
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |