On 11.04.2024 01:47, Stefano Stabellini wrote:
> Straightforward int -> int32_t and unsigned int -> uint32_t replacements
> in public headers. No ABI or semantic changes intended.

I understand there is a limited in scope goal here, but once doing type
adjustments I think it ought to at least be considered to go one step
further and ...

> --- a/xen/include/public/kexec.h
> +++ b/xen/include/public/kexec.h
> @@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
>   */
>  #define KEXEC_CMD_kexec                 0
>  typedef struct xen_kexec_exec {
> -    int type;
> +    int32_t type;
>  } xen_kexec_exec_t;
>  
>  /*
> @@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
>  #define KEXEC_CMD_kexec_load_v1         1 /* obsolete since 0x00040400 */
>  #define KEXEC_CMD_kexec_unload_v1       2 /* obsolete since 0x00040400 */
>  typedef struct xen_kexec_load_v1 {
> -    int type;
> +    int32_t type;
>      xen_kexec_image_t image;
>  } xen_kexec_load_v1_t;
>  
> @@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
>   */
>  #define KEXEC_CMD_kexec_get_range       3
>  typedef struct xen_kexec_range {
> -    int range;
> -    int nr;
> +    int32_t range;
> +    int32_t nr;
>      unsigned long size;
>      unsigned long start;
>  } xen_kexec_range_t;

... change e.g. all of the ones touched here to uint32_t. None have a
purpose of permitting negative values afaict.

> --- a/xen/include/public/physdev.h
> +++ b/xen/include/public/physdev.h
> @@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
>  struct physdev_map_pirq {
>      domid_t domid;
>      /* IN */
> -    int type;
> +    int32_t type;
>      /* IN (ignored for ..._MULTI_MSI) */
> -    int index;
> +    int32_t index;
>      /* IN or OUT */
> -    int pirq;
> +    int32_t pirq;
>      /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
> -    int bus;
> +    int32_t bus;
>      /* IN */
> -    int devfn;
> +    int32_t devfn;
>      /* IN (also OUT for ..._MULTI_MSI) */
> -    int entry_nr;
> +    int32_t entry_nr;
>      /* IN */
>      uint64_t table_base;
>  };

Whereas iirc at least "index" here would need keeping as a signed quantity.
It may therefore make sense to split the patch (I'd be fine ack-ing the
memory.h and sched.h changes right away).

Jan

Reply via email to