[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC PATCH v2 12/15] xen/arm64: port Linux's arm64 lse.h to Xen
From: Ash Wilding <ash.j.wilding@xxxxxxxxx> This just involves making system_uses_lse_atomics() call cpus_have_cap() instead of directly looking up in cpu_hwcap_keys. Not 100% sure whether this is a valid transformation until I do a run test. Signed-off-by: Ash Wilding <ash.j.wilding@xxxxxxxxx> --- xen/include/asm-arm/arm64/lse.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/xen/include/asm-arm/arm64/lse.h b/xen/include/asm-arm/arm64/lse.h index 704be3e4e4..847727f219 100644 --- a/xen/include/asm-arm/arm64/lse.h +++ b/xen/include/asm-arm/arm64/lse.h @@ -1,28 +1,28 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_LSE_H -#define __ASM_LSE_H +/* + * Taken from Linux 5.10-rc2 (last commit 3cea11cd5) + * + * SPDX-License-Identifier: GPL-2.0 + */ +#ifndef __ASM_ARM_ARM64_LSE_H +#define __ASM_ARM_ARM64_LSE_H -#include <asm/atomic_ll_sc.h> +#include "atomic_ll_sc.h" #ifdef CONFIG_ARM64_LSE_ATOMICS #define __LSE_PREAMBLE ".arch_extension lse\n" -#include <linux/compiler_types.h> -#include <linux/export.h> -#include <linux/jump_label.h> -#include <linux/stringify.h> +#include <xen/compiler.h> +#include <xen/stringify.h> +#include <xen/types.h> + #include <asm/alternative.h> -#include <asm/atomic_lse.h> -#include <asm/cpucaps.h> -extern struct static_key_false cpu_hwcap_keys[ARM64_NCAPS]; -extern struct static_key_false arm64_const_caps_ready; +#include "atomic_lse.h" static inline bool system_uses_lse_atomics(void) { - return (static_branch_likely(&arm64_const_caps_ready)) && - static_branch_likely(&cpu_hwcap_keys[ARM64_HAS_LSE_ATOMICS]); + return cpus_have_cap(ARM64_HAS_LSE_ATOMICS); } #define __lse_ll_sc_body(op, ...) \ @@ -45,4 +45,4 @@ static inline bool system_uses_lse_atomics(void) { return false; } #define ARM64_LSE_ATOMIC_INSN(llsc, lse) llsc #endif /* CONFIG_ARM64_LSE_ATOMICS */ -#endif /* __ASM_LSE_H */ \ No newline at end of file +#endif /* __ASM_ARM_ARM64_LSE_H */ \ No newline at end of file -- 2.24.3 (Apple Git-128)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |