Message ID | 20190211141358.65023-1-agraf@suse.de |
---|---|
State | Accepted |
Commit | 2f8ab1218f74dbaeffffb0a53094ead58bee41c5 |
Delegated to: | Alexander Graf |
Headers | show |
Series | [U-Boot] arm: Leave smccc calls in .text when efi_loader=n | expand |
On 11. 02. 19 15:13, Alexander Graf wrote: > 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> > Fixes: 81ea00838c6 ("efi_loader: PSCI reset and shutdown") > Signed-off-by: Alexander Graf <agraf@suse.de> > --- > arch/arm/cpu/armv7/smccc-call.S | 2 ++ > arch/arm/cpu/armv8/smccc-call.S | 2 ++ > 2 files changed, 4 insertions(+) > > 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 > Reported-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Tested-by: Michal Simek <monstr@monstr.eu> Thanks, Michal
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
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> Fixes: 81ea00838c6 ("efi_loader: PSCI reset and shutdown") Signed-off-by: Alexander Graf <agraf@suse.de> --- arch/arm/cpu/armv7/smccc-call.S | 2 ++ arch/arm/cpu/armv8/smccc-call.S | 2 ++ 2 files changed, 4 insertions(+)