summaryrefslogtreecommitdiffstats
path: root/sys/mips/sibyte
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2010-01-06 06:42:08 +0000
committerneel <neel@FreeBSD.org>2010-01-06 06:42:08 +0000
commit2fa2f73b380b7657d64ae5bd0025fd23c8e72397 (patch)
treedb946d81babd3c3a700cdea385fa8981387882c9 /sys/mips/sibyte
parentd6b62ee4c63d676ef6c9759fd5cff6a33e5b8845 (diff)
downloadFreeBSD-src-2fa2f73b380b7657d64ae5bd0025fd23c8e72397.zip
FreeBSD-src-2fa2f73b380b7657d64ae5bd0025fd23c8e72397.tar.gz
Remove all CFE-specific code from locore.S. The CFE entrypoint initialization
is now done in platform-specific code. Approved by: imp (mentor)
Diffstat (limited to 'sys/mips/sibyte')
-rw-r--r--sys/mips/sibyte/sb_machdep.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/sys/mips/sibyte/sb_machdep.c b/sys/mips/sibyte/sb_machdep.c
index d6bee76..3a2b555 100644
--- a/sys/mips/sibyte/sb_machdep.c
+++ b/sys/mips/sibyte/sb_machdep.c
@@ -86,11 +86,6 @@ __FBSDID("$FreeBSD$");
#endif
#endif
-#ifdef CFE
-extern uint32_t cfe_handle;
-extern uint32_t cfe_vector;
-#endif
-
#ifdef CFE_ENV
extern void cfe_env_init(void);
#endif
@@ -236,8 +231,8 @@ platform_trap_exit(void)
}
void
-platform_start(__register_t a0 __unused, __register_t a1 __unused,
- __register_t a2 __unused, __register_t a3 __unused)
+platform_start(__register_t a0, __register_t a1, __register_t a2,
+ __register_t a3)
{
vm_offset_t kernend;
@@ -249,16 +244,17 @@ platform_start(__register_t a0 __unused, __register_t a1 __unused,
/*
* Initialize CFE firmware trampolines before
* we initialize the low-level console.
+ *
+ * CFE passes the following values in registers:
+ * a0: firmware handle
+ * a2: firmware entry point
+ * a3: entry point seal
*/
- if (cfe_handle != 0)
- cfe_init(cfe_handle, cfe_vector);
+ if (a3 == CFE_EPTSEAL)
+ cfe_init(a0, a2);
#endif
cninit();
-#ifdef CFE
- if (cfe_handle == 0)
- panic("CFE was not detected by locore.\n");
-#endif
mips_init();
mips_timer_init_params(sb_cpu_speed(), 0);
OpenPOWER on IntegriCloud