summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/booke/pmap.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2011-05-28 04:10:44 +0000
committermarcel <marcel@FreeBSD.org>2011-05-28 04:10:44 +0000
commit4937594467d6072b2bb22d2bd2b3dccaba83b140 (patch)
tree253c835cd38d339f3e7ec9f7d2cd30b491c383da /sys/powerpc/booke/pmap.c
parentced7835c06b507528a27a1ef54de7f2533a2200c (diff)
downloadFreeBSD-src-4937594467d6072b2bb22d2bd2b3dccaba83b140.zip
FreeBSD-src-4937594467d6072b2bb22d2bd2b3dccaba83b140.tar.gz
Better support different kernel hand-offs. When loaded directly
from U-Boot, the kernel is passed a standard argc/argv pair. The Juniper loader passes the metadata pointer as the second argument and passes 0 in the first. The FreeBSD loader passes the metadata pointer in the first argument. As such, have locore preserve the first 2 arguments in registers r30 & r31. Change e500_init() to accept these arguments. Don't pass global offsets (i.e. kernel_text and _end) as arguments to e500_init(). We can reference those directly. Rename e500_init() to booke_init() now that we're changing the prototype. In booke_init(), "decode" arg1 and arg2 to obtain the metadata pointer correctly. For the U-Boot case, clear SBSS and BSS and bank on having a static FDT for now. This allows loading the ELF kernel and jumping to the entry point without trampoline.
Diffstat (limited to 'sys/powerpc/booke/pmap.c')
-rw-r--r--sys/powerpc/booke/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c
index 4a279af..aff7901 100644
--- a/sys/powerpc/booke/pmap.c
+++ b/sys/powerpc/booke/pmap.c
@@ -943,7 +943,7 @@ pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va)
/**************************************************************************/
/*
- * This is called during e500_init, before the system is really initialized.
+ * This is called during booke_init, before the system is really initialized.
*/
static void
mmu_booke_bootstrap(mmu_t mmu, vm_offset_t start, vm_offset_t kernelend)
OpenPOWER on IntegriCloud