Home
last modified time | relevance | path

Searched refs:branch (Results 1 – 25 of 214) sorted by relevance

123456789

/Linux-v5.4/tools/perf/util/intel-pt-decoder/
Dintel-pt-insn-decoder.c31 enum intel_pt_insn_branch branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() local
38 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder()
49 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
54 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
58 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder()
66 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder()
73 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
77 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
81 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
85 branch = INTEL_PT_BR_UNCONDITIONAL; in intel_pt_insn_decoder()
[all …]
/Linux-v5.4/drivers/edac/
Di7300_edac.c67 #define to_channel(ch, branch) ((((branch)) << 1) | (ch)) argument
69 #define to_csrow(slot, ch, branch) \ argument
70 (to_channel(ch, branch) | ((slot) << 2))
411 unsigned branch, channel, bank, rank, cas, ras; in i7300_process_fbd_error() local
428 branch = (GET_FBD_FAT_IDX(error_reg) == 2) ? 1 : 0; in i7300_process_fbd_error()
450 branch, -1, rank, in i7300_process_fbd_error()
464 branch = (GET_FBD_NF_IDX(error_reg) == 2) ? 1 : 0; in i7300_process_fbd_error()
482 channel = (branch << 1); in i7300_process_fbd_error()
498 branch >> 1, channel % 2, rank, in i7300_process_fbd_error()
586 int slot, int ch, int branch, in decode_mtr() argument
[all …]
Di5400_edac.c516 int branch; in i5400_proccess_non_recoverable_info() local
540 branch = extract_fbdchan_indx(info->ferr_fat_fbd); in i5400_proccess_non_recoverable_info()
541 channel = branch; in i5400_proccess_non_recoverable_info()
552 rank, channel, channel + 1, branch >> 1, bank, in i5400_proccess_non_recoverable_info()
564 branch >> 1, -1, rank, in i5400_proccess_non_recoverable_info()
581 int branch; in i5400_process_nonfatal_error_info() local
605 branch = extract_fbdchan_indx(info->ferr_nf_fbd); in i5400_process_nonfatal_error_info()
613 channel += branch; in i5400_process_nonfatal_error_info()
625 rank, channel, branch >> 1, bank, in i5400_process_nonfatal_error_info()
632 branch >> 1, bank, rdwr_str(rdwr), ras, cas, in i5400_process_nonfatal_error_info()
[all …]
/Linux-v5.4/drivers/clk/nxp/
Dclk-lpc18xx-ccu.c205 static void lpc18xx_ccu_register_branch_gate_div(struct lpc18xx_clk_branch *branch, in lpc18xx_ccu_register_branch_gate_div() argument
213 if (branch->flags & CCU_BRANCH_HAVE_DIV2) { in lpc18xx_ccu_register_branch_gate_div()
218 div->reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
227 branch->gate.reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
228 branch->gate.bit_idx = 0; in lpc18xx_ccu_register_branch_gate_div()
230 branch->clk = clk_register_composite(NULL, branch->name, &parent, 1, in lpc18xx_ccu_register_branch_gate_div()
233 &branch->gate.hw, &lpc18xx_ccu_gate_ops, 0); in lpc18xx_ccu_register_branch_gate_div()
234 if (IS_ERR(branch->clk)) { in lpc18xx_ccu_register_branch_gate_div()
236 pr_warn("%s: failed to register %s\n", __func__, branch->name); in lpc18xx_ccu_register_branch_gate_div()
241 switch (branch->offset) { in lpc18xx_ccu_register_branch_gate_div()
[all …]
/Linux-v5.4/tools/perf/util/
Dintel-bts.c80 struct branch { struct
89 struct branch *branch; in intel_bts_dump() argument
90 size_t i, pos = 0, br_sz = sizeof(struct branch), sz; in intel_bts_dump()
109 branch = (struct branch *)buf; in intel_bts_dump()
111 le64_to_cpu(branch->from), in intel_bts_dump()
112 le64_to_cpu(branch->to), in intel_bts_dump()
113 le64_to_cpu(branch->misc) & 0x10 ? in intel_bts_dump()
239 for (; offs < len_a; offs += sizeof(struct branch)) { in intel_bts_find_overlap()
273 struct branch *branch) in intel_bts_synth_branch_sample() argument
284 sample.ip = le64_to_cpu(branch->from); in intel_bts_synth_branch_sample()
[all …]
/Linux-v5.4/scripts/tracing/
Ddraw_functrace.py70 def __toString(self, branch, lastChild): argument
72 s = "%s----%s (%s)\n" % (branch, self._func, self._time)
74 s = "%s----%s\n" % (branch, self._func)
78 branch = branch[:-1] + " "
81 s += "%s" % self._children[i].__toString(branch +\
84 s += "%s" % self._children[i].__toString(branch +\
/Linux-v5.4/arch/arm64/include/asm/
Djump_label.h19 bool branch) in arch_static_branch() argument
28 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch()
36 bool branch) in arch_static_branch_jump() argument
45 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/arch/parisc/include/asm/
Djump_label.h12 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
20 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
27 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
35 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/Documentation/admin-guide/hw-vuln/
Dspectre.rst6 Spectre is a class of side channel attacks that exploit branch prediction
18 use branch prediction and speculative execution.
55 buffers, and branch predictors. Malicious software may be able to
70 of speculative execution that bypasses conditional branch instructions
92 The branch target injection attack takes advantage of speculative
94 branch predictors inside the processor used to guess the target of
103 branches in the victim to gadget code by poisoning the branch target
104 buffer of a CPU used for predicting indirect branch addresses. Such
106 with the address offset of the indirect branch under the attacker's
107 control. Since the branch prediction on impacted hardware does not
[all …]
/Linux-v5.4/arch/s390/include/asm/
Djump_label.h23 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
31 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch()
37 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
45 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch_jump()
/Linux-v5.4/arch/xtensa/include/asm/
Djump_label.h14 bool branch) in arch_static_branch() argument
21 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
29 bool branch) in arch_static_branch_jump() argument
49 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/arch/sparc/include/asm/
Djump_label.h11 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
20 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
27 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
36 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/arch/arm/include/asm/
Djump_label.h12 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
19 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
26 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
33 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/include/linux/
Djump_label.h456 bool branch; \
458 branch = !arch_static_branch(&(x)->key, true); \
460 branch = !arch_static_branch_jump(&(x)->key, true); \
462 branch = ____wrong_branch_error(); \
463 likely(branch); \
468 bool branch; \
470 branch = arch_static_branch_jump(&(x)->key, false); \
472 branch = arch_static_branch(&(x)->key, false); \
474 branch = ____wrong_branch_error(); \
475 unlikely(branch); \
/Linux-v5.4/Documentation/
Dstatic-keys.txt48 The static_branch_unlikely() branch will be generated into the code with as little
56 Currently, tracepoints are implemented using a conditional branch. The
78 the branch site to change the branch direction.
80 For example, if we have a simple branch that is disabled by default::
83 printk("I am the true branch\n");
87 straight-line code path. When the branch is 'flipped', we will patch the
89 out-of-line true branch. Thus, changing branch direction is expensive but
90 branch selection is basically 'free'. That is the basic tradeoff of this
138 The branch(es) can then be switched via reference counts::
144 Thus, 'static_branch_inc()' means 'make the branch true', and
[all …]
/Linux-v5.4/arch/powerpc/include/asm/
Djump_label.h18 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
25 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
32 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
39 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/arch/mips/include/asm/
Djump_label.h35 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
42 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
49 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
55 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/tools/perf/arch/x86/tests/
Dinsn-x86.c99 int op, branch; in test_data_item() local
116 branch = get_branch(dat->expected_branch_str); in test_data_item()
129 if ((int)intel_pt_insn.branch != branch) { in test_data_item()
131 intel_pt_insn.branch, branch, dat->asm_rep); in test_data_item()
Dgen-insn-x86-dat.awk14 branch = ""
44 printf "}, %d, %s, \"%s\", \"%s\",", len, rel, op, branch
47 branch = ""
62 branch = $i
/Linux-v5.4/arch/x86/include/asm/
Djump_label.h23 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
32 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch()
39 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
49 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch_jump()
/Linux-v5.4/tools/perf/tests/attr/
DREADME36 perf record -b kill (test-record-branch-any)
37 perf record -j any kill (test-record-branch-filter-any)
38 perf record -j any_call kill (test-record-branch-filter-any_call)
39 perf record -j any_ret kill (test-record-branch-filter-any_ret)
40 perf record -j hv kill (test-record-branch-filter-hv)
41 perf record -j ind_call kill (test-record-branch-filter-ind_call)
42 perf record -j k kill (test-record-branch-filter-k)
43 perf record -j u kill (test-record-branch-filter-u)
/Linux-v5.4/fs/sysv/
Ditree.c128 Indirect *branch) in alloc_branch() argument
134 branch[0].key = sysv_new_block(inode->i_sb); in alloc_branch()
135 if (branch[0].key) for (n = 1; n < num; n++) { in alloc_branch()
139 branch[n].key = sysv_new_block(inode->i_sb); in alloc_branch()
140 if (!branch[n].key) in alloc_branch()
146 parent = block_to_cpu(SYSV_SB(inode->i_sb), branch[n-1].key); in alloc_branch()
150 branch[n].bh = bh; in alloc_branch()
151 branch[n].p = (sysv_zone_t*) bh->b_data + offsets[n]; in alloc_branch()
152 *branch[n].p = branch[n].key; in alloc_branch()
162 bforget(branch[i].bh); in alloc_branch()
[all …]
/Linux-v5.4/fs/minix/
Ditree_common.c73 Indirect *branch) in alloc_branch() argument
79 branch[0].key = cpu_to_block(parent); in alloc_branch()
86 branch[n].key = cpu_to_block(nr); in alloc_branch()
90 branch[n].bh = bh; in alloc_branch()
91 branch[n].p = (block_t*) bh->b_data + offsets[n]; in alloc_branch()
92 *branch[n].p = branch[n].key; in alloc_branch()
103 bforget(branch[i].bh); in alloc_branch()
105 minix_free_block(inode, block_to_cpu(branch[i].key)); in alloc_branch()
/Linux-v5.4/arch/arm64/kernel/
Dftrace.c254 u32 branch, nop; in ftrace_modify_graph_caller() local
256 branch = aarch64_insn_gen_branch_imm(pc, in ftrace_modify_graph_caller()
262 return ftrace_modify_code(pc, nop, branch, true); in ftrace_modify_graph_caller()
264 return ftrace_modify_code(pc, branch, nop, true); in ftrace_modify_graph_caller()
/Linux-v5.4/fs/ubifs/
Dlpt.c1205 struct ubifs_nbranch *branch = NULL; in ubifs_read_nnode() local
1211 branch = &parent->nbranch[iip]; in ubifs_read_nnode()
1212 lnum = branch->lnum; in ubifs_read_nnode()
1213 offs = branch->offs; in ubifs_read_nnode()
1246 branch->nnode = nnode; in ubifs_read_nnode()
1273 struct ubifs_nbranch *branch; in read_pnode() local
1278 branch = &parent->nbranch[iip]; in read_pnode()
1279 lnum = branch->lnum; in read_pnode()
1280 offs = branch->offs; in read_pnode()
1314 branch->pnode = pnode; in read_pnode()
[all …]

123456789