diff options
author | cognet <cognet@FreeBSD.org> | 2005-10-03 14:10:55 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2005-10-03 14:10:55 +0000 |
commit | b528a2341702ba37400bf7f647766b0ee6983f4b (patch) | |
tree | c547bb7ce3b55d5b79a666f0d77510f60e8bd9e5 /sys | |
parent | 61bb392fc2d9ff7edc6d57c990bab8973bf7f8b2 (diff) | |
download | FreeBSD-src-b528a2341702ba37400bf7f647766b0ee6983f4b.zip FreeBSD-src-b528a2341702ba37400bf7f647766b0ee6983f4b.tar.gz |
Export the virtual and physical address in which the kernel was loaded,
needed for userland when reading kernel dumps.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arm/arm/locore.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/arm/arm/locore.S b/sys/arm/arm/locore.S index 748896a..c5e2a75 100644 --- a/sys/arm/arm/locore.S +++ b/sys/arm/arm/locore.S @@ -60,6 +60,8 @@ __FBSDID("$FreeBSD$"); .align 0 .globl kernbase .set kernbase,KERNBASE +.globl physaddr +.set physaddr,PHYSADDR ENTRY_NP(btext) @@ -157,7 +159,7 @@ mmu_done: mov r3, #0 .L1: - str r3, [r1], #0x0004 /* Zero the bss */ + str r3, [r1], #0x0004 /* get zero init data */ subs r2, r2, #4 bgt .L1 @@ -177,7 +179,8 @@ mmu_done: sub pc, pc, r4 #endif virt_done: - ldr fp, =KERNVIRTADDR /* trace back starts here */ + nop + mov fp, #0 /* trace back starts here */ bl _C_LABEL(initarm) /* Off we go */ /* init arm will return the new stack pointer. */ @@ -194,6 +197,10 @@ virt_done: .word 4*((va)>>L1_S_SHIFT) ; \ .word (pa)|(attr) ; +Lvirtaddr: + .word KERNVIRTADDR +Lphysaddr: + .word KERNPHYSADDR Lstartup_pagetable: .word STARTUP_PAGETABLE_ADDR mmu_init_table: |