Lines Matching refs:instrs
123 unsigned int instrs[3], *dest; in do_stf_entry_barrier_fixups() local
130 instrs[0] = PPC_RAW_NOP(); in do_stf_entry_barrier_fixups()
131 instrs[1] = PPC_RAW_NOP(); in do_stf_entry_barrier_fixups()
132 instrs[2] = PPC_RAW_NOP(); in do_stf_entry_barrier_fixups()
136 instrs[i++] = PPC_RAW_MFLR(_R10); in do_stf_entry_barrier_fixups()
137 instrs[i++] = PPC_RAW_NOP(); /* branch patched below */ in do_stf_entry_barrier_fixups()
138 instrs[i++] = PPC_RAW_MTLR(_R10); in do_stf_entry_barrier_fixups()
140 instrs[i++] = PPC_RAW_EIEIO() | 0x02000000; /* eieio + bit 6 hint */ in do_stf_entry_barrier_fixups()
142 instrs[i++] = PPC_RAW_SYNC(); in do_stf_entry_barrier_fixups()
143 instrs[i++] = PPC_RAW_LD(_R10, _R13, 0); in do_stf_entry_barrier_fixups()
144 instrs[i++] = PPC_RAW_ORI(_R31, _R31, 0); /* speculation barrier */ in do_stf_entry_barrier_fixups()
154 patch_instruction(dest, ppc_inst(instrs[0])); in do_stf_entry_barrier_fixups()
155 patch_instruction(dest + 2, ppc_inst(instrs[2])); in do_stf_entry_barrier_fixups()
159 patch_instruction(dest + 1, ppc_inst(instrs[1])); in do_stf_entry_barrier_fixups()
160 patch_instruction(dest + 2, ppc_inst(instrs[2])); in do_stf_entry_barrier_fixups()
161 patch_instruction(dest, ppc_inst(instrs[0])); in do_stf_entry_barrier_fixups()
175 unsigned int instrs[6], *dest; in do_stf_exit_barrier_fixups() local
182 instrs[0] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
183 instrs[1] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
184 instrs[2] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
185 instrs[3] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
186 instrs[4] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
187 instrs[5] = PPC_RAW_NOP(); in do_stf_exit_barrier_fixups()
192 instrs[i++] = PPC_RAW_MTSPR(SPRN_HSPRG1, _R13); in do_stf_exit_barrier_fixups()
193 instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_HSPRG0); in do_stf_exit_barrier_fixups()
195 instrs[i++] = PPC_RAW_MTSPR(SPRN_SPRG2, _R13); in do_stf_exit_barrier_fixups()
196 instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_SPRG1); in do_stf_exit_barrier_fixups()
198 instrs[i++] = PPC_RAW_SYNC(); in do_stf_exit_barrier_fixups()
199 instrs[i++] = PPC_RAW_LD(_R13, _R13, 0); in do_stf_exit_barrier_fixups()
200 instrs[i++] = PPC_RAW_ORI(_R31, _R31, 0); /* speculation barrier */ in do_stf_exit_barrier_fixups()
202 instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_HSPRG1); in do_stf_exit_barrier_fixups()
204 instrs[i++] = PPC_RAW_MFSPR(_R13, SPRN_SPRG2); in do_stf_exit_barrier_fixups()
206 instrs[i++] = PPC_RAW_EIEIO() | 0x02000000; /* eieio + bit 6 hint */ in do_stf_exit_barrier_fixups()
214 patch_instruction(dest, ppc_inst(instrs[0])); in do_stf_exit_barrier_fixups()
215 patch_instruction(dest + 1, ppc_inst(instrs[1])); in do_stf_exit_barrier_fixups()
216 patch_instruction(dest + 2, ppc_inst(instrs[2])); in do_stf_exit_barrier_fixups()
217 patch_instruction(dest + 3, ppc_inst(instrs[3])); in do_stf_exit_barrier_fixups()
218 patch_instruction(dest + 4, ppc_inst(instrs[4])); in do_stf_exit_barrier_fixups()
219 patch_instruction(dest + 5, ppc_inst(instrs[5])); in do_stf_exit_barrier_fixups()
277 unsigned int instrs[4], *dest; in do_uaccess_flush_fixups() local
284 instrs[0] = PPC_RAW_NOP(); in do_uaccess_flush_fixups()
285 instrs[1] = PPC_RAW_NOP(); in do_uaccess_flush_fixups()
286 instrs[2] = PPC_RAW_NOP(); in do_uaccess_flush_fixups()
287 instrs[3] = PPC_RAW_BLR(); in do_uaccess_flush_fixups()
291 instrs[3] = PPC_RAW_NOP(); in do_uaccess_flush_fixups()
296 instrs[i++] = PPC_RAW_ORI(_R31, _R31, 0); /* speculation barrier */ in do_uaccess_flush_fixups()
297 instrs[i++] = PPC_RAW_ORI(_R30, _R30, 0); /* L1d flush */ in do_uaccess_flush_fixups()
301 instrs[i++] = PPC_RAW_MTSPR(SPRN_TRIG2, _R0); in do_uaccess_flush_fixups()
308 patch_instruction(dest, ppc_inst(instrs[0])); in do_uaccess_flush_fixups()
310 patch_instruction(dest + 1, ppc_inst(instrs[1])); in do_uaccess_flush_fixups()
311 patch_instruction(dest + 2, ppc_inst(instrs[2])); in do_uaccess_flush_fixups()
312 patch_instruction(dest + 3, ppc_inst(instrs[3])); in do_uaccess_flush_fixups()
328 unsigned int instrs[3], *dest; in __do_entry_flush_fixups() local
332 instrs[0] = PPC_RAW_NOP(); in __do_entry_flush_fixups()
333 instrs[1] = PPC_RAW_NOP(); in __do_entry_flush_fixups()
334 instrs[2] = PPC_RAW_NOP(); in __do_entry_flush_fixups()
338 instrs[i++] = PPC_RAW_MFLR(_R10); in __do_entry_flush_fixups()
339 instrs[i++] = PPC_RAW_NOP(); /* branch patched below */ in __do_entry_flush_fixups()
340 instrs[i++] = PPC_RAW_MTLR(_R10); in __do_entry_flush_fixups()
344 instrs[i++] = PPC_RAW_ORI(_R31, _R31, 0); /* speculation barrier */ in __do_entry_flush_fixups()
345 instrs[i++] = PPC_RAW_ORI(_R30, _R30, 0); /* L1d flush */ in __do_entry_flush_fixups()
349 instrs[i++] = PPC_RAW_MTSPR(SPRN_TRIG2, _R0); in __do_entry_flush_fixups()
384 patch_instruction(dest, ppc_inst(instrs[0])); in __do_entry_flush_fixups()
385 patch_instruction(dest + 2, ppc_inst(instrs[2])); in __do_entry_flush_fixups()
389 patch_instruction(dest + 1, ppc_inst(instrs[1])); in __do_entry_flush_fixups()
390 patch_instruction(dest + 2, ppc_inst(instrs[2])); in __do_entry_flush_fixups()
391 patch_instruction(dest, ppc_inst(instrs[0])); in __do_entry_flush_fixups()
403 patch_instruction(dest, ppc_inst(instrs[0])); in __do_entry_flush_fixups()
404 patch_instruction(dest + 2, ppc_inst(instrs[2])); in __do_entry_flush_fixups()
408 patch_instruction(dest + 1, ppc_inst(instrs[1])); in __do_entry_flush_fixups()
409 patch_instruction(dest + 2, ppc_inst(instrs[2])); in __do_entry_flush_fixups()
410 patch_instruction(dest, ppc_inst(instrs[0])); in __do_entry_flush_fixups()
441 unsigned int instrs[3], *dest; in __do_rfi_flush_fixups() local
448 instrs[0] = PPC_RAW_NOP(); in __do_rfi_flush_fixups()
449 instrs[1] = PPC_RAW_NOP(); in __do_rfi_flush_fixups()
450 instrs[2] = PPC_RAW_NOP(); in __do_rfi_flush_fixups()
454 instrs[0] = PPC_RAW_BRANCH(16); in __do_rfi_flush_fixups()
458 instrs[i++] = PPC_RAW_ORI(_R31, _R31, 0); /* speculation barrier */ in __do_rfi_flush_fixups()
459 instrs[i++] = PPC_RAW_ORI(_R30, _R30, 0); /* L1d flush */ in __do_rfi_flush_fixups()
463 instrs[i++] = PPC_RAW_MTSPR(SPRN_TRIG2, _R0); in __do_rfi_flush_fixups()
470 patch_instruction(dest, ppc_inst(instrs[0])); in __do_rfi_flush_fixups()
471 patch_instruction(dest + 1, ppc_inst(instrs[1])); in __do_rfi_flush_fixups()
472 patch_instruction(dest + 2, ppc_inst(instrs[2])); in __do_rfi_flush_fixups()