arm64: alternative: Merge alternative-asm.h into alternative.h
asm/alternative-asm.h and asm/alternative.h are extremely similar, and really deserve to live in the same file (as this makes further modufications a bit easier). Fold the content of alternative-asm.h into alternative.h, and update the few users. Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
7616fc8bcd
commit
8d883b23ae
4 changed files with 29 additions and 31 deletions
|
@ -1,29 +0,0 @@
|
||||||
#ifndef __ASM_ALTERNATIVE_ASM_H
|
|
||||||
#define __ASM_ALTERNATIVE_ASM_H
|
|
||||||
|
|
||||||
#ifdef __ASSEMBLY__
|
|
||||||
|
|
||||||
.macro altinstruction_entry orig_offset alt_offset feature orig_len alt_len
|
|
||||||
.word \orig_offset - .
|
|
||||||
.word \alt_offset - .
|
|
||||||
.hword \feature
|
|
||||||
.byte \orig_len
|
|
||||||
.byte \alt_len
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro alternative_insn insn1 insn2 cap
|
|
||||||
661: \insn1
|
|
||||||
662: .pushsection .altinstructions, "a"
|
|
||||||
altinstruction_entry 661b, 663f, \cap, 662b-661b, 664f-663f
|
|
||||||
.popsection
|
|
||||||
.pushsection .altinstr_replacement, "ax"
|
|
||||||
663: \insn2
|
|
||||||
664: .popsection
|
|
||||||
.if ((664b-663b) != (662b-661b))
|
|
||||||
.error "Alternatives instruction length mismatch"
|
|
||||||
.endif
|
|
||||||
.endm
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
|
|
||||||
#endif /* __ASM_ALTERNATIVE_ASM_H */
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __ASM_ALTERNATIVE_H
|
#ifndef __ASM_ALTERNATIVE_H
|
||||||
#define __ASM_ALTERNATIVE_H
|
#define __ASM_ALTERNATIVE_H
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/stddef.h>
|
#include <linux/stddef.h>
|
||||||
#include <linux/stringify.h>
|
#include <linux/stringify.h>
|
||||||
|
@ -41,4 +43,29 @@ void free_alternatives_memory(void);
|
||||||
" .error \"Alternatives instruction length mismatch\"\n\t"\
|
" .error \"Alternatives instruction length mismatch\"\n\t"\
|
||||||
".endif\n"
|
".endif\n"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
.macro altinstruction_entry orig_offset alt_offset feature orig_len alt_len
|
||||||
|
.word \orig_offset - .
|
||||||
|
.word \alt_offset - .
|
||||||
|
.hword \feature
|
||||||
|
.byte \orig_len
|
||||||
|
.byte \alt_len
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro alternative_insn insn1 insn2 cap
|
||||||
|
661: \insn1
|
||||||
|
662: .pushsection .altinstructions, "a"
|
||||||
|
altinstruction_entry 661b, 663f, \cap, 662b-661b, 664f-663f
|
||||||
|
.popsection
|
||||||
|
.pushsection .altinstr_replacement, "ax"
|
||||||
|
663: \insn2
|
||||||
|
664: .popsection
|
||||||
|
.if ((664b-663b) != (662b-661b))
|
||||||
|
.error "Alternatives instruction length mismatch"
|
||||||
|
.endif
|
||||||
|
.endm
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif /* __ASM_ALTERNATIVE_H */
|
#endif /* __ASM_ALTERNATIVE_H */
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
|
|
||||||
#include <asm/alternative-asm.h>
|
#include <asm/alternative.h>
|
||||||
#include <asm/assembler.h>
|
#include <asm/assembler.h>
|
||||||
#include <asm/asm-offsets.h>
|
#include <asm/asm-offsets.h>
|
||||||
#include <asm/cpufeature.h>
|
#include <asm/cpufeature.h>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <asm/assembler.h>
|
#include <asm/assembler.h>
|
||||||
#include <asm/cpufeature.h>
|
#include <asm/cpufeature.h>
|
||||||
#include <asm/alternative-asm.h>
|
#include <asm/alternative.h>
|
||||||
|
|
||||||
#include "proc-macros.S"
|
#include "proc-macros.S"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue