Home
last modified time | relevance | path

Searched full:asi (Results 1 – 25 of 192) sorted by relevance

12345678

/openbmc/linux/arch/sparc/lib/
H A DNGpage.S7 #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 Dxor.S15 #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 DNGbzero.S6 #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 DGENbzero.S6 #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 Dbzero.S98 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 DM7memset.S84 #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 Dcopy_in_user.S9 #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 Dcopy_page.S175 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 DNG4copy_to_user.S32 #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 Dantsel.c79 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 Dttable.h235 * 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 Duna_asm_64.S12 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 Dunaligned_64.c16 #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 Dtsb.S565 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 Dactions-thumb.c25 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 Dcheckers-common.c14 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 Dactions-common.c19 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 Dcheckers-arm.c14 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 Dactions-arm.c70 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 Dhibernate_asm.S64 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 Ddecode.c176 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 Ddecode-arm.h51 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 Dactions-arm.c105 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 Dcore.h10 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 Dldst_helper.c29 #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 …]

12345678