Le 13/08/2020 à 14:14, Christoph Hellwig a écrit :
On Thu, Aug 13, 2020 at 01:13:08PM +0100, Christoph Hellwig wrote:
On Thu, Aug 13, 2020 at 10:12:00AM +0000, Christophe Leroy wrote:
-#ifndef CONFIG_PPC_8xx
+#if !defined(CONFIG_PPC_8xx) && !defined(CONFIG_PPC_BOOK3S_32)
  _GLOBAL(flush_instruction_cache)
  #if defined(CONFIG_4xx)
        lis     r3, KERNELBASE@h
@@ -290,18 +289,11 @@ _GLOBAL(flush_instruction_cache)
        mfspr   r3,SPRN_L1CSR1
        ori     r3,r3,L1CSR1_ICFI|L1CSR1_ICLFR
        mtspr   SPRN_L1CSR1,r3
-#elif defined(CONFIG_PPC_BOOK3S_601)
-       blr                     /* for 601, do nothing */
-#else
-       /* 603/604 processor - use invalidate-all bit in HID0 */
-       mfspr   r3,SPRN_HID0
-       ori     r3,r3,HID0_ICFI
-       mtspr   SPRN_HID0,r3
  #endif /* CONFIG_4xx */
        isync
        blr
  EXPORT_SYMBOL(flush_instruction_cache)
-#endif /* CONFIG_PPC_8xx */
+#endif /* CONFIG_PPC_8xx || CONFIG_PPC_BOOK3S_32 */

What about untangling this into entirely separate versions instead
of the ifdef mess?  Also the export does not seem to be needed at all.

Ok, I see that you do that later, sorry.


In v2, I drop the untangling patch, because the series completely dismantles flush_instruction_cache() so there is no need for an ephemeral untanggled version of it.

Christophe

Reply via email to