psci: put psci_method in .data section if EFI_LOADER is not enabled

Move the variable psci_method in .data section when EFI is not
activated and the psci driver safely access it before relocation.

Without this patch the variable is located in .bss section
and the psci probe requested before relocation corrupts the device
tree (probe is requested by board_f.c::print_resetinfo()).

When EFI_LOADER is activated, this variable in already located in the
.data.efi_runtime section by __efi_runtime_data.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
This commit is contained in:
Yann Gautier 2020-07-17 14:20:15 +02:00 committed by Tom Rini
parent 06fc4573b9
commit 5cc7df7eba

View File

@ -25,7 +25,11 @@
#define PSCI_METHOD_HVC 1
#define PSCI_METHOD_SMC 2
#if CONFIG_IS_ENABLED(EFI_LOADER)
int __efi_runtime_data psci_method;
#else
int psci_method __attribute__ ((section(".data")));
#endif
unsigned long __efi_runtime invoke_psci_fn
(unsigned long function_id, unsigned long arg0,