Re: [PATCH 1/5] powerpc: Remove flush_instruction_cache for book3s/32

2020-08-13 Thread Christophe Leroy




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 +, 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


Re: [PATCH 1/5] powerpc: Remove flush_instruction_cache for book3s/32

2020-08-13 Thread Christoph Hellwig
On Thu, Aug 13, 2020 at 01:13:08PM +0100, Christoph Hellwig wrote:
> On Thu, Aug 13, 2020 at 10:12:00AM +, 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.


Re: [PATCH 1/5] powerpc: Remove flush_instruction_cache for book3s/32

2020-08-13 Thread Christoph Hellwig
On Thu, Aug 13, 2020 at 10:12:00AM +, 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.