Date: Wed, 6 Jan 2010 06:42:08 +0000 (UTC) From: Neel Natu <neel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r201631 - in projects/mips/sys/mips: mips sentry5 sibyte Message-ID: <201001060642.o066g8To042466@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001060642.o066g8To042466>