|
@@ -21,9 +21,18 @@ void __init shx3_cache_init(void)
|
|
|
|
|
|
ccr = __raw_readl(CCR);
|
|
|
|
|
|
- if (boot_cpu_data.dcache.n_aliases)
|
|
|
+ /*
|
|
|
+ * If we've got cache aliases, resolve them in hardware.
|
|
|
+ */
|
|
|
+ if (boot_cpu_data.dcache.n_aliases || boot_cpu_data.icache.n_aliases) {
|
|
|
ccr |= CCR_CACHE_SNM;
|
|
|
|
|
|
+ boot_cpu_data.icache.n_aliases = 0;
|
|
|
+ boot_cpu_data.dcache.n_aliases = 0;
|
|
|
+
|
|
|
+ pr_info("Enabling hardware synonym avoidance\n");
|
|
|
+ }
|
|
|
+
|
|
|
#ifdef CONFIG_SMP
|
|
|
/*
|
|
|
* Broadcast I-cache block invalidations by default.
|