aboutsummaryrefslogtreecommitdiff
path: root/sys/mips/sibyte
diff options
context:
space:
mode:
authorNeel Natu <neel@FreeBSD.org>2010-01-06 06:42:08 +0000
committerNeel Natu <neel@FreeBSD.org>2010-01-06 06:42:08 +0000
commit64b53d19bd46b742d125fd0b04fa16da7cc79764 (patch)
treedb946d81babd3c3a700cdea385fa8981387882c9 /sys/mips/sibyte
parent9199c09a159c4e3e98c212d4eec1edc5252d9e33 (diff)
downloadsrc-64b53d19bd46b742d125fd0b04fa16da7cc79764.tar.gz
src-64b53d19bd46b742d125fd0b04fa16da7cc79764.zip
Remove all CFE-specific code from locore.S. The CFE entrypoint initialization
is now done in platform-specific code. Approved by: imp (mentor)
Notes
Notes: svn path=/projects/mips/; revision=201631
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 d6bee7692a8c..3a2b5557dcfb 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);