On Tue, Jul 8, 2014 at 7:53 AM, Jonas Gorski <jogo@xxxxxxxxxxx> wrote: > All three SoCs have in common they have a BMIPS32/BMIPS3300 CPU, so > we can replace this as no SoC with BMIPS4350 support enabled. > > Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> > --- > arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h b/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h > index e9c408e..bc1167d 100644 > --- a/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h > +++ b/arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h > @@ -24,7 +24,7 @@ > #define cpu_has_smartmips 0 > #define cpu_has_vtag_icache 0 > > -#if !defined(BCMCPU_RUNTIME_DETECT) && (defined(CONFIG_BCM63XX_CPU_6348) || defined(CONFIG_BCM63XX_CPU_6345) || defined(CONFIG_BCM63XX_CPU_6338)) > +#if !defined(CONFIG_SYS_HAS_CPU_BMIPS4350) > #define cpu_has_dc_aliases 0 > #endif Note that BCM6318 uses a 40nm BMIPS3300 with a 32kB D$. I haven't actually booted one of these myself but I would assume the way size is either 16kB or 8kB. I'm seeing another issue with the generic cpu_has_dc_aliases implementation (cpu_data[0].dcache.flags & MIPS_CACHE_ALIASES). The HIGHMEM check in paging_init() runs before cpu_cache_init(), so cpu_data[0].dcache.flags is still 0 and cpu_has_dc_aliases will never be true at this point unless it was defined at compile time. There seem to be some other problems with the way the HIGHMEM check is handled, and I'm tempted to just move it after cpu_cache_init() and make it a fatal error condition. Then it can be removed entirely when imgtec finalizes the "cache aliases + HIGHMEM" patch series. Any opinions?