Home
last modified time | relevance | path

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

12345678910

/linux/tools/perf/util/intel-pt-decoder/
H A Dintel-pt-insn-decoder.c29 enum intel_pt_insn_branch branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() local
37 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder()
50 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
56 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
60 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
73 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
78 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
82 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder()
90 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder()
96 intel_pt_insn->branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder()
[all …]
/linux/drivers/clk/nxp/
H A Dclk-lpc18xx-ccu.c202 static void lpc18xx_ccu_register_branch_gate_div(struct lpc18xx_clk_branch *branch, in lpc18xx_ccu_register_branch_gate_div() argument
210 if (branch->flags & CCU_BRANCH_HAVE_DIV2) { in lpc18xx_ccu_register_branch_gate_div()
215 div->reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
224 branch->gate.reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
225 branch->gate.bit_idx = 0; in lpc18xx_ccu_register_branch_gate_div()
227 branch->clk = clk_register_composite(NULL, branch->name, &parent, 1, in lpc18xx_ccu_register_branch_gate_div()
230 &branch->gate.hw, &lpc18xx_ccu_gate_ops, 0); in lpc18xx_ccu_register_branch_gate_div()
231 if (IS_ERR(branch->clk)) { in lpc18xx_ccu_register_branch_gate_div()
233 pr_warn("%s: failed to register %s\n", __func__, branch->name); in lpc18xx_ccu_register_branch_gate_div()
238 switch (branch->offset) { in lpc18xx_ccu_register_branch_gate_div()
[all …]
/linux/tools/perf/util/
H A 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
285 sample.ip = le64_to_cpu(branch->from); in intel_bts_synth_branch_sample()
[all …]
H A Dannotate.c159 if (notes->branch && notes->branch->cycles_hist) { in symbol__annotate_zero_histograms()
160 memset(notes->branch->cycles_hist, 0, in symbol__annotate_zero_histograms()
270 if (notes->branch == NULL) in annotation__get_branch()
271 notes->branch = zalloc(sizeof(*notes->branch)); in annotation__get_branch()
273 return notes->branch; in annotation__get_branch()
280 struct annotated_branch *branch; in symbol__find_branch_hist() local
283 branch = annotation__get_branch(notes); in symbol__find_branch_hist()
284 if (branch == NULL) in symbol__find_branch_hist()
287 if (branch->cycles_hist == NULL) { in symbol__find_branch_hist()
288 branch->cycles_hist = calloc(size, sizeof(struct cyc_hist)); in symbol__find_branch_hist()
[all …]
/linux/drivers/clk/qcom/
H A Decpricc-qdu1000.c925 .branch = {
949 .branch = {
973 .branch = {
997 .branch = {
1021 .branch = {
1063 .branch = {
1087 .branch = {
1111 .branch = {
1135 .branch = {
1177 .branch = {
[all …]
/linux/Documentation/admin-guide/hw-vuln/
H A 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/tools/perf/tests/shell/
H A Dtest_brstack.sh13 if ! perf record -o- --no-buildid --branch-filter any,save_type,u -- true > /dev/null 2>&1 ; then
51 …perf record -o "$TMPDIR/perf.data" --branch-filter any,save_type,u -- ${TESTPROG} > "$TMPDIR/recor…
91 perf record -o $TMPDIR/perf.data --branch-filter any,save_type,u,k -- \
105 if ! perf record --branch-filter any,k -o- -- true > /dev/null; then
108 perf record -o $TMPDIR/perf.data --branch-filter any,k -- \
139 …perf record -o "$TMPDIR/perf.data" --branch-filter "$test_filter_filter,save_type,u" -- ${TESTPROG…
167 if ! perf record --branch-filter any,k -o- -- true > /dev/null; then
170 perf record -o $TMPDIR/perf.data --branch-filter \
/linux/Documentation/staging/
H A Dstatic-keys.rst48 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/Documentation/arch/riscv/
H A Dzicfilp.rst11 to enable indirect branch tracking for user mode applications on RISC-V.
72 dependencies have been compiled with indirect branch support. Thus
73 it's left to the dynamic loader to enable indirect branch tracking for
79 Per-task indirect branch tracking state can be monitored and
91 ``zicfilp``, then the kernel will enable indirect branch tracking for
94 indirect branch tracking.
96 Indirect branch tracking state can also be locked once enabled. This
98 setting the bit :c:macro:`PR_CFI_LOCK` in arg. Either indirect branch
104 Indirect branch tracking can also be disabled for the task, assuming
108 :c:macro:`PR_CFI_DISABLE`. Disabling indirect branch tracking for the
[all …]
/linux/arch/parisc/include/asm/
H A Djump_label.h13 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
22 : : "i" (&((char *)key)[branch]), "i" (sizeof(long)) in arch_static_branch()
30 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]), "i" (sizeof(long)) in arch_static_branch_jump()
/linux/arch/csky/include/asm/
H A Djump_label.h13 bool branch) in arch_static_branch() argument
22 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch()
30 bool branch) in arch_static_branch_jump() argument
39 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch_jump()
/linux/arch/s390/include/asm/
H A Djump_label.h26 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
34 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch()
40 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
48 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch_jump()
/linux/arch/xtensa/include/asm/
H A 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/arch/arc/include/asm/
H A Djump_label.h32 bool branch) in arch_static_branch() argument
40 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
48 bool branch) in arch_static_branch_jump() argument
56 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/linux/arch/powerpc/include/asm/
H A Djump_label.h18 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
26 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
33 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
41 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/linux/tools/perf/arch/x86/tests/
H A Dinsn-x86.c103 int op, branch, ret; in test_data_item() local
120 branch = get_branch(dat->expected_branch_str); in test_data_item()
133 if ((int)intel_pt_insn.branch != branch) { in test_data_item()
135 intel_pt_insn.branch, branch, dat->asm_rep); in test_data_item()
H A Dgen-insn-x86-dat.awk14 branch = ""
44 printf "}, %d, %s, \"%s\", \"%s\",", len, rel, op, branch
47 branch = ""
62 branch = $i
/linux/arch/arm/include/asm/
H A Djump_label.h20 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
23 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
30 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
37 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/linux/arch/loongarch/include/asm/
H A Djump_label.h36 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) in arch_static_branch() argument
40 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch()
48 …atic __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) in arch_static_branch_jump() argument
53 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/linux/arch/riscv/include/asm/
H A Djump_label.h37 const bool branch) in arch_static_branch() argument
41 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch()
58 const bool branch) in arch_static_branch_jump() argument
62 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch_jump()
/linux/arch/openrisc/include/asm/
H A Djump_label.h44 const bool branch) in arch_static_branch() argument
47 ::"i"(&((char *)key)[branch])::l_yes); in arch_static_branch()
61 arch_static_branch_jump(struct static_key *const key, const bool branch) in arch_static_branch_jump() argument
64 ::"i"(&((char *)key)[branch])::l_yes); in arch_static_branch_jump()
/linux/include/linux/
H A Djump_label.h490 bool branch; \
492 branch = !arch_static_branch(&(x)->key, true); \
494 branch = !arch_static_branch_jump(&(x)->key, true); \
496 branch = ____wrong_branch_error(); \
497 likely_notrace(branch); \
502 bool branch; \
504 branch = arch_static_branch_jump(&(x)->key, false); \
506 branch = arch_static_branch(&(x)->key, false); \
508 branch = ____wrong_branch_error(); \
509 unlikely_notrace(branch); \
/linux/arch/x86/include/asm/
H A Djump_label.h35 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) in arch_static_branch() argument
38 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch()
45 …atic __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) in arch_static_branch_jump() argument
50 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch_jump()
/linux/arch/mips/include/asm/
H A Djump_label.h40 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument
47 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch()
54 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument
60 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
/linux/tools/bootconfig/scripts/
H A Dbconf2ftrace.sh184 branch=$1.$2.$3
198 xbc_get_val ${branch}.probes | while read line; do
203 run_cmd "echo '`compose_synth $3 ${branch}.fields`' >> $TRACEFS/synthetic_events"
207 set_value_of ${branch}.filter ${eventdir}/filter
208 set_array_of ${branch}.actions ${eventdir}/trigger
210 setup_histograms ${branch}.hist ${eventdir}/trigger
212 if xbc_has_key ${branch}.enable; then

12345678910