aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2005-01-23 22:08:31 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2005-01-23 22:08:31 +0000
commit4b62274965dd5948433cffde77bcd5670af076b6 (patch)
tree495e417587fe3a4232a13c49e32209307f431efb /sys
parent356607e0c62b4e4688c66c886bd1ecfab331fee3 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/arm/locore.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arm/arm/locore.S b/sys/arm/arm/locore.S
index 72649f40bd9a..4bc6bdcd83d8 100644
--- a/sys/arm/arm/locore.S
+++ b/sys/arm/arm/locore.S
@@ -65,6 +65,7 @@ ENTRY_NP(btext)
ASENTRY_NP(_start)
+
/* Check if we are running on RAM, if not move ourself to RAM */
#if 0
cmp pc, #PHYSADDR
@@ -129,7 +130,10 @@ Lunmapped:
3:
ldmia r4!, {r1,r2,r3} /* # of sections, PA|attr, VA */
cmp r1, #0
- bne 2b
+ adrne r5, 2b
+ bicne r5, r5, #0xff000000
+ orrne r5, r5, #PHYSADDR
+ movne pc, r5
mcr p15, 0, r0, c2, c0, 0 /* Set TTB */
mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */