On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
> index d888b2314d..dbbf2fce62 100644
> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -98,4 +98,13 @@
>  #define ZERO_BLOCK_PTR ((void *)-1L)
>  #endif
>  
> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> +
> +#define BITS_PER_BYTE   __CHAR_BIT__
> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
> +
> +#define POINTER_ALIGN   __SIZEOF_POINTER__

See how much nicer this is.  This patch possibly wants to wait until
I've fixed the compiler checks to update to the new baseline, or we can
just say that staging is staging and corner case error messages are fine.

One thing, you have to replace the "<< 3" as you're hard-coding 8 here
and ignoring __CHAR_BIT__.

I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:

#define BITS_PER_INT    (BITS_PER_BYTE * __SIZEOF_INT__)

which tabulates better.

I suggest keeping BITS_PER_XEN_ULONG to be arch-local.  ARM is the
odd-one-out having a non-64bit arch use a 64bit XEN_ULONG.

~Andrew

Reply via email to