Message ID | 20160919140436.GA5795@localhost.localdomain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Konrad, On 19/09/2016 16:04, Konrad Rzeszutek Wilk wrote: > 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.grall@arm.com> >>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> >>> >>> --- >>> Cc: Stefano Stabellini <sstabellini@kernel.org> >>> Cc: Julien Grall <julien.grall@arm.com> >>> Cc: Jan Beulich <jbeulich@suse.com> >>> Cc: Andrew Cooper <andrew.cooper3@citrix.com> >>> Cc: Doug Goldstein <cardoe@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.wilk@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 <JBeulich@suse.com> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > --- > Cc: Julien Grall <julien.grall@arm.com> > Cc: Stefano Stabellini <sstabellini@kernel.org> > Cc: Jan Beulich <jbeulich@suse.com> > Cc: Andrew Cooper <andrew.cooper3@citrix.com> > Cc: Doug Goldstein <cardoe@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 Why did you invert HAS_GICV3 and HAS_ALTERNATIVE? This makes the patch more difficult to read. Cheers,
> > @@ -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 > > Why did you invert HAS_GICV3 and HAS_ALTERNATIVE? This makes the patch more > difficult to read. To be in alphabetic order. But considering I remove it immediately in the next patch (as I move it to common/Kconfig) it is kind of pointless. > > Cheers, > > -- > Julien Grall
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) \