|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v5 21/22] libxl/arm: Introduce domctl command for IOMMU vSID mapping
On 03.11.2026 18:30, Milan Djokic wrote:
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -1279,6 +1279,26 @@ struct xen_domctl_get_domain_state {
> uint64_t unique_id; /* Unique domain identifier. */
> };
>
> +/*
> + * XEN_DOMCTL_viommu_alloc_vsid_range
> + *
> + * Allocate guest vSID range and
> + * establish pSID->vSID mapping for target range and physical IOMMU
> (phandle).
> + * Allocated range is continous
> + */
> +struct xen_domctl_viommu_alloc_vsid_range {
> + /* IN: Range first pSID */
> + uint32_t first_psid;
> + /* IN: Physical IOMMU phandle behind which the target device streams are
> configured */
> + uint32_t phandle;
> + /* IN: Number of vSIDs to allocate */
> + uint16_t nr_sids;
> + /* padding, must be 0 */
> + uint16_t pad;
> + /* OUT: Mapped range first vSID */
> + uint32_t first_vsid;
> +};
> +
> struct xen_domctl {
> /* Stable domctl ops: interface_version is required to be 0. */
> uint32_t cmd;
> @@ -1371,6 +1391,7 @@ struct xen_domctl {
> #define XEN_DOMCTL_gsi_permission 88
> #define XEN_DOMCTL_set_llc_colors 89
> #define XEN_DOMCTL_get_domain_state 90 /* stable interface */
> +#define XEN_DOMCTL_viommu_alloc_vsid_range 91
> #define XEN_DOMCTL_gdbsx_guestmemio 1000
> #define XEN_DOMCTL_gdbsx_pausevcpu 1001
> #define XEN_DOMCTL_gdbsx_unpausevcpu 1002
> @@ -1439,6 +1460,7 @@ struct xen_domctl {
> #endif
> struct xen_domctl_set_llc_colors set_llc_colors;
> struct xen_domctl_get_domain_state get_domain_state;
> + struct xen_domctl_viommu_alloc_vsid_range viommu_alloc_vsid_range;
> uint8_t pad[128];
> } u;
> };
One way or another this new sub-op wants explicitly marking as Arm-only.
The specific interface doesn't look like it might be meant to be arch-
independent, i.e. it's not just the fact that only Arm implements the
sub-op for now.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |