[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 1/6] qemu/bswap: Add const_le64()
From: |
Jonathan Cameron |
Subject: |
Re: [RFC PATCH 1/6] qemu/bswap: Add const_le64() |
Date: |
Tue, 11 Oct 2022 10:03:00 +0100 |
On Mon, 10 Oct 2022 15:29:39 -0700
ira.weiny@intel.com wrote:
> From: Ira Weiny <ira.weiny@intel.com>
>
> Gcc requires constant versions of cpu_to_le* calls.
>
> Add a 64 bit version.
>
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Seems reasonable to me but I'm not an expert in this stuff.
FWIW
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
There are probably a lot of places in the CXL emulation where
our endian handling isn't correct but so far it hasn't mattered
as all the supported architectures are little endian.
Good to not introduce more cases however!
Jonathan
> ---
> include/qemu/bswap.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
> index 346d05f2aab3..08e607821102 100644
> --- a/include/qemu/bswap.h
> +++ b/include/qemu/bswap.h
> @@ -192,10 +192,20 @@ CPU_CONVERT(le, 64, uint64_t)
> (((_x) & 0x0000ff00U) << 8) | \
> (((_x) & 0x00ff0000U) >> 8) | \
> (((_x) & 0xff000000U) >> 24))
> +# define const_le64(_x) \
> + ((((_x) & 0x00000000000000ffU) << 56) | \
> + (((_x) & 0x000000000000ff00U) << 40) | \
> + (((_x) & 0x0000000000ff0000U) << 24) | \
> + (((_x) & 0x00000000ff000000U) << 8) | \
> + (((_x) & 0x000000ff00000000U) >> 8) | \
> + (((_x) & 0x0000ff0000000000U) >> 24) | \
> + (((_x) & 0x00ff000000000000U) >> 40) | \
> + (((_x) & 0xff00000000000000U) >> 56))
> # define const_le16(_x) \
> ((((_x) & 0x00ff) << 8) | \
> (((_x) & 0xff00) >> 8))
> #else
> +# define const_le64(_x) (_x)
> # define const_le32(_x) (_x)
> # define const_le16(_x) (_x)
> #endif
[RFC PATCH 2/6] qemu/uuid: Add UUID static initializer, ira . weiny, 2022/10/10
[RFC PATCH 6/6] hw/cxl/mailbox: Wire up Get/Set Event Interrupt policy, ira . weiny, 2022/10/10