summaryrefslogtreecommitdiff
path: root/arch/arm/cpu
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2019-02-11 15:07:17 +0100
committerAlexander Graf <agraf@suse.de>2019-02-13 09:40:06 +0100
commit2f8ab1218f74dbaeffffb0a53094ead58bee41c5 (patch)
tree3681897c5f9d72ca16f04b0df6828f6df2074c13 /arch/arm/cpu
parent6f8f4217e75d2e651b29c065e111da22658f7e07 (diff)
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>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/armv7/smccc-call.S2
-rw-r--r--arch/arm/cpu/armv8/smccc-call.S2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/smccc-call.S b/arch/arm/cpu/armv7/smccc-call.S
index eae69e36c3..f70728f2c4 100644
--- a/arch/arm/cpu/armv7/smccc-call.S
+++ b/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...)
/*
diff --git a/arch/arm/cpu/armv8/smccc-call.S b/arch/arm/cpu/armv8/smccc-call.S
index 86de4b4089..dc92b28777 100644
--- a/arch/arm/cpu/armv8/smccc-call.S
+++ b/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