Yes, arguably the mips_cpu structure could also contain a descriptor of the MMU routines to bind, and it probably would have if it would have been a simple matter of an address/length of a vector to copy. But heck, it could be a function pointer as well, I suppose. Anyway, I'm not surprised if there was something off somewhere in the RM7000 descriptor. I did a first cut based on an old copy of the QED spec - I had no hardware to test it on - and there was no pretention of putting in full RM7000 support in the kernel when I did the decriptor, it was more a matter of showing what a 3-cache CPU would look like! Kevin K. ----- Original Message ----- From: "Jun Sun" <jsun@mvista.com> To: <linux-mips@oss.sgi.com> Sent: Friday, January 12, 2001 4:54 AM Subject: broken RM7000 in CVS ... > > I saw mips_cpu structure is introduced to the CVS tree. That is a really good > thing, although many places need to be improved. > > An initial try found the following bug. There are probably more down the > road. :-) > > Jun > > diff -Nru linux/arch/mips/mm/loadmmu.c.orig linux/arch/mips/mm/loadmmu.c > --- linux/arch/mips/mm/loadmmu.c.orig Thu Jan 11 19:32:11 2001 > +++ linux/arch/mips/mm/loadmmu.c Thu Jan 11 19:48:06 2001 > @@ -59,6 +59,11 @@ > printk("Loading MIPS32 MMU routines.\n"); > ld_mmu_mips32(); > #endif > +#if defined(CONFIG_CPU_RM7000) > + printk("Loading RM7000 MMU routines.\n"); > + ld_mmu_rm7k(); > +#endif > + > } else switch(mips_cpu.cputype) { > #ifdef CONFIG_CPU_R3000 > case CPU_R2000: > @@ -74,13 +79,6 @@ > case CPU_R5432: > printk("Loading R5432 MMU routines.\n"); > ld_mmu_r5432(); > - break; > -#endif > - > -#if defined(CONFIG_CPU_RM7000) > - case CPU_RM7000: > - printk("Loading RM7000 MMU routines.\n"); > - ld_mmu_rm7k(); > break; > #endif