diff options
author | neel <neel@FreeBSD.org> | 2010-01-06 06:42:08 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2010-01-06 06:42:08 +0000 |
commit | 2fa2f73b380b7657d64ae5bd0025fd23c8e72397 (patch) | |
tree | db946d81babd3c3a700cdea385fa8981387882c9 /sys/mips/sibyte | |
parent | d6b62ee4c63d676ef6c9759fd5cff6a33e5b8845 (diff) | |
download | FreeBSD-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.c | 22 |
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); |