|
@@ -280,18 +280,19 @@ static void __init cacheid_init(void)
|
|
|
if (arch >= CPU_ARCH_ARMv6) {
|
|
|
if ((cachetype & (7 << 29)) == 4 << 29) {
|
|
|
/* ARMv7 register format */
|
|
|
+ arch = CPU_ARCH_ARMv7;
|
|
|
cacheid = CACHEID_VIPT_NONALIASING;
|
|
|
if ((cachetype & (3 << 14)) == 1 << 14)
|
|
|
cacheid |= CACHEID_ASID_TAGGED;
|
|
|
- else if (cpu_has_aliasing_icache(CPU_ARCH_ARMv7))
|
|
|
- cacheid |= CACHEID_VIPT_I_ALIASING;
|
|
|
- } else if (cachetype & (1 << 23)) {
|
|
|
- cacheid = CACHEID_VIPT_ALIASING;
|
|
|
} else {
|
|
|
- cacheid = CACHEID_VIPT_NONALIASING;
|
|
|
- if (cpu_has_aliasing_icache(CPU_ARCH_ARMv6))
|
|
|
- cacheid |= CACHEID_VIPT_I_ALIASING;
|
|
|
+ arch = CPU_ARCH_ARMv6;
|
|
|
+ if (cachetype & (1 << 23))
|
|
|
+ cacheid = CACHEID_VIPT_ALIASING;
|
|
|
+ else
|
|
|
+ cacheid = CACHEID_VIPT_NONALIASING;
|
|
|
}
|
|
|
+ if (cpu_has_aliasing_icache(arch))
|
|
|
+ cacheid |= CACHEID_VIPT_I_ALIASING;
|
|
|
} else {
|
|
|
cacheid = CACHEID_VIVT;
|
|
|
}
|