Lines Matching refs:instrs
123 unsigned int instrs[3], *dest; in do_stf_entry_barrier_fixups() local
130 instrs[0] = 0x60000000; /* nop */ in do_stf_entry_barrier_fixups()
131 instrs[1] = 0x60000000; /* nop */ in do_stf_entry_barrier_fixups()
132 instrs[2] = 0x60000000; /* nop */ in do_stf_entry_barrier_fixups()
136 instrs[i++] = 0x7d4802a6; /* mflr r10 */ in do_stf_entry_barrier_fixups()
137 instrs[i++] = 0x60000000; /* branch patched below */ in do_stf_entry_barrier_fixups()
138 instrs[i++] = 0x7d4803a6; /* mtlr r10 */ in do_stf_entry_barrier_fixups()
140 instrs[i++] = 0x7e0006ac; /* eieio + bit 6 hint */ in do_stf_entry_barrier_fixups()
142 instrs[i++] = 0x7c0004ac; /* hwsync */ in do_stf_entry_barrier_fixups()
143 instrs[i++] = 0xe94d0000; /* ld r10,0(r13) */ in do_stf_entry_barrier_fixups()
144 instrs[i++] = 0x63ff0000; /* ori 31,31,0 speculation barrier */ in do_stf_entry_barrier_fixups()
152 patch_instruction(dest, instrs[0]); in do_stf_entry_barrier_fixups()
158 patch_instruction(dest + 1, instrs[1]); in do_stf_entry_barrier_fixups()
160 patch_instruction(dest + 2, instrs[2]); in do_stf_entry_barrier_fixups()
173 unsigned int instrs[6], *dest; in do_stf_exit_barrier_fixups() local
180 instrs[0] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
181 instrs[1] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
182 instrs[2] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
183 instrs[3] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
184 instrs[4] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
185 instrs[5] = 0x60000000; /* nop */ in do_stf_exit_barrier_fixups()
190 instrs[i++] = 0x7db14ba6; /* mtspr 0x131, r13 (HSPRG1) */ in do_stf_exit_barrier_fixups()
191 instrs[i++] = 0x7db04aa6; /* mfspr r13, 0x130 (HSPRG0) */ in do_stf_exit_barrier_fixups()
193 instrs[i++] = 0x7db243a6; /* mtsprg 2,r13 */ in do_stf_exit_barrier_fixups()
194 instrs[i++] = 0x7db142a6; /* mfsprg r13,1 */ in do_stf_exit_barrier_fixups()
196 instrs[i++] = 0x7c0004ac; /* hwsync */ in do_stf_exit_barrier_fixups()
197 instrs[i++] = 0xe9ad0000; /* ld r13,0(r13) */ in do_stf_exit_barrier_fixups()
198 instrs[i++] = 0x63ff0000; /* ori 31,31,0 speculation barrier */ in do_stf_exit_barrier_fixups()
200 instrs[i++] = 0x7db14aa6; /* mfspr r13, 0x131 (HSPRG1) */ in do_stf_exit_barrier_fixups()
202 instrs[i++] = 0x7db242a6; /* mfsprg r13,2 */ in do_stf_exit_barrier_fixups()
205 instrs[i++] = 0x7e0006ac; /* eieio + bit 6 hint */ in do_stf_exit_barrier_fixups()
213 patch_instruction(dest, instrs[0]); in do_stf_exit_barrier_fixups()
214 patch_instruction(dest + 1, instrs[1]); in do_stf_exit_barrier_fixups()
215 patch_instruction(dest + 2, instrs[2]); in do_stf_exit_barrier_fixups()
216 patch_instruction(dest + 3, instrs[3]); in do_stf_exit_barrier_fixups()
217 patch_instruction(dest + 4, instrs[4]); in do_stf_exit_barrier_fixups()
218 patch_instruction(dest + 5, instrs[5]); in do_stf_exit_barrier_fixups()
237 unsigned int instrs[3], *dest; in do_rfi_flush_fixups() local
244 instrs[0] = 0x60000000; /* nop */ in do_rfi_flush_fixups()
245 instrs[1] = 0x60000000; /* nop */ in do_rfi_flush_fixups()
246 instrs[2] = 0x60000000; /* nop */ in do_rfi_flush_fixups()
250 instrs[0] = 0x48000010; in do_rfi_flush_fixups()
254 instrs[i++] = 0x63ff0000; /* ori 31,31,0 speculation barrier */ in do_rfi_flush_fixups()
255 instrs[i++] = 0x63de0000; /* ori 30,30,0 L1d flush*/ in do_rfi_flush_fixups()
259 instrs[i++] = 0x7c12dba6; /* mtspr TRIG2,r0 (SPR #882) */ in do_rfi_flush_fixups()
266 patch_instruction(dest, instrs[0]); in do_rfi_flush_fixups()
267 patch_instruction(dest + 1, instrs[1]); in do_rfi_flush_fixups()
268 patch_instruction(dest + 2, instrs[2]); in do_rfi_flush_fixups()