powerpc/476: Add isync to the top of all exception handlers for DD1.1 core

From: Dave Kleikamp <sha...@linux.vnet.ibm.com>

Signed-off-by: Dave Kleikamp <sha...@linux.vnet.ibm.com>
---

 arch/powerpc/include/asm/asm-compat.h |    7 ++++++-
 arch/powerpc/kernel/head_booke.h      |    3 ++-
 2 files changed, 8 insertions(+), 2 deletions(-)


diff --git a/arch/powerpc/include/asm/asm-compat.h 
b/arch/powerpc/include/asm/asm-compat.h
index bee05ec..1890fbf 100644
--- a/arch/powerpc/include/asm/asm-compat.h
+++ b/arch/powerpc/include/asm/asm-compat.h
@@ -70,8 +70,13 @@
        BEGIN_FTR_SECTION;                      \
                lwsync;                         \
        END_FTR_SECTION_IFSET(CPU_FTR_476_DD1_1)
-#else
+#define PPC476_ERR_ISYNC()                     \
+       BEGIN_FTR_SECTION;                      \
+               isync;                          \
+       END_FTR_SECTION_IFSET(CPU_FTR_476_DD1_1)
+#else  /* ! CONFIG_PPC_47x */
 #define PPC476_ERR_DCBx()
+#define PPC476_ERR_ISYNC()
 #endif /* CONFIG_PPC_47x */
 
 #endif
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index 80d47f4..6b1ad61 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -165,7 +165,8 @@
  */
 #define        START_EXCEPTION(label)                                          
     \
         .align 5;                                                              
     \
-label:
+label:                                                                      \
+       PPC476_ERR_ISYNC()
 
 #define FINISH_EXCEPTION(func)                                 \
        bl      transfer_to_handler_full;                       \

-- 
Dave Kleikamp
IBM Linux Technology Center
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to