[PATCH v6 03/27] arm64/sysreg: Add LINKER_SCRIPT guards for sysreg.h

Mark Brown broonie at kernel.org
Wed Jun 29 03:28:10 PDT 2022


In subsequent patches sysreg.h and gpr-num.h will be included from other
headers which can be included from linker scripts (e.g. via cache.h), and
contain assember macro directives that don't work in linker scripts (e.g.
`.macro` and `.irp`).

To avoid needing LINKER_SCRIPT guards in every file which could have a
transitive dependency, add those directly to sysreg.h and gpr-num.h.

Signed-off-by: Mark Brown <broonie at kernel.org>
---
 arch/arm64/include/asm/gpr-num.h | 3 +++
 arch/arm64/include/asm/sysreg.h  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/arch/arm64/include/asm/gpr-num.h b/arch/arm64/include/asm/gpr-num.h
index 05da4a7c5788..72c44f63fb41 100644
--- a/arch/arm64/include/asm/gpr-num.h
+++ b/arch/arm64/include/asm/gpr-num.h
@@ -4,12 +4,15 @@
 
 #ifdef __ASSEMBLY__
 
+#ifndef LINKER_SCRIPT
+
 	.irp	num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
 	.equ	.L__gpr_num_x\num, \num
 	.equ	.L__gpr_num_w\num, \num
 	.endr
 	.equ	.L__gpr_num_xzr, 31
 	.equ	.L__gpr_num_wzr, 31
+#endif /* !LINKER_SCRIPT */
 
 #else /* __ASSEMBLY__ */
 
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
index 42ff95dba6da..6c7be1a2114b 100644
--- a/arch/arm64/include/asm/sysreg.h
+++ b/arch/arm64/include/asm/sysreg.h
@@ -1219,6 +1219,7 @@
 
 #ifdef __ASSEMBLY__
 
+#ifndef LINKER_SCRIPT
 	.macro	mrs_s, rt, sreg
 	 __emit_inst(0xd5200000|(\sreg)|(.L__gpr_num_\rt))
 	.endm
@@ -1226,6 +1227,7 @@
 	.macro	msr_s, sreg, rt
 	__emit_inst(0xd5000000|(\sreg)|(.L__gpr_num_\rt))
 	.endm
+#endif /* !LINKER_SCRIPT */
 
 #else
 
-- 
2.30.2




More information about the linux-arm-kernel mailing list