summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/arm/locore.S14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/arm/arm/locore.S b/sys/arm/arm/locore.S
index ff4494d..3a19733 100644
--- a/sys/arm/arm/locore.S
+++ b/sys/arm/arm/locore.S
@@ -65,14 +65,20 @@ __FBSDID("$FreeBSD$");
ENTRY_NP(btext)
-ASENTRY_NP(_start)
-
/*
- * Move metadata ptr to r12 (ip)
+ * On entry:
+ * r0 - metadata pointer or 0
+ * r1 - if (r0 == 0) then metadata pointer
*/
+ASENTRY_NP(_start)
+ /* Move metadata ptr to r12 (ip) */
mov ip, r0
-
+ ldr r0, =0
+ cmp ip, r0
+ bne 1f
+ mov ip, r1
+1:
/* Make sure interrupts are disabled. */
mrs r7, cpsr
orr r7, r7, #(I32_bit|F32_bit)
OpenPOWER on IntegriCloud