Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hw_breakpoint.c File Reference
#include <linux/errno.h>
#include <linux/hardirq.h>
#include <linux/perf_event.h>
#include <linux/hw_breakpoint.h>
#include <linux/smp.h>
#include <asm/cacheflush.h>
#include <asm/cputype.h>
#include <asm/current.h>
#include <asm/hw_breakpoint.h>
#include <asm/kdebug.h>
#include <asm/traps.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   "hw-breakpoint: " fmt
 
#define READ_WB_REG_CASE(OP2, M, VAL)
 
#define WRITE_WB_REG_CASE(OP2, M, VAL)
 
#define GEN_READ_WB_REG_CASES(OP2, VAL)
 
#define GEN_WRITE_WB_REG_CASES(OP2, VAL)
 

Functions

u8 arch_get_debug_arch (void)
 
int hw_breakpoint_slots (int type)
 
u8 arch_get_max_wp_len (void)
 
int arch_install_hw_breakpoint (struct perf_event *bp)
 
void arch_uninstall_hw_breakpoint (struct perf_event *bp)
 
int arch_check_bp_in_kernelspace (struct perf_event *bp)
 
int arch_bp_generic_fields (struct arch_hw_breakpoint_ctrl ctrl, int *gen_len, int *gen_type)
 
int arch_validate_hwbkpt_settings (struct perf_event *bp)
 
 arch_initcall (arch_hw_breakpoint_init)
 
void hw_breakpoint_pmu_read (struct perf_event *bp)
 
int hw_breakpoint_exceptions_notify (struct notifier_block *unused, unsigned long val, void *data)
 

Macro Definition Documentation

#define GEN_READ_WB_REG_CASES (   OP2,
  VAL 
)
Value:
READ_WB_REG_CASE(OP2, 1, VAL); \
READ_WB_REG_CASE(OP2, 2, VAL); \
READ_WB_REG_CASE(OP2, 3, VAL); \
READ_WB_REG_CASE(OP2, 4, VAL); \
READ_WB_REG_CASE(OP2, 5, VAL); \
READ_WB_REG_CASE(OP2, 6, VAL); \
READ_WB_REG_CASE(OP2, 7, VAL); \
READ_WB_REG_CASE(OP2, 8, VAL); \
READ_WB_REG_CASE(OP2, 9, VAL); \
READ_WB_REG_CASE(OP2, 10, VAL); \
READ_WB_REG_CASE(OP2, 11, VAL); \
READ_WB_REG_CASE(OP2, 12, VAL); \
READ_WB_REG_CASE(OP2, 13, VAL); \
READ_WB_REG_CASE(OP2, 14, VAL); \
READ_WB_REG_CASE(OP2, 15, VAL)

Definition at line 65 of file hw_breakpoint.c.

#define GEN_WRITE_WB_REG_CASES (   OP2,
  VAL 
)
Value:
WRITE_WB_REG_CASE(OP2, 1, VAL); \
WRITE_WB_REG_CASE(OP2, 2, VAL); \
WRITE_WB_REG_CASE(OP2, 3, VAL); \
WRITE_WB_REG_CASE(OP2, 4, VAL); \
WRITE_WB_REG_CASE(OP2, 5, VAL); \
WRITE_WB_REG_CASE(OP2, 6, VAL); \
WRITE_WB_REG_CASE(OP2, 7, VAL); \
WRITE_WB_REG_CASE(OP2, 8, VAL); \
WRITE_WB_REG_CASE(OP2, 9, VAL); \
WRITE_WB_REG_CASE(OP2, 10, VAL); \
WRITE_WB_REG_CASE(OP2, 11, VAL); \
WRITE_WB_REG_CASE(OP2, 12, VAL); \
WRITE_WB_REG_CASE(OP2, 13, VAL); \
WRITE_WB_REG_CASE(OP2, 14, VAL); \
WRITE_WB_REG_CASE(OP2, 15, VAL)

Definition at line 83 of file hw_breakpoint.c.

#define pr_fmt (   fmt)    "hw-breakpoint: " fmt

Definition at line 24 of file hw_breakpoint.c.

#define READ_WB_REG_CASE (   OP2,
  M,
  VAL 
)
Value:
case ((OP2 << 4) + M): \
ARM_DBG_READ(c ## M, OP2, VAL); \
break

Definition at line 55 of file hw_breakpoint.c.

#define WRITE_WB_REG_CASE (   OP2,
  M,
  VAL 
)
Value:
case ((OP2 << 4) + M): \
ARM_DBG_WRITE(c ## M, OP2, VAL);\
break

Definition at line 60 of file hw_breakpoint.c.

Function Documentation

int arch_bp_generic_fields ( struct arch_hw_breakpoint_ctrl  ctrl,
int gen_len,
int gen_type 
)

Definition at line 475 of file hw_breakpoint.c.

int arch_check_bp_in_kernelspace ( struct perf_event bp)

Definition at line 458 of file hw_breakpoint.c.

u8 arch_get_debug_arch ( void  )

Definition at line 148 of file hw_breakpoint.c.

u8 arch_get_max_wp_len ( void  )

Definition at line 319 of file hw_breakpoint.c.

arch_initcall ( arch_hw_breakpoint_init  )
int arch_install_hw_breakpoint ( struct perf_event bp)

Definition at line 327 of file hw_breakpoint.c.

void arch_uninstall_hw_breakpoint ( struct perf_event bp)

Definition at line 391 of file hw_breakpoint.c.

int arch_validate_hwbkpt_settings ( struct perf_event bp)

Definition at line 593 of file hw_breakpoint.c.

int hw_breakpoint_exceptions_notify ( struct notifier_block unused,
unsigned long  val,
void data 
)

Definition at line 1062 of file hw_breakpoint.c.

void hw_breakpoint_pmu_read ( struct perf_event bp)

Definition at line 1055 of file hw_breakpoint.c.

int hw_breakpoint_slots ( int  type)

Definition at line 273 of file hw_breakpoint.c.