]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/alternatives: Merge both alternative header files
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 16 Jul 2024 11:50:50 +0000 (13:50 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 23 Jul 2024 14:02:31 +0000 (16:02 +0200)
The two alternative header files must stay in sync. This is easier to
achieve within one header file. Therefore merge both of them and have
only one file, like most other architectures.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Tested-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/alternative-asm.h [deleted file]
arch/s390/include/asm/alternative.h
arch/s390/kernel/entry.S

diff --git a/arch/s390/include/asm/alternative-asm.h b/arch/s390/include/asm/alternative-asm.h
deleted file mode 100644 (file)
index 608f628..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _ASM_S390_ALTERNATIVE_ASM_H
-#define _ASM_S390_ALTERNATIVE_ASM_H
-
-#ifdef __ASSEMBLY__
-
-/*
- * Issue one struct alt_instr descriptor entry (need to put it into
- * the section .altinstructions, see below). This entry contains
- * enough information for the alternatives patching code to patch an
- * instruction. See apply_alternatives().
- */
-.macro alt_entry orig_start, orig_end, alt_start, alt_end, feature
-       .long   \orig_start - .
-       .long   \alt_start - .
-       .word   \feature
-       .byte   \orig_end - \orig_start
-       .org    . - ( \orig_end - \orig_start ) & 1
-       .org    . - ( \orig_end - \orig_start ) + ( \alt_end - \alt_start )
-       .org    . - ( \alt_end - \alt_start ) + ( \orig_end - \orig_start )
-.endm
-
-/*
- * Define an alternative between two instructions. If @feature is
- * present, early code in apply_alternatives() replaces @oldinstr with
- * @newinstr.
- */
-.macro ALTERNATIVE oldinstr, newinstr, feature
-       .pushsection .altinstr_replacement,"ax"
-770:   \newinstr
-771:   .popsection
-772:   \oldinstr
-773:   .pushsection .altinstructions,"a"
-       alt_entry 772b, 773b, 770b, 771b, \feature
-       .popsection
-.endm
-
-/*
- * Define an alternative between two instructions. If @feature is
- * present, early code in apply_alternatives() replaces @oldinstr with
- * @newinstr.
- */
-.macro ALTERNATIVE_2 oldinstr, newinstr1, feature1, newinstr2, feature2
-       .pushsection .altinstr_replacement,"ax"
-770:   \newinstr1
-771:   \newinstr2
-772:   .popsection
-773:   \oldinstr
-774:   .pushsection .altinstructions,"a"
-       alt_entry 773b, 774b, 770b, 771b,\feature1
-       alt_entry 773b, 774b, 771b, 772b,\feature2
-       .popsection
-.endm
-
-#endif /*  __ASSEMBLY__  */
-
-#endif /* _ASM_S390_ALTERNATIVE_ASM_H */
index 07459553d64fae9484010a271004bb748b6aa041..16de33750d6c09ecfac332e32c4bb44f8e468d59 100644 (file)
@@ -116,6 +116,56 @@ void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
 /* Use this macro if clobbers are needed without inputs. */
 #define ASM_NO_INPUT_CLOBBER(clobber...) : clobber
 
+#else  /* __ASSEMBLY__ */
+
+/*
+ * Issue one struct alt_instr descriptor entry (need to put it into
+ * the section .altinstructions, see below). This entry contains
+ * enough information for the alternatives patching code to patch an
+ * instruction. See apply_alternatives().
+ */
+.macro alt_entry orig_start, orig_end, alt_start, alt_end, feature
+       .long   \orig_start - .
+       .long   \alt_start - .
+       .word   \feature
+       .byte   \orig_end - \orig_start
+       .org    . - ( \orig_end - \orig_start ) & 1
+       .org    . - ( \orig_end - \orig_start ) + ( \alt_end - \alt_start )
+       .org    . - ( \alt_end - \alt_start ) + ( \orig_end - \orig_start )
+.endm
+
+/*
+ * Define an alternative between two instructions. If @feature is
+ * present, early code in apply_alternatives() replaces @oldinstr with
+ * @newinstr.
+ */
+.macro ALTERNATIVE oldinstr, newinstr, feature
+       .pushsection .altinstr_replacement,"ax"
+770:   \newinstr
+771:   .popsection
+772:   \oldinstr
+773:   .pushsection .altinstructions,"a"
+       alt_entry 772b, 773b, 770b, 771b, \feature
+       .popsection
+.endm
+
+/*
+ * Define an alternative between two instructions. If @feature is
+ * present, early code in apply_alternatives() replaces @oldinstr with
+ * @newinstr.
+ */
+.macro ALTERNATIVE_2 oldinstr, newinstr1, feature1, newinstr2, feature2
+       .pushsection .altinstr_replacement,"ax"
+770:   \newinstr1
+771:   \newinstr2
+772:   .popsection
+773:   \oldinstr
+774:   .pushsection .altinstructions,"a"
+       alt_entry 773b, 774b, 770b, 771b,\feature1
+       alt_entry 773b, 774b, 771b, 772b,\feature2
+       .popsection
+.endm
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_S390_ALTERNATIVE_H */
index fa58bd2c48c9aab2c2d96fe305794cb92f6a7673..866917ff013fae051c3a5d166d4c22a89554623a 100644 (file)
@@ -12,7 +12,7 @@
 #include <linux/init.h>
 #include <linux/linkage.h>
 #include <asm/asm-extable.h>
-#include <asm/alternative-asm.h>
+#include <asm/alternative.h>
 #include <asm/processor.h>
 #include <asm/cache.h>
 #include <asm/dwarf.h>