|
Linux Kernel
3.7.1
|
Go to the source code of this file.
Data Structures | |
| union | decode_item |
| struct | decode_header |
| struct | decode_table |
| struct | decode_custom |
| struct | decode_simulate |
| struct | decode_emulate |
| struct | decode_or |
| struct | decode_reject |
Macros | |
| #define | KPROBE_ARM_BREAKPOINT_INSTRUCTION 0x07f001f8 |
| #define | KPROBE_THUMB16_BREAKPOINT_INSTRUCTION 0xde18 |
| #define | KPROBE_THUMB32_BREAKPOINT_INSTRUCTION 0xf7f0a018 |
| #define | alu_write_pc_interworks false |
| #define | test_alu_write_pc_interworking() |
| #define | is_writeback(insn) ((insn ^ 0x01000000) & 0x01200000) |
| #define | DECODE_TYPE_BITS 4 |
| #define | DECODE_TYPE_MASK ((1 << DECODE_TYPE_BITS) - 1) |
| #define | REGS(r16, r12, r8, r4, r0) |
| #define | DECODE_END {.bits = DECODE_TYPE_END} |
| #define | DECODE_HEADER(_type, _mask, _value, _regs) |
| #define | DECODE_TABLE(_mask, _value, _table) |
| #define | DECODE_CUSTOM(_mask, _value, _decoder) |
| #define | DECODE_SIMULATEX(_mask, _value, _handler, _regs) |
| #define | DECODE_SIMULATE(_mask, _value, _handler) DECODE_SIMULATEX(_mask, _value, _handler, 0) |
| #define | DECODE_EMULATEX(_mask, _value, _handler, _regs) |
| #define | DECODE_EMULATE(_mask, _value, _handler) DECODE_EMULATEX(_mask, _value, _handler, 0) |
| #define | DECODE_OR(_mask, _value) DECODE_HEADER(DECODE_TYPE_OR, _mask, _value, 0) |
| #define | DECODE_REJECT(_mask, _value) DECODE_HEADER(DECODE_TYPE_REJECT, _mask, _value, 0) |
Enumerations | |
| enum | kprobe_insn { INSN_REJECTED, INSN_GOOD, INSN_GOOD_NO_SLOT } |
| enum | decode_type { DECODE_TYPE_END, DECODE_TYPE_TABLE, DECODE_TYPE_CUSTOM, DECODE_TYPE_SIMULATE, DECODE_TYPE_EMULATE, DECODE_TYPE_OR, DECODE_TYPE_REJECT, NUM_DECODE_TYPES } |
| enum | decode_reg_type { REG_TYPE_NONE = 0, REG_TYPE_ANY, REG_TYPE_SAMEAS16, REG_TYPE_SP, REG_TYPE_PC, REG_TYPE_NOSP, REG_TYPE_NOSPPC, REG_TYPE_NOPC, REG_TYPE_NOPCWB, REG_TYPE_NOPCX, REG_TYPE_NOSPPCX, REG_TYPE_0 = REG_TYPE_NONE } |
Functions | |
| enum kprobe_insn() | kprobe_decode_insn_t (kprobe_opcode_t, struct arch_specific_insn *) |
| enum kprobe_insn | arm_kprobe_decode_insn (kprobe_opcode_t, struct arch_specific_insn *) |
| void __init | arm_kprobe_decode_init (void) |
| void __init | find_str_pc_offset (void) |
| void __init | test_load_write_pc_interworking (void) |
| void __kprobes | kprobe_simulate_nop (struct kprobe *p, struct pt_regs *regs) |
| void __kprobes | kprobe_emulate_none (struct kprobe *p, struct pt_regs *regs) |
| enum kprobe_insn __kprobes | kprobe_decode_ldmstm (kprobe_opcode_t insn, struct arch_specific_insn *asi) |
| int | kprobe_decode_insn (kprobe_opcode_t insn, struct arch_specific_insn *asi, const union decode_item *table, bool thumb16) |
Variables | |
| kprobe_check_cc *const | kprobe_condition_checks [16] |
| int | str_pc_offset |
| bool | load_write_pc_interworks |
| union decode_item | kprobe_decode_arm_table [] |
| #define DECODE_CUSTOM | ( | _mask, | |
| _value, | |||
| _decoder | |||
| ) |
| #define DECODE_EMULATE | ( | _mask, | |
| _value, | |||
| _handler | |||
| ) | DECODE_EMULATEX(_mask, _value, _handler, 0) |
| #define DECODE_EMULATEX | ( | _mask, | |
| _value, | |||
| _handler, | |||
| _regs | |||
| ) |
| #define DECODE_END {.bits = DECODE_TYPE_END} |
| #define DECODE_HEADER | ( | _type, | |
| _mask, | |||
| _value, | |||
| _regs | |||
| ) |
| #define DECODE_OR | ( | _mask, | |
| _value | |||
| ) | DECODE_HEADER(DECODE_TYPE_OR, _mask, _value, 0) |
| #define DECODE_REJECT | ( | _mask, | |
| _value | |||
| ) | DECODE_HEADER(DECODE_TYPE_REJECT, _mask, _value, 0) |
| #define DECODE_SIMULATE | ( | _mask, | |
| _value, | |||
| _handler | |||
| ) | DECODE_SIMULATEX(_mask, _value, _handler, 0) |
| #define DECODE_SIMULATEX | ( | _mask, | |
| _value, | |||
| _handler, | |||
| _regs | |||
| ) |
| #define DECODE_TABLE | ( | _mask, | |
| _value, | |||
| _table | |||
| ) |
| #define DECODE_TYPE_MASK ((1 << DECODE_TYPE_BITS) - 1) |
| enum decode_reg_type |
| enum decode_type |
| enum kprobe_insn |
Definition at line 77 of file kprobes-common.c.
| enum kprobe_insn arm_kprobe_decode_insn | ( | kprobe_opcode_t | , |
| struct arch_specific_insn * | |||
| ) |
Definition at line 1000 of file kprobes-arm.c.
Definition at line 32 of file kprobes-common.c.
| int kprobe_decode_insn | ( | kprobe_opcode_t | insn, |
| struct arch_specific_insn * | asi, | ||
| const union decode_item * | table, | ||
| bool | thumb16 | ||
| ) |
Definition at line 518 of file kprobes-common.c.
| enum kprobe_insn() kprobe_decode_insn_t | ( | kprobe_opcode_t | , |
| struct arch_specific_insn * | |||
| ) |
| enum kprobe_insn __kprobes kprobe_decode_ldmstm | ( | kprobe_opcode_t | insn, |
| struct arch_specific_insn * | asi | ||
| ) |
Definition at line 280 of file kprobes-common.c.
Definition at line 180 of file kprobes-common.c.
Definition at line 176 of file kprobes-common.c.
Definition at line 53 of file kprobes-common.c.
| kprobe_check_cc* const kprobe_condition_checks[16] |
Definition at line 168 of file kprobes-common.c.
| union decode_item kprobe_decode_arm_table[] |
Definition at line 887 of file kprobes-arm.c.
| bool load_write_pc_interworks |
Definition at line 51 of file kprobes-common.c.
| int str_pc_offset |
Definition at line 30 of file kprobes-common.c.
1.8.2