summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2018-05-30 17:08:12 +0100
committerManish Pandey <manish.pandey2@arm.com>2018-05-30 17:32:14 +0100
commitd213c0908e33f88e020fc815259d2478c1ece6ef (patch)
tree6b92176c19d57b520f56401c272124c57e96f26d
parentd263ab6554d5c093024115b09e186d98142895ec (diff)
Revert "bootwrapper: Delay switch to Hyp mode until kernel entry"
This reverts commit 43130b7183c333ebe7af495ae327a50c8116643b. Change-Id: I640b96fd857a5317416a4a4fedc82290aaf1479c
-rw-r--r--boot.S14
-rw-r--r--semi_loader.h6
2 files changed, 4 insertions, 16 deletions
diff --git a/boot.S b/boot.S
index 6496a94..4cb1b9f 100644
--- a/boot.S
+++ b/boot.S
@@ -96,6 +96,8 @@ start:
mov r7, #0xfffffff0
smc #0 @ Set HVBAR
+ enter_hyp
+
@ Check CPU nr again
mrc p15, 0, r0, c0, c0, 5 @ MPIDR (ARMv7 only)
bfc r0, #24, #8 @ CPU number, taking multicluster into account
@@ -105,7 +107,6 @@ start:
@
@ Secondary CPUs (following the RealView SMP booting protocol)
@
- enter_hyp
ldr r1, =fs_start - 0x100
adr r2, 1f
@@ -169,17 +170,6 @@ __semi_call:
#endif
mov pc, lr
-.globl __boot_kernel
-__boot_kernel:
- mov r4, r0
- stmfd sp!, {r1-r3}
- ldmia sp, {r0-r3}
-
- enter_hyp
-
- bx r4
-.type __boot_kernel, %function
-
@
@ Data
@
diff --git a/semi_loader.h b/semi_loader.h
index 29f3d63..6afba40 100644
--- a/semi_loader.h
+++ b/semi_loader.h
@@ -90,12 +90,10 @@ struct loader_info {
void load_kernel(struct loader_info *info);
-void __boot_kernel(unsigned entry_point,
- unsigned r0, unsigned r1, unsigned r2, unsigned r3);
-
static void boot_kernel(struct loader_info *info,
unsigned r0, unsigned r1, unsigned r2, unsigned r3) {
- __boot_kernel(info->kernel_entry, r0, r1, r2, r3);
+ ((void (*)(unsigned, unsigned, unsigned, unsigned))info->kernel_entry)(
+ r0, r1, r2, r3);
}
#endif /* ! SEMI_LOADER_H */