#endif
 
 #ifdef CONFIG_PPC_BOOK3S_64
-#define RFI            rfid
 #define MTMSRD(r)      mtmsrd  r
 #define MTMSR_EERI(reg)        mtmsrd  reg,1
 #else
 
 #include <asm/ppc-opcode.h>
 #include <asm/export.h>
 #include <asm/feature-fixups.h>
+#ifdef CONFIG_PPC_BOOK3S
+#include <asm/exception-64s.h>
+#else
+#include <asm/exception-64e.h>
+#endif
 
 /* The physical memory is laid out such that the secondary processor
  * spin code sits at 0x0000...0x00ff. On server, the vectors follow
 
        mtspr   SPRN_SRR0,r3
        mtspr   SPRN_SRR1,r4
-       RFI
+       RFI_TO_KERNEL
        b       .       /* prevent speculative execution */
 
 /* 
        ld      r4,PACAKMSR(r13)
        mtspr   SPRN_SRR0,r3
        mtspr   SPRN_SRR1,r4
-       RFI
+       RFI_TO_KERNEL
        b       .       /* prevent speculative execution */
 
        /* This is where all platforms converge execution */