svn commit: r201631 - in projects/mips/sys/mips: mips sentry5 sibyte
Neel Natu
neel at FreeBSD.org
Wed Jan 6 06:42:09 UTC 2010
Author: neel
Date: Wed Jan 6 06:42:08 2010
New Revision: 201631
URL: http://svn.freebsd.org/changeset/base/201631
Log:
Remove all CFE-specific code from locore.S. The CFE entrypoint initialization
is now done in platform-specific code.
Approved by: imp (mentor)
Modified:
projects/mips/sys/mips/mips/locore.S
projects/mips/sys/mips/sentry5/s5_machdep.c
projects/mips/sys/mips/sibyte/sb_machdep.c
Modified: projects/mips/sys/mips/mips/locore.S
==============================================================================
--- projects/mips/sys/mips/mips/locore.S Wed Jan 6 06:35:10 2010 (r201630)
+++ projects/mips/sys/mips/mips/locore.S Wed Jan 6 06:42:08 2010 (r201631)
@@ -77,12 +77,6 @@
GLOBAL(fenvp)
.space 4 # Assumes mips32? Is that OK?
#endif
-#ifdef CFE /* Assumes MIPS32, bad? */
-GLOBAL(cfe_handle)
- .space 4
-GLOBAL(cfe_vector)
- .space 4
-#endif
GLOBAL(stackspace)
.space NBPG /* Smaller than it should be since it's temp. */
.align 8
@@ -176,16 +170,6 @@ VECTOR(_locore, unknown)
/* Save YAMON boot environment pointer */
sw a2, _C_LABEL(fenvp)
#endif
-#ifdef CFE
- /*
- * Save the CFE context passed to us by the loader.
- */
- li t1, 0x43464531
- bne a3, t1, no_cfe /* Check for "CFE1" signature */
- sw a0, _C_LABEL(cfe_handle)/* Firmware data segment */
- sw a2, _C_LABEL(cfe_vector)/* Firmware entry vector */
-no_cfe:
-#endif
/*
* The following needs to be done differently for each platform and
Modified: projects/mips/sys/mips/sentry5/s5_machdep.c
==============================================================================
--- projects/mips/sys/mips/sentry5/s5_machdep.c Wed Jan 6 06:35:10 2010 (r201630)
+++ projects/mips/sys/mips/sentry5/s5_machdep.c Wed Jan 6 06:42:08 2010 (r201631)
@@ -79,11 +79,6 @@ __FBSDID("$FreeBSD$");
#include <dev/cfe/cfe_api.h>
#endif
-#ifdef CFE
-extern uint32_t cfe_handle;
-extern uint32_t cfe_vector;
-#endif
-
extern int *edata;
extern int *end;
@@ -183,8 +178,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;
uint64_t platform_counter_freq;
@@ -197,16 +192,17 @@ platform_start(__register_t a0 __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();
# if 0
Modified: projects/mips/sys/mips/sibyte/sb_machdep.c
==============================================================================
--- projects/mips/sys/mips/sibyte/sb_machdep.c Wed Jan 6 06:35:10 2010 (r201630)
+++ projects/mips/sys/mips/sibyte/sb_machdep.c Wed Jan 6 06:42:08 2010 (r201631)
@@ -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,
/*
* 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);
More information about the svn-src-projects
mailing list