[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] xen/arch: Switch to new byteorder infrastructure
commit 958581014b6fc35ebdc060940e2622960c4d553c Author: Lin Liu <lin.liu@xxxxxxxxxx> AuthorDate: Mon May 9 06:47:10 2022 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Apr 18 15:16:12 2025 +0100 xen/arch: Switch to new byteorder infrastructure This needs to be done in several steps, because of common vs arch issues. Start by using the new common infrastructure inside the arch infrastructure. libelf-private.h is awkward, and the only thing in Xen using swab??() directly. It needs updating at the same time. Signed-off-by: Lin Liu <lin.liu@xxxxxxxxxx> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/arm/include/asm/byteorder.h | 4 +--- xen/arch/ppc/include/asm/byteorder.h | 8 +------- xen/arch/riscv/include/asm/byteorder.h | 4 +--- xen/arch/x86/include/asm/byteorder.h | 25 +------------------------ xen/common/libelf/libelf-private.h | 6 +++--- 5 files changed, 7 insertions(+), 40 deletions(-) diff --git a/xen/arch/arm/include/asm/byteorder.h b/xen/arch/arm/include/asm/byteorder.h index 9c712c4788..7f1419c45a 100644 --- a/xen/arch/arm/include/asm/byteorder.h +++ b/xen/arch/arm/include/asm/byteorder.h @@ -1,9 +1,7 @@ #ifndef __ASM_ARM_BYTEORDER_H__ #define __ASM_ARM_BYTEORDER_H__ -#define __BYTEORDER_HAS_U64__ - -#include <xen/byteorder/little_endian.h> +#include <xen/byteorder.h> #endif /* __ASM_ARM_BYTEORDER_H__ */ /* diff --git a/xen/arch/ppc/include/asm/byteorder.h b/xen/arch/ppc/include/asm/byteorder.h index 2b5f6b9f63..8df6adbf0d 100644 --- a/xen/arch/ppc/include/asm/byteorder.h +++ b/xen/arch/ppc/include/asm/byteorder.h @@ -1,12 +1,6 @@ #ifndef _ASM_PPC_BYTEORDER_H #define _ASM_PPC_BYTEORDER_H -#define __arch__swab16 __builtin_bswap16 -#define __arch__swab32 __builtin_bswap32 -#define __arch__swab64 __builtin_bswap64 - -#define __BYTEORDER_HAS_U64__ - -#include <xen/byteorder/little_endian.h> +#include <xen/byteorder.h> #endif /* _ASM_PPC_BYTEORDER_H */ diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h index 8ca65e1b33..a32bca02df 100644 --- a/xen/arch/riscv/include/asm/byteorder.h +++ b/xen/arch/riscv/include/asm/byteorder.h @@ -1,9 +1,7 @@ #ifndef ASM__RISCV__BYTEORDER_H #define ASM__RISCV__BYTEORDER_H -#define __BYTEORDER_HAS_U64__ - -#include <xen/byteorder/little_endian.h> +#include <xen/byteorder.h> #endif /* ASM__RISCV__BYTEORDER_H */ /* diff --git a/xen/arch/x86/include/asm/byteorder.h b/xen/arch/x86/include/asm/byteorder.h index 44c240376d..3524a6cee7 100644 --- a/xen/arch/x86/include/asm/byteorder.h +++ b/xen/arch/x86/include/asm/byteorder.h @@ -1,29 +1,6 @@ #ifndef __ASM_X86_BYTEORDER_H__ #define __ASM_X86_BYTEORDER_H__ -#include <xen/types.h> -#include <xen/compiler.h> - -static inline attr_const uint32_t ___arch__swab32(uint32_t x) -{ - asm("bswap %0" : "=r" (x) : "0" (x)); - return x; -} - -static inline attr_const uint64_t ___arch__swab64(uint64_t x) -{ - asm ( "bswap %0" : "+r" (x) ); - return x; -} - -/* Do not define swab16. Gcc is smart enough to recognize "C" version and - convert it into rotation or exhange. */ - -#define __arch__swab64(x) ___arch__swab64(x) -#define __arch__swab32(x) ___arch__swab32(x) - -#define __BYTEORDER_HAS_U64__ - -#include <xen/byteorder/little_endian.h> +#include <xen/byteorder.h> #endif /* __ASM_X86_BYTEORDER_H__ */ diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h index 197d7a7623..65417dffc8 100644 --- a/xen/common/libelf/libelf-private.h +++ b/xen/common/libelf/libelf-private.h @@ -31,9 +31,9 @@ printk(fmt, ## args ) #define strtoull(str, end, base) simple_strtoull(str, end, base) -#define bswap_16(x) swab16(x) -#define bswap_32(x) swab32(x) -#define bswap_64(x) swab64(x) +#define bswap_16(x) bswap16(x) +#define bswap_32(x) bswap32(x) +#define bswap_64(x) bswap64(x) #else /* !__XEN__ */ -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |