/openbmc/linux/arch/sparc/lib/ |
H A D | NGpage.S | 7 #include <asm/asi.h> 21 rd %asi, %g3 22 wr %g0, ASI_BLK_INIT_QUAD_LDD_P, %asi 29 ldda [%i1 + 0x00] %asi, %o2 30 ldda [%i1 + 0x10] %asi, %o4 31 ldda [%i1 + 0x20] %asi, %l2 32 ldda [%i1 + 0x30] %asi, %l4 33 stxa %o2, [%i0 + 0x00] %asi 34 stxa %o3, [%i0 + 0x08] %asi 35 stxa %o4, [%i0 + 0x10] %asi [all …]
|
H A D | xor.S | 15 #include <asm/asi.h> 35 rd %asi, %g1 36 wr %g0, ASI_BLK_P, %asi 39 ldda [%o1] %asi, %f0 40 ldda [%o2] %asi, %f16 42 2: ldda [%o1 + 64] %asi, %f32 51 stda %f16, [%o1] %asi 52 ldda [%o2 + 64] %asi, %f48 53 ldda [%o1 + 128] %asi, %f0 65 stda %f48, [%o1 - 64] %asi [all …]
|
H A D | NGbzero.S | 6 #include <asm/asi.h> 38 /* %o5: saved %asi, restored at NGbzero_done 39 * %g7: store-init %asi to use 40 * %o4: non-store-init %asi to use 42 rd %asi, %o5 45 wr %o4, 0x0, %asi 55 1: EX_ST(stba %o2, [%o0 + 0x00] %asi) 66 1: EX_ST(stxa %o2, [%o0 + 0x00] %asi) 72 wr %g7, 0x0, %asi 76 EX_ST(stxa %o2, [%o0 + 0x00] %asi) [all …]
|
H A D | GENbzero.S | 6 #include <asm/asi.h> 39 /* %o5: saved %asi, restored at GENbzero_done 40 * %o4: store %asi to use 42 rd %asi, %o5 44 wr %o4, 0x0, %asi 54 1: EX_ST(stba %o2, [%o0 + 0x00] %asi) 65 1: EX_ST(stxa %o2, [%o0 + 0x00] %asi) 74 EX_ST(stxa %o2, [%o0 + 0x00] %asi) 75 EX_ST(stxa %o2, [%o0 + 0x08] %asi) 76 EX_ST(stxa %o2, [%o0 + 0x10] %asi) [all …]
|
H A D | bzero.S | 98 EX_ST(prefetcha [%o0 + 0x00] %asi, #n_writes) 101 1: EX_ST(stba %g0, [%o0 + 0x00] %asi) 108 EX_ST(stwa %g0, [%o0 + 0x00] %asi) 116 EX_ST(prefetcha [%o0 + 0x040] %asi, #n_writes) 117 EX_ST(prefetcha [%o0 + 0x080] %asi, #n_writes) 118 EX_ST(prefetcha [%o0 + 0x0c0] %asi, #n_writes) 119 EX_ST(prefetcha [%o0 + 0x100] %asi, #n_writes) 120 EX_ST(prefetcha [%o0 + 0x140] %asi, #n_writes) 121 4: EX_ST(prefetcha [%o0 + 0x180] %asi, #n_writes) 122 EX_ST(stxa %g0, [%o0 + 0x00] %asi) [all …]
|
H A D | M7memset.S | 84 #include <asm/asi.h> 189 rd %asi, %g3 ! save %asi to be restored later 190 wr %g0, ASI_STBIMRU_P, %asi 194 sub %o5, 8, %o5 ! adjust %o5 for ASI store alignment 197 stxa %o1, [%o5+8]%asi 199 stxa %o1, [%o5+8+64]%asi 201 stxa %o1, [%o5+8-128]%asi 203 stxa %o1, [%o5+8-64]%asi 209 stxa %o1, [%o5+8+8]%asi 211 stxa %o1, [%o5+16+8]%asi [all …]
|
H A D | copy_in_user.S | 9 #include <asm/asi.h> 64 EX_O4(ldxa [%o1] %asi, %o5) 65 EX_O4(stxa %o5, [%o0] %asi) 73 EX_O2_4(lduwa [%o1] %asi, %o5) 74 EX_O2_4(stwa %o5, [%o0] %asi) 90 EX_O2_4(lduwa [%o1] %asi, %g1) 91 EX_O2_4(stwa %g1, [%o0] %asi) 102 EX_O2_1(lduba [%o1] %asi, %g1) 103 EX_O2_1(stba %g1, [%o0] %asi)
|
H A D | copy_page.S | 175 rd %asi, %g3 177 wr %g0, ASI_BLK_P, %asi 178 wr %g0, ASI_BLK_COMMIT_P, %asi 186 stda %f48, [%o0] %asi 192 stda %f48, [%o0] %asi 198 stda %f48, [%o0] %asi 207 stda %f48, [%o0] %asi 213 stda %f48, [%o0] %asi 218 stda %f32, [%o0] %asi 220 stda %f0, [%o0] %asi [all …]
|
H A D | NG4copy_to_user.S | 32 #define STORE(type,src,addr) type##a src, [addr] %asi 37 /* Writing to %asi is _expensive_ so we hardcode it. 38 * Reading %asi to check for KERNEL_DS is comparatively 42 rd %asi, %g1; \
|
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ |
H A D | antsel.c | 79 brcms_c_antsel_init_cfg(struct antsel_info *asi, struct brcms_antselcfg *antsel, in brcms_c_antsel_init_cfg() argument 82 if (asi->antsel_type == ANTSEL_2x3) { in brcms_c_antsel_init_cfg() 84 ((asi->antsel_avail && auto_sel) ? ANT_SELCFG_AUTO : 0); in brcms_c_antsel_init_cfg() 91 } else if (asi->antsel_type == ANTSEL_2x4) { in brcms_c_antsel_init_cfg() 111 struct antsel_info *asi; in brcms_c_antsel_attach() local 114 asi = kzalloc(sizeof(struct antsel_info), GFP_ATOMIC); in brcms_c_antsel_attach() 115 if (!asi) in brcms_c_antsel_attach() 118 asi->wlc = wlc; in brcms_c_antsel_attach() 119 asi->pub = wlc->pub; in brcms_c_antsel_attach() 120 asi->antsel_type = ANTSEL_NA; in brcms_c_antsel_attach() [all …]
|
/openbmc/linux/arch/sparc/include/asm/ |
H A D | ttable.h | 235 * For the user cases we used to use the %asi register, but 236 * it turns out that the "wr xxx, %asi" costs ~5 cycles, so 237 * now we use immediate ASI loads and stores instead. Kudos 297 #define SPILL_1_GENERIC(ASI) \ argument 299 stxa %l0, [%g1 + %g0] ASI; \ 301 stxa %l1, [%g1 + %g3] ASI; \ 303 stxa %l2, [%g1 + %g0] ASI; \ 304 stxa %l3, [%g1 + %g3] ASI; \ 306 stxa %l4, [%g1 + %g0] ASI; \ 307 stxa %l5, [%g1 + %g3] ASI; \ [all …]
|
/openbmc/linux/arch/sparc/kernel/ |
H A D | una_asm_64.S | 12 rd %asi, %o4 13 wr %o3, 0, %asi 22 4: stba %g1, [%o0] %asi 24 5: stba %g7, [%o0 + 1] %asi 26 6: stba %g1, [%o0 + 2] %asi 27 7: stba %g7, [%o0 + 3] %asi 29 8: stba %g2, [%o0 + 4] %asi 31 9: stba %g1, [%o0 + 5] %asi 32 10: stba %g7, [%o0 + 6] %asi 34 11: stba %g3, [%o0 + 7] %asi [all …]
|
H A D | unaligned_64.c | 16 #include <asm/asi.h> 91 return (unsigned char)(regs->tstate >> 24); /* %asi */ in decode_asi() 198 unsigned long *saddr, int is_signed, int asi); 201 unsigned long src_val, int asi); 204 struct pt_regs *regs, int asi, int orig_asi) in do_int_store() argument 219 if (unlikely(asi != orig_asi)) { in do_int_store() 236 return __do_int_store(dst_addr, size, src_val, asi); in do_int_store() 310 int orig_asi, asi; in kernel_unaligned_trap() local 315 orig_asi = asi = decode_asi(insn, regs); in kernel_unaligned_trap() 320 if (asi == ASI_AIUS) { in kernel_unaligned_trap() [all …]
|
H A D | tsb.S | 565 rd %asi, %g2 567 wr %g0, ASI_BLK_INIT_QUAD_LDD_P, %asi 569 1: stxa %g1, [%o0 + 0x00] %asi 570 stxa %g1, [%o0 + 0x10] %asi 571 stxa %g1, [%o0 + 0x20] %asi 572 stxa %g1, [%o0 + 0x30] %asi 573 stxa %g1, [%o0 + 0x40] %asi 574 stxa %g1, [%o0 + 0x50] %asi 575 stxa %g1, [%o0 + 0x60] %asi 576 stxa %g1, [%o0 + 0x70] %asi [all …]
|
/openbmc/linux/arch/arm/probes/kprobes/ |
H A D | actions-thumb.c | 25 struct arch_probes_insn *asi, struct pt_regs *regs) in t32_simulate_table_branch() argument 45 struct arch_probes_insn *asi, struct pt_regs *regs) in t32_simulate_mrs() argument 54 struct arch_probes_insn *asi, struct pt_regs *regs) in t32_simulate_cond_branch() argument 68 t32_decode_cond_branch(probes_opcode_t insn, struct arch_probes_insn *asi, in t32_decode_cond_branch() argument 72 asi->insn_check_cc = probes_condition_checks[cc]; in t32_decode_cond_branch() 73 asi->insn_handler = t32_simulate_cond_branch; in t32_decode_cond_branch() 79 struct arch_probes_insn *asi, struct pt_regs *regs) in t32_simulate_branch() argument 107 struct arch_probes_insn *asi, struct pt_regs *regs) in t32_simulate_ldr_literal() argument 144 t32_decode_ldmstm(probes_opcode_t insn, struct arch_probes_insn *asi, in t32_decode_ldmstm() argument 147 enum probes_insn ret = kprobe_decode_ldmstm(insn, asi, d); in t32_decode_ldmstm() [all …]
|
H A D | checkers-common.c | 14 struct arch_probes_insn *asi, in checker_stack_use_none() argument 17 asi->stack_space = 0; in checker_stack_use_none() 22 struct arch_probes_insn *asi, in checker_stack_use_unknown() argument 25 asi->stack_space = -1; in checker_stack_use_unknown() 31 struct arch_probes_insn *asi, in checker_stack_use_imm_0xx() argument 35 asi->stack_space = imm; in checker_stack_use_imm_0xx() 44 struct arch_probes_insn *asi, in checker_stack_use_t32strd() argument 48 asi->stack_space = imm << 2; in checker_stack_use_t32strd() 53 struct arch_probes_insn *asi, in checker_stack_use_imm_x0x() argument 57 asi->stack_space = imm; in checker_stack_use_imm_x0x() [all …]
|
H A D | actions-common.c | 19 struct arch_probes_insn *asi, in simulate_ldm1stm1() argument 61 struct arch_probes_insn *asi, in simulate_stm1_pc() argument 67 simulate_ldm1stm1(insn, asi, regs); in simulate_stm1_pc() 72 struct arch_probes_insn *asi, in simulate_ldm1_pc() argument 75 simulate_ldm1stm1(insn, asi, regs); in simulate_ldm1_pc() 81 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_generic_r0_12_noflags() argument 84 register void *rfn asm("lr") = asi->insn_fn; in emulate_generic_r0_12_noflags() 111 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_generic_r2_14_noflags() argument 113 emulate_generic_r0_12_noflags(insn, asi, in emulate_generic_r2_14_noflags() 119 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_ldm_r3_15() argument [all …]
|
H A D | checkers-arm.c | 14 struct arch_probes_insn *asi, in arm_check_stack() argument 83 return probes_decode_insn(insn, asi, table, false, false, stack_check_actions, NULL); in arm_check_stack() 94 struct arch_probes_insn *asi, in arm_check_regs_nouse() argument 97 asi->register_usage_flags = 0; in arm_check_regs_nouse() 102 struct arch_probes_insn *asi, in arm_check_regs_normal() argument 108 asi->register_usage_flags = 0; in arm_check_regs_normal() 111 asi->register_usage_flags |= 1 << (insn & 0xf); in arm_check_regs_normal() 118 struct arch_probes_insn *asi, in arm_check_regs_ldmstm() argument 123 asi->register_usage_flags = reglist | (1 << rn); in arm_check_regs_ldmstm() 128 struct arch_probes_insn *asi, in arm_check_regs_mov_ip_sp() argument [all …]
|
H A D | actions-arm.c | 70 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_ldrdstrd() argument 87 [fn] "r" (asi->insn_fn) in emulate_ldrdstrd() 99 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_ldr() argument 114 : "1" (rnv), "r" (rmv), [fn] "r" (asi->insn_fn) in emulate_ldr() 129 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_str() argument 146 : "r" (rtv), "0" (rnv), "r" (rmv), [fn] "r" (asi->insn_fn) in emulate_str() 156 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_rd12rn16rm0rs8_rwflags() argument 178 "1" (cpsr), [fn] "r" (asi->insn_fn) in emulate_rd12rn16rm0rs8_rwflags() 191 struct arch_probes_insn *asi, struct pt_regs *regs) in emulate_rd12rn16rm0_rwflags_nopc() argument 208 "1" (cpsr), [fn] "r" (asi->insn_fn) in emulate_rd12rn16rm0_rwflags_nopc() [all …]
|
/openbmc/linux/arch/sparc/power/ |
H A D | hibernate_asm.S | 64 rd %asi, %g1 65 wr %g0, ASI_PHYS_USE_EC, %asi 75 ldxa [%l0 ] %asi, %l1 /* address */ 76 ldxa [%l0 + 8] %asi, %l2 /* orig_address */ 92 ldxa [%l0 + 16] %asi, %l0 103 ldxa [%g3 + SC_REG_CWP] %asi, %g2 105 ldxa [%g3 + SC_REG_WSTATE] %asi, %g2 107 ldxa [%g3 + SC_REG_FP] %asi, %fp 110 ldxa [%g3 + SC_REG_PSTATE] %asi, %g2 112 ldxa [%g3 + SC_REG_TICK] %asi, %g2 [all …]
|
/openbmc/linux/arch/arm/probes/ |
H A D | decode.c | 176 struct arch_probes_insn *asi, in probes_simulate_nop() argument 182 struct arch_probes_insn *asi, in probes_emulate_none() argument 185 asi->insn_fn(); in probes_emulate_none() 196 prepare_emulated_insn(probes_opcode_t insn, struct arch_probes_insn *asi, in prepare_emulated_insn() argument 201 u16 *thumb_insn = (u16 *)asi->insn; in prepare_emulated_insn() 207 asi->insn[1] = __opcode_to_mem_arm(0xe12fff1e); /* ARM bx lr */ in prepare_emulated_insn() 209 asi->insn[1] = __opcode_to_mem_arm(0xe1a0f00e); /* mov pc, lr */ in prepare_emulated_insn() 222 set_emulated_insn(probes_opcode_t insn, struct arch_probes_insn *asi, in set_emulated_insn() argument 227 u16 *ip = (u16 *)asi->insn; in set_emulated_insn() 234 asi->insn[0] = __opcode_to_mem_arm(insn); in set_emulated_insn() [all …]
|
H A D | decode-arm.h | 51 struct arch_probes_insn *asi, struct pt_regs *regs); 53 struct arch_probes_insn *asi, struct pt_regs *regs); 55 struct arch_probes_insn *asi, struct pt_regs *regs); 57 struct arch_probes_insn *asi, struct pt_regs *regs); 59 struct arch_probes_insn *asi, struct pt_regs *regs);
|
/openbmc/linux/arch/arm/probes/uprobes/ |
H A D | actions-arm.c | 105 decode_pc_ro(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_pc_ro() argument 108 struct arch_uprobe *auprobe = container_of(asi, struct arch_uprobe, in decode_pc_ro() 109 asi); in decode_pc_ro() 129 decode_wb_pc(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_wb_pc() argument 132 struct arch_uprobe *auprobe = container_of(asi, struct arch_uprobe, in decode_wb_pc() 133 asi); in decode_wb_pc() 134 enum probes_insn ret = decode_pc_ro(insn, asi, d); in decode_wb_pc() 145 struct arch_probes_insn *asi, in decode_rd12rn16rm0rs8_rwflags() argument 148 return decode_wb_pc(insn, asi, d, true); in decode_rd12rn16rm0rs8_rwflags() 152 decode_ldr(probes_opcode_t insn, struct arch_probes_insn *asi, in decode_ldr() argument [all …]
|
H A D | core.h | 10 struct arch_probes_insn *asi, 14 struct arch_probes_insn *asi, 19 struct arch_probes_insn *asi, 23 decode_wb_pc(probes_opcode_t insn, struct arch_probes_insn *asi, 27 decode_pc_ro(probes_opcode_t insn, struct arch_probes_insn *asi,
|
/openbmc/qemu/target/sparc/ |
H A D | ldst_helper.c | 29 #include "asi.h" 53 do { printf("ASI: " fmt , ## __VA_ARGS__); } while (0) 303 /* returns true if access using this ASI is to have address translated by MMU 306 static inline int is_translating_asi(int asi) in is_translating_asi() argument 308 /* Ultrasparc IIi translating asi in is_translating_asi() 311 switch (asi) { in is_translating_asi() 335 int asi, target_ulong addr) in asi_address_mask() argument 337 if (is_translating_asi(asi)) { in asi_address_mask() 344 static inline void do_check_asi(CPUSPARCState *env, int asi, uintptr_t ra) in do_check_asi() argument 350 if (asi < 0x80 in do_check_asi() [all …]
|