diff options
author | Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com> | 2013-11-18 19:56:42 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-12-06 18:21:51 +0100 |
commit | 85cc00eaa81dfa0f5bf8076c48f3ee2c2c4a77ba (patch) | |
tree | 4088df5c63ea94350b9d929055a67d5ad935b331 /arch/arm64/kernel/head.S | |
parent | arm64: make default NR_CPUS 8 (diff) | |
download | linux-85cc00eaa81dfa0f5bf8076c48f3ee2c2c4a77ba.tar.xz linux-85cc00eaa81dfa0f5bf8076c48f3ee2c2c4a77ba.zip |
arm64: kernel: add code to set cpu boot mode to secondary_entry shim
The refactoring of el2_setup split code setting up EL2 and detecting the
CPU boot mode in separate chunks. This allows the code that sets up EL2 to
run in an endian independent way - ie before the endianess is set up in
the respective sctlr registers.
This patch brings secondary_entry up-to-date so that CPUs entering the
kernel through this code path set-up EL2 and the cpu boot mode properly.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Mark Rutland <mark.rutand@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to '')
-rw-r--r-- | arch/arm64/kernel/head.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 7009387348b7..c68cca5c3523 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -282,8 +282,9 @@ ENDPROC(secondary_holding_pen) * be used where CPUs are brought online dynamically by the kernel. */ ENTRY(secondary_entry) - bl __calc_phys_offset // x2=phys offset bl el2_setup // Drop to EL1 + bl __calc_phys_offset // x24=PHYS_OFFSET, x28=PHYS_OFFSET-PAGE_OFFSET + bl set_cpu_boot_mode_flag b secondary_startup ENDPROC(secondary_entry) |