Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
kprobes.h File Reference
#include <linux/types.h>
#include <linux/ptrace.h>
#include <linux/percpu.h>
#include <asm/break.h>

Go to the source code of this file.

Data Structures

union  cmp_inst
 
struct  _bundle
 
struct  prev_kprobe
 
struct  kprobe_ctlblk
 
struct  kprobe_opcode
 
struct  arch_specific_insn
 

Macros

#define __ARCH_WANT_KPROBES_INSN_SLOT
 
#define MAX_INSN_SIZE   2 /* last half is for kprobe-booster */
 
#define BREAK_INST   (long)(__IA64_BREAK_KPROBE << 6)
 
#define NOP_M_INST   (long)(1<<27)
 
#define BRL_INST(i1, i2)
 
#define MAX_PARAM_RSE_SIZE   (0x60+0x60/0x3f)
 
#define ARCH_PREV_KPROBE_SZ   2
 
#define kretprobe_blacklist_size   0
 
#define SLOT0_OPCODE_SHIFT   (37)
 
#define SLOT1_p1_OPCODE_SHIFT   (37 - (64-46))
 
#define SLOT2_OPCODE_SHIFT   (37)
 
#define INDIRECT_CALL_OPCODE   (1)
 
#define IP_RELATIVE_CALL_OPCODE   (5)
 
#define IP_RELATIVE_BRANCH_OPCODE   (4)
 
#define IP_RELATIVE_PREDICT_OPCODE   (7)
 
#define LONG_BRANCH_OPCODE   (0xC)
 
#define LONG_CALL_OPCODE   (0xD)
 
#define flush_insn_slot(p)   do { } while (0)
 
#define INST_FLAG_FIX_RELATIVE_IP_ADDR   1
 
#define INST_FLAG_FIX_BRANCH_REG   2
 
#define INST_FLAG_BREAK_INST   4
 
#define INST_FLAG_BOOSTABLE   8
 

Typedefs

typedef union cmp_inst cmp_inst_t
 
typedef struct kprobe_opcode kprobe_opcode_t
 

Functions

struct _bundle __attribute__ ((__aligned__(16))) bundle_t
 
int kprobe_fault_handler (struct pt_regs *regs, int trapnr)
 
int kprobe_exceptions_notify (struct notifier_block *self, unsigned long val, void *data)
 
void invalidate_stacked_regs (void)
 
void flush_register_stack (void)
 
void arch_remove_kprobe (struct kprobe *p)
 

Variables

struct {
   unsigned long long   template: 5
 
   unsigned long long   slot0: 41
 
   unsigned long long   slot1_p0: 64-46
 
quad0
 
struct {
   unsigned long long   slot1_p1: 41 - (64-46)
 
   unsigned long long   slot2: 41
 
quad1
 
struct prev_kprobe __attribute__
 

Macro Definition Documentation

#define __ARCH_WANT_KPROBES_INSN_SLOT

Definition at line 31 of file kprobes.h.

#define ARCH_PREV_KPROBE_SZ   2

Definition at line 77 of file kprobes.h.

#define BREAK_INST   (long)(__IA64_BREAK_KPROBE << 6)

Definition at line 33 of file kprobes.h.

#define BRL_INST (   i1,
  i2 
)
Value:
((long)((0xcL << 37) | /* brl */ \
(0x1L << 12) | /* many */ \
(((i1) & 1) << 36) | ((i2) << 13))) /* imm */

Definition at line 35 of file kprobes.h.

#define flush_insn_slot (   p)    do { } while (0)

Definition at line 100 of file kprobes.h.

#define INDIRECT_CALL_OPCODE   (1)

Definition at line 94 of file kprobes.h.

#define INST_FLAG_BOOSTABLE   8

Definition at line 113 of file kprobes.h.

#define INST_FLAG_BREAK_INST   4

Definition at line 112 of file kprobes.h.

#define INST_FLAG_FIX_BRANCH_REG   2

Definition at line 111 of file kprobes.h.

#define INST_FLAG_FIX_RELATIVE_IP_ADDR   1

Definition at line 110 of file kprobes.h.

#define IP_RELATIVE_BRANCH_OPCODE   (4)

Definition at line 96 of file kprobes.h.

#define IP_RELATIVE_CALL_OPCODE   (5)

Definition at line 95 of file kprobes.h.

#define IP_RELATIVE_PREDICT_OPCODE   (7)

Definition at line 97 of file kprobes.h.

#define kretprobe_blacklist_size   0

Definition at line 88 of file kprobes.h.

#define LONG_BRANCH_OPCODE   (0xC)

Definition at line 98 of file kprobes.h.

#define LONG_CALL_OPCODE   (0xD)

Definition at line 99 of file kprobes.h.

#define MAX_INSN_SIZE   2 /* last half is for kprobe-booster */

Definition at line 32 of file kprobes.h.

#define MAX_PARAM_RSE_SIZE   (0x60+0x60/0x3f)

Definition at line 75 of file kprobes.h.

#define NOP_M_INST   (long)(1<<27)

Definition at line 34 of file kprobes.h.

#define SLOT0_OPCODE_SHIFT   (37)

Definition at line 90 of file kprobes.h.

#define SLOT1_p1_OPCODE_SHIFT   (37 - (64-46))

Definition at line 91 of file kprobes.h.

#define SLOT2_OPCODE_SHIFT   (37)

Definition at line 92 of file kprobes.h.

Typedef Documentation

typedef union cmp_inst cmp_inst_t

Function Documentation

struct _bundle __attribute__ ( (__aligned__(16))  )
void arch_remove_kprobe ( struct kprobe p)

Definition at line 158 of file kprobes.c.

void flush_register_stack ( void  )
void invalidate_stacked_regs ( void  )
int kprobe_exceptions_notify ( struct notifier_block self,
unsigned long  val,
void data 
)

Definition at line 359 of file kprobes.c.

int kprobe_fault_handler ( struct pt_regs regs,
int  trapnr 
)

Definition at line 186 of file kprobes.c.

Variable Documentation

struct { ... } quad0
struct { ... } quad1
unsigned long long slot0

Definition at line 71 of file kprobes.h.

unsigned long long slot1_p0

Definition at line 72 of file kprobes.h.

unsigned long long slot1_p1

Definition at line 75 of file kprobes.h.

unsigned long long slot2

Definition at line 76 of file kprobes.h.

unsigned long long template

Definition at line 70 of file kprobes.h.