On 15.03.2023 10:05, Luca Fancellu wrote: > --- a/xen/include/public/arch-arm.h > +++ b/xen/include/public/arch-arm.h > @@ -304,6 +304,9 @@ struct xen_arch_domainconfig { > uint16_t tee_type; > /* IN */ > uint32_t nr_spis; > + /* IN */ > + uint16_t sve_vl_bits; > + uint16_t _pad1;
Can register sizes be a non-power-of-2 in size? If not, by representing the value here as log2(bits) the existing 8-bit padding field could be used instead. Sadly, because of it not having been checked to be zero, that wouldn't avoid ... > --- a/xen/include/public/domctl.h > +++ b/xen/include/public/domctl.h > @@ -21,7 +21,7 @@ > #include "hvm/save.h" > #include "memory.h" > > -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000015 > +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016 ... the need for the bump here. Yet you want to avoid repeating that mistake and hence check that the new padding field you introduce (if the value needs to remain 16 bits wide) is zero on input. Jan