sh: Make associative cache writes fatal on all SH-4A parts.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 4 Dec 2009 07:22:11 +0000 (16:22 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 4 Dec 2009 07:22:11 +0000 (16:22 +0900)
Now that associative cache writes are no longer needed by the SH-4/SH-4A
cache flush code, associative write support can be explicitly disabled
for all SH-4A parts. This makes any associative write throw an exception,
as this behaviour can not be assumed to exist on future parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/cpu/init.c

index ad9dfff..89b4b76 100644 (file)
@@ -75,16 +75,11 @@ static void __init expmask_init(void)
        /*
         * Future proofing.
         *
-        * Disable support for slottable sleep instruction
-        * and non-nop instructions in the rte delay slot.
+        * Disable support for slottable sleep instruction, non-nop
+        * instructions in the rte delay slot, and associative writes to
+        * the memory-mapped cache array.
         */
-       expmask &= ~(EXPMASK_RTEDS | EXPMASK_BRDSSLP);
-
-       /*
-        * Enable associative writes to the memory-mapped cache array
-        * until the cache flush ops have been rewritten.
-        */
-       expmask |= EXPMASK_MMCAW;
+       expmask &= ~(EXPMASK_RTEDS | EXPMASK_BRDSSLP | EXPMASK_MMCAW);
 
        __raw_writel(expmask, EXPMASK);
        ctrl_barrier();