powerpc/book3e: Add ICSWX/ACOP support to Book3e cores like A2
[linux-2.6-block.git] / arch / powerpc / kernel / cpu_setup_a2.S
index 7f818feaa7a53dd00ce6989353139b212d706e15..ebc62f42a2372105cb6b6722cb4fbb95d426a35a 100644 (file)
@@ -41,11 +41,16 @@ _GLOBAL(__setup_cpu_a2)
         * core local but doing it always won't hurt
         */
 
-#ifdef CONFIG_PPC_WSP_COPRO
+#ifdef CONFIG_PPC_ICSWX
        /* Make sure ACOP starts out as zero */
        li      r3,0
        mtspr   SPRN_ACOP,r3
 
+       /* Skip the following if we are in Guest mode */
+       mfmsr   r3
+       andis.  r0,r3,MSR_GS@h
+       bne     _icswx_skip_guest
+
        /* Enable icswx instruction */
        mfspr   r3,SPRN_A2_CCR2
        ori     r3,r3,A2_CCR2_ENABLE_ICSWX
@@ -54,7 +59,8 @@ _GLOBAL(__setup_cpu_a2)
        /* Unmask all CTs in HACOP */
        li      r3,-1
        mtspr   SPRN_HACOP,r3
-#endif /* CONFIG_PPC_WSP_COPRO */
+_icswx_skip_guest:
+#endif /* CONFIG_PPC_ICSWX */
 
        /* Enable doorbell */
        mfspr   r3,SPRN_A2_CCR2