Author: adrian Date: Tue Aug 21 06:34:21 2012 New Revision: 239480 URL: http://svn.freebsd.org/changeset/base/239480
Log: On Nintendo Wii CPUs, the mdp value will be garbage. Set it to NULL so as to not confuse things. Submitted by: Margarida Gouveia Modified: head/sys/powerpc/aim/machdep.c head/sys/powerpc/include/spr.h Modified: head/sys/powerpc/aim/machdep.c ============================================================================== --- head/sys/powerpc/aim/machdep.c Tue Aug 21 06:33:10 2012 (r239479) +++ head/sys/powerpc/aim/machdep.c Tue Aug 21 06:34:21 2012 (r239480) @@ -257,7 +257,7 @@ powerpc_init(vm_offset_t startkernel, vm size_t trap_offset; void *kmdp; char *env; - register_t msr, scratch; + register_t msr, scratch, vers; uint8_t *cache_check; int cacheline_warn; #ifndef __powerpc64__ @@ -269,6 +269,14 @@ powerpc_init(vm_offset_t startkernel, vm cacheline_warn = 0; /* + * The Wii loader doesn't pass us any environment so, mdp + * points to garbage at this point. The Wii CPU is a 750CL. + */ + vers = mfpvr(); + if ((vers & 0xfffff0e0) == (MPC750 << 16 | MPC750CL)) + mdp = NULL; + + /* * Parse metadata if present and fetch parameters. Must be done * before console is inited so cninit gets the right value of * boothowto. Modified: head/sys/powerpc/include/spr.h ============================================================================== --- head/sys/powerpc/include/spr.h Tue Aug 21 06:33:10 2012 (r239479) +++ head/sys/powerpc/include/spr.h Tue Aug 21 06:34:21 2012 (r239480) @@ -140,6 +140,7 @@ #define MPC603e 0x0006 #define MPC603ev 0x0007 #define MPC750 0x0008 +#define MPC750CL 0x7000 /* Nintendo Wii's Broadway */ #define MPC604ev 0x0009 #define MPC7400 0x000c #define MPC620 0x0014 _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"