Christophe Leroy <christophe.le...@csgroup.eu> writes: > diff --git a/arch/powerpc/lib/feature-fixups.c > b/arch/powerpc/lib/feature-fixups.c > index fe26f2fa0f3f..f0fc521b82ae 100644 > --- a/arch/powerpc/lib/feature-fixups.c > +++ b/arch/powerpc/lib/feature-fixups.c > @@ -180,32 +180,31 @@ static void do_stf_exit_barrier_fixups(enum > stf_barrier_type types) > start = PTRRELOC(&__start___stf_exit_barrier_fixup); > end = PTRRELOC(&__stop___stf_exit_barrier_fixup); > > - instrs[0] = 0x60000000; /* nop */ > - instrs[1] = 0x60000000; /* nop */ > - instrs[2] = 0x60000000; /* nop */ > - instrs[3] = 0x60000000; /* nop */ > - instrs[4] = 0x60000000; /* nop */ > - instrs[5] = 0x60000000; /* nop */ > + instrs[0] = PPC_RAW_NOP(); > + instrs[1] = PPC_RAW_NOP(); > + instrs[2] = PPC_RAW_NOP(); > + instrs[3] = PPC_RAW_NOP(); > + instrs[4] = PPC_RAW_NOP(); > + instrs[5] = PPC_RAW_NOP(); > > i = 0; > if (types & STF_BARRIER_FALLBACK || types & STF_BARRIER_SYNC_ORI) { > if (cpu_has_feature(CPU_FTR_HVMODE)) { > - instrs[i++] = 0x7db14ba6; /* mtspr 0x131, r13 (HSPRG1) > */ > - instrs[i++] = 0x7db04aa6; /* mfspr r13, 0x130 (HSPRG0) > */ > + instrs[i++] = PPC_RAW_MTSPR(SPRN_HSPRG1, _R13); > + instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_HSPRG0); > } else { > - instrs[i++] = 0x7db243a6; /* mtsprg 2,r13 */ > - instrs[i++] = 0x7db142a6; /* mfsprg r13,1 */ > + instrs[i++] = PPC_RAW_MTSPR(SPRN_SPRG2, _R13); > + instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_SPRG1); > } > - instrs[i++] = 0x7c0004ac; /* hwsync */ > - instrs[i++] = 0xe9ad0000; /* ld r13,0(r13) */ ... > + instrs[i++] = PPC_RAW_LD(_R10, _R13, 0);
This conversion was wrong, r13 became r10. I fixed it up. cheers