|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN][PATCH 2/7] xen/domctl: introduce XEN_DOMCTL_CDF_is_32bits
On 31.07.2025 11:42, Grygorii Strashko wrote:
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -613,7 +613,8 @@ int arch_sanitise_domain_config(struct
> xen_domctl_createdomain *config)
> unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
> unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu |
> XEN_DOMCTL_CDF_vpmu |
> XEN_DOMCTL_CDF_xs_domain |
> - XEN_DOMCTL_CDF_trap_unmapped_accesses );
> + XEN_DOMCTL_CDF_trap_unmapped_accesses |
> + XEN_DOMCTL_CDF_is_32bits );
> unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
>
> if ( (config->flags & ~flags_optional) != flags_required )
> @@ -711,6 +712,13 @@ int arch_domain_create(struct domain *d,
>
> BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>
> +#ifdef CONFIG_ARM_64
> + if ( d->options & XEN_DOMCTL_CDF_is_32bits )
> + d->arch.type = DOMAIN_32BIT;
> + else
> + d->arch.type = DOMAIN_64BIT;
> +#endif
> +
> #ifdef CONFIG_IOREQ_SERVER
> ioreq_domain_init(d);
> #endif
No adjustment to x86'es arch_sanitise_domain_config()? Until the new bit
is actually properly handled, I think its use will need rejecting.
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -68,9 +68,14 @@ struct xen_domctl_createdomain {
> #define XEN_DOMCTL_CDF_vpmu (1U << 7)
> /* Should we trap guest accesses to unmapped addresses? */
> #define XEN_DOMCTL_CDF_trap_unmapped_accesses (1U << 8)
> +/*
> + * Is this domain running 32bit guest?
> + * Used for 64bits arches.
> + */
> +#define XEN_DOMCTL_CDF_is_32bits (1U << 9)
Please pad suitably, as is the case for XEN_DOMCTL_CDF_vpmu visible in
context. XEN_DOMCTL_CDF_trap_unmapped_accesses simply is too long to fit
that padding scheme.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |