On Mon, Sep 19, 2016 at 11:26:19AM +0200, Julien Grall wrote: > Hi Konrad, > > On 16/09/2016 18:38, Konrad Rzeszutek Wilk wrote: > > x86 implements all of them by default - and we just > > add two extra HAS_ variables to be declared in autoconf.h. > > > > ARM 64 only has alternative while ARM 32 has none of them. > > > > And while at it change the livepatch common code that > > would benefit from this. > > > > Suggested-by: Julien Grall <julien.gr...@arm.com> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> > > > > --- > > Cc: Stefano Stabellini <sstabell...@kernel.org> > > Cc: Julien Grall <julien.gr...@arm.com> > > Cc: Jan Beulich <jbeul...@suse.com> > > Cc: Andrew Cooper <andrew.coop...@citrix.com> > > Cc: Doug Goldstein <car...@cardoe.com> > > > > v2: First submission > > v3: Move the config options to common code > > Don't include <xen/config.h> in the file. > > Don't even include <xen/kconfig.h> in the file as xen/Rules.mk > > automatically > > includes the config.h for every GCC invocation. > > v4: Depend on "arm64: s/ALTERNATIVE/HAS_ALTERNATIVE/" > > I can't find this patch on the ML. Did you forget to send it?
Oh darn. Here it is inline: From 13bc2e2f1082ac72e89c598443781b5141412e9a Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Tue, 13 Sep 2016 12:45:14 -0400 Subject: [PATCH] arm64: s/ALTERNATIVE/HAS_ALTERNATIVE/ No functional change. Also move the entries in the Kconfig file to be more in alphabetical order. Suggested-by: Jan Beulich <jbeul...@suse.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> --- Cc: Julien Grall <julien.gr...@arm.com> Cc: Stefano Stabellini <sstabell...@kernel.org> Cc: Jan Beulich <jbeul...@suse.com> Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Doug Goldstein <car...@cardoe.com> v4: New submission. --- xen/arch/arm/Kconfig | 8 ++++---- xen/arch/arm/Makefile | 2 +- xen/arch/arm/xen.lds.S | 2 +- xen/include/asm-arm/alternative.h | 4 ++-- xen/include/asm-arm/cpuerrata.h | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index 797c91f..b188293 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -12,8 +12,8 @@ config ARM_32 config ARM_64 def_bool y depends on 64BIT + select HAS_ALTERNATIVE select HAS_GICV3 - select ALTERNATIVE config ARM def_bool y @@ -42,16 +42,16 @@ config ACPI Advanced Configuration and Power Interface (ACPI) support for Xen is an alternative to device tree on ARM64. -config HAS_GICV3 +config HAS_ALTERNATIVE bool -config ALTERNATIVE +config HAS_GICV3 bool endmenu menu "ARM errata workaround via the alternative framework" - depends on ALTERNATIVE + depends on HAS_ALTERNATIVE config ARM64_ERRATUM_827319 bool "Cortex-A53: 827319: Data cache clean instructions might cause overlapping transactions to the interconnect" diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 64fdf41..61e655b 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -4,7 +4,7 @@ subdir-y += platforms subdir-$(CONFIG_ARM_64) += efi subdir-$(CONFIG_ACPI) += acpi -obj-$(CONFIG_ALTERNATIVE) += alternative.o +obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o obj-y += bootfdt.o obj-y += cpu.o obj-y += cpuerrata.o diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 3c5e7ba..47b910d 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -151,7 +151,7 @@ SECTIONS *(.initcall1.init) __initcall_end = .; -#ifdef CONFIG_ALTERNATIVE +#ifdef CONFIG_HAS_ALTERNATIVE . = ALIGN(4); __alt_instructions = .; *(.altinstructions) diff --git a/xen/include/asm-arm/alternative.h b/xen/include/asm-arm/alternative.h index 9f88fd9..6851217 100644 --- a/xen/include/asm-arm/alternative.h +++ b/xen/include/asm-arm/alternative.h @@ -5,7 +5,7 @@ #include <xen/config.h> #include <xen/kconfig.h> -#ifdef CONFIG_ALTERNATIVE +#ifdef CONFIG_HAS_ALTERNATIVE #ifndef __ASSEMBLY__ @@ -154,7 +154,7 @@ int apply_alternatives(const struct alt_instr *start, const struct alt_instr *en #define ALTERNATIVE(oldinstr, newinstr, ...) \ _ALTERNATIVE_CFG(oldinstr, newinstr, __VA_ARGS__, 1) -#else /* !CONFIG_ALTERNATIVE */ +#else /* !CONFIG_HAS_ALTERNATIVE */ static inline void apply_alternatives_all(void) { diff --git a/xen/include/asm-arm/cpuerrata.h b/xen/include/asm-arm/cpuerrata.h index 5e35b4f..8c57c6a 100644 --- a/xen/include/asm-arm/cpuerrata.h +++ b/xen/include/asm-arm/cpuerrata.h @@ -7,7 +7,7 @@ void check_local_cpu_errata(void); -#ifdef CONFIG_ALTERNATIVE +#ifdef CONFIG_HAS_ALTERNATIVE #define CHECK_WORKAROUND_HELPER(erratum, feature, arch) \ static inline bool_t check_workaround_##erratum(void) \ @@ -27,7 +27,7 @@ static inline bool_t check_workaround_##erratum(void) \ } \ } -#else /* CONFIG_ALTERNATIVE */ +#else /* CONFIG_HAS_ALTERNATIVE */ #define CHECK_WORKAROUND_HELPER(erratum, feature, arch) \ static inline bool_t check_workaround_##erratum(void) \ -- 2.4.11 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel