| /linux/tools/perf/util/intel-pt-decoder/ |
| H A D | intel-pt-insn-decoder.c | 29 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() 95 /* jmpabs causes a TIP packet like an indirect branch */ in intel_pt_insn_decoder() [all...] |
| /linux/drivers/clk/nxp/ |
| H A D | clk-lpc18xx-ccu.c | 202 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 D | intel-bts.c | 80 struct branch { struct 89 struct branch *branch; in intel_bts_dump() local 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 intel_bts_synth_branch_sample(struct intel_bts_queue * btsq,struct branch * branch) intel_bts_synth_branch_sample() argument 365 intel_bts_get_branch_type(struct intel_bts_queue * btsq,struct branch * branch) intel_bts_get_branch_type() argument 412 struct branch *branch; intel_bts_process_buffer() local [all...] |
| H A D | annotate.c | 158 if (notes->branch && notes->branch->cycles_hist) { in symbol__annotate_zero_histograms() 159 memset(notes->branch->cycles_hist, 0, in symbol__annotate_zero_histograms() 271 if (notes->branch == NULL) in annotation__get_branch() 272 notes->branch = zalloc(sizeof(*notes->branch)); in annotation__get_branch() 274 return notes->branch; 281 struct annotated_branch *branch; in symbol__find_branch_hist() 284 branch = annotation__get_branch(notes); in symbol__find_branch_hist() 285 if (branch in symbol__find_branch_hist() 279 struct annotated_branch *branch; symbol__find_branch_hist() local 333 symbol__account_br_cntr(struct annotated_branch * branch,struct evsel * evsel,unsigned offset,u64 br_cntr) symbol__account_br_cntr() argument 364 struct annotated_branch *branch; symbol__account_cycles() local 461 annotated_branch__delete(struct annotated_branch * branch) annotated_branch__delete() argument 478 struct annotated_branch *branch; annotation__count_and_fill() local 709 struct block_range *branch = br; annotate__branch_printf() local 1797 struct annotated_branch *branch = annotation__get_branch(notes); ipc_coverage_string() local [all...] |
| /linux/drivers/clk/qcom/ |
| H A D | ecpricc-qdu1000.c | 924 .branch = { 948 .branch = { 972 .branch = { 996 .branch = { 1020 .branch = { 1062 .branch = { 1086 .branch = { 1110 .branch = { 1134 .branch = { 1176 .branch = { [all …]
|
| H A D | clk-branch.c | 141 struct clk_branch branch = mem_br->branch; in clk_branch2_mem_enable() local 145 regmap_assign_bits(branch.clkr.regmap, mem_br->mem_enable_reg, in clk_branch2_mem_enable() 148 ret = regmap_read_poll_timeout(branch.clkr.regmap, mem_br->mem_ack_reg, in clk_branch2_mem_enable() 151 WARN(1, "%s mem enable failed\n", clk_hw_get_name(&branch.clkr.hw)); in clk_branch2_mem_enable() 162 regmap_assign_bits(mem_br->branch.clkr.regmap, mem_br->mem_enable_reg, in clk_branch2_mem_disable()
|
| /linux/tools/perf/tests/shell/ |
| H A D | test_brstack.sh | 2 # Check branch stack sampling 11 # skip the test if the hardware doesn't support branch stack sampling 13 if ! perf record -o- --no-buildid --branch-filter any,save_type,u -- true > /dev/null 2>&1 ; then 53 echo "Testing user branch stack sampling" 57 perf record -o "$TMPDIR/perf.data" --branch-filter any,save_type,u -- ${TESTPROG} > "$TMPDIR/record.txt" 2>&1 60 # example of branch entries: 92 echo "Testing user branch stack sampling [Failed kernel address found in user mode]" 95 # some branch types are still not being tested: 98 echo "Testing user branch stack sampling [Passed]" 101 echo "Testing user branch stac [all...] |
| /linux/Documentation/admin-guide/hw-vuln/ |
| H A D | spectre.rst | 6 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/arch/parisc/include/asm/ |
| H A D | jump_label.h | 13 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/Documentation/arch/riscv/ |
| H A D | zicfilp.rst | 11 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/csky/include/asm/ |
| H A D | jump_label.h | 13 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/xtensa/include/asm/ |
| H A D | jump_label.h | 14 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 D | jump_label.h | 32 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/loongarch/include/asm/ |
| H A D | jump_label.h | 38 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) in arch_static_branch() argument 42 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch() 50 …atic __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) in arch_static_branch_jump() argument 55 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/riscv/include/asm/ |
| H A D | jump_label.h | 37 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 D | jump_label.h | 44 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/arch/x86/include/asm/ |
| H A D | jump_label.h | 35 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/tools/perf/arch/x86/tests/ |
| H A D | insn-x86.c | 103 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 D | gen-insn-x86-dat.awk | 14 branch = "" 44 printf "}, %d, %s, \"%s\", \"%s\",", len, rel, op, branch 47 branch = "" 62 branch = $i
|
| /linux/arch/mips/include/asm/ |
| H A D | jump_label.h | 40 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 D | bconf2ftrace.sh | 184 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
|
| /linux/rust/kernel/ |
| H A D | jump_label.rs | 50 ($key:path, $keytyp:ty, $field:ident, $branch:expr) => {'my_label: { 58 branch = const $crate::jump_label::bool_to_int($branch), 70 ($key:path, $keytyp:ty, $field:ident, $branch:expr) => {
|
| /linux/Documentation/maintainer/ |
| H A D | messy-diffstat.rst | 35 When a subsystem maintainer creates a branch and commits changes to it, the 43 the mainline branch (let's call it "linus") and cN, there are still two 54 Our maintainer has created one branch at vN-rc1 and another at vN-rc2; the 70 branch or performing another merge with the linus branch, then recreating 76 situation is to indeed to do a merge with the branch you intend your work 78 shame. Create a new, throwaway branch and do the merge there:: 88 the differences from the mainline branch. Now it will be possible to 93 Save the output from this command, then simply delete the TEMP branch;
|
| /linux/arch/powerpc/tools/ |
| H A D | unrel_branch_check.sh | 47 while IFS=: read -r from branch to sym; do 53 if [ "$branch" = 'b' ]; then 73 printf '%s %s-> %s %s\n' "$from" "$branch" "$to" "$sym"
|
| /linux/fs/ubifs/ |
| H A D | lpt.c | 1205 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 …]
|