--- zzzz-none-000/linux-2.6.28.10/arch/mips/mm/cache.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/arch/mips/mm/cache.c 2009-12-07 12:24:38.000000000 +0000 @@ -51,6 +51,8 @@ void (*_dma_cache_inv)(unsigned long start, unsigned long size); EXPORT_SYMBOL(_dma_cache_wback_inv); +EXPORT_SYMBOL(_dma_cache_wback); +EXPORT_SYMBOL(_dma_cache_inv); #endif /* CONFIG_DMA_NONCOHERENT */ @@ -159,7 +161,14 @@ if (cpu_has_3k_cache) { extern void __weak r3k_cache_init(void); - r3k_cache_init(); +#ifdef CONFIG_MACH_FUSIV_MIPS1 + extern void ld_mmu_lx4189(void); + + if((current_cpu_data.processor_id & 0xFFFF) == PRID_IMP_FUSIV_MIPS1) { + ld_mmu_lx4189(); + } else +#endif + r3k_cache_init(); } if (cpu_has_6k_cache) { extern void __weak r6k_cache_init(void);