diff mbox

[v4,01/16] arm/x86/common: Add HAS_[ALTERNATIVE|EX_TABLE]

Message ID 20160919140436.GA5795@localhost.localdomain (mailing list archive)
State New, archived
Headers show

Commit Message

Konrad Rzeszutek Wilk Sept. 19, 2016, 2:04 p.m. UTC
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(-)

Comments

Julien Grall Sept. 19, 2016, 2:09 p.m. UTC | #1
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,
Konrad Rzeszutek Wilk Sept. 19, 2016, 2:43 p.m. UTC | #2
> > @@ -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 mbox

Patch

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)           \