From 59a8457a985f290e1cb2c08328b005b8a5521e11 Mon Sep 17 00:00:00 2001 From: marcel Date: Thu, 3 Feb 2011 17:35:16 +0000 Subject: Accept r1 as having the metadata pointer argument if r0 is 0. This provides backward compatibility with Juniper loaders. Sponsored by: Juniper Networks --- sys/arm/arm/locore.S | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'sys/arm') 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) -- cgit v1.1