Browse Source

arm: Leave smccc calls in .text when efi_loader=n

Commit 81ea00838c6 ("efi_loader: PSCI reset and shutdown") put the SMCCC
assembly code into the efi specific code section. This is wrong when we
do not have EFI_LOADER enabled, as that strips efi runtime sections from
the output binary

Reported-by: Michal Simek <monstr@monstr.eu>
Reported-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Tested-by: Michal Simek <monstr@monstr.eu>
Fixes: 81ea00838c6 ("efi_loader: PSCI reset and shutdown")
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf 5 years ago
parent
commit
2f8ab1218f
2 changed files with 4 additions and 0 deletions
  1. 2 0
      arch/arm/cpu/armv7/smccc-call.S
  2. 2 0
      arch/arm/cpu/armv8/smccc-call.S

+ 2 - 0
arch/arm/cpu/armv7/smccc-call.S

@@ -7,7 +7,9 @@
 #include <asm/opcodes-sec.h>
 #include <asm/opcodes-virt.h>
 
+#ifdef CONFIG_EFI_LOADER
 	.section	.text.efi_runtime
+#endif
 
 #define UNWIND(x...)
 	/*

+ 2 - 0
arch/arm/cpu/armv8/smccc-call.S

@@ -6,7 +6,9 @@
 #include <linux/arm-smccc.h>
 #include <generated/asm-offsets.h>
 
+#ifdef CONFIG_EFI_LOADER
 	.section	.text.efi_runtime
+#endif
 
 	.macro SMCCC instr
 	.cfi_startproc