Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
unwind.h File Reference

Go to the source code of this file.

Data Structures

struct  unw_stack
 
struct  unw_frame_info
 
struct  unw_frame_info::unw_ireg
 
struct  unw_frame_info::unw_ireg::unw_ireg_nat
 
struct  unw_table_entry
 

Macros

#define UNW_FLAG_INTERRUPT_FRAME   (1UL << 0)
 
#define unw_is_intr_frame(info)   (((info)->flags & UNW_FLAG_INTERRUPT_FRAME) != 0)
 
#define unw_get_gr(i, n, v, nat)   unw_access_gr(i,n,v,nat,0)
 
#define unw_get_br(i, n, v)   unw_access_br(i,n,v,0)
 
#define unw_get_fr(i, n, v)   unw_access_fr(i,n,v,0)
 
#define unw_get_ar(i, n, v)   unw_access_ar(i,n,v,0)
 
#define unw_get_pr(i, v)   unw_access_pr(i,v,0)
 

Enumerations

enum  unw_application_register {
  UNW_AR_BSP, UNW_AR_BSPSTORE, UNW_AR_PFS, UNW_AR_RNAT,
  UNW_AR_UNAT, UNW_AR_LC, UNW_AR_EC, UNW_AR_FPSR,
  UNW_AR_RSC, UNW_AR_CCV, UNW_AR_CSD, UNW_AR_SSD
}
 

Functions

void unw_init (void)
 
voidunw_add_unwind_table (const char *name, unsigned long segment_base, unsigned long gp, const void *table_start, const void *table_end)
 
void unw_remove_unwind_table (void *handle)
 
void unw_init_from_blocked_task (struct unw_frame_info *info, struct task_struct *t)
 
void unw_init_frame_info (struct unw_frame_info *info, struct task_struct *t, struct switch_stack *sw)
 
void unw_init_running (void(*callback)(struct unw_frame_info *info, void *arg), void *arg)
 
int unw_unwind (struct unw_frame_info *info)
 
int unw_unwind_to_user (struct unw_frame_info *info)
 
int unw_access_gr (struct unw_frame_info *, int, unsigned long *, char *, int)
 
int unw_access_br (struct unw_frame_info *, int, unsigned long *, int)
 
int unw_access_fr (struct unw_frame_info *, int, struct ia64_fpreg *, int)
 
int unw_access_ar (struct unw_frame_info *, int, unsigned long *, int)
 
int unw_access_pr (struct unw_frame_info *, unsigned long *, int)
 

Macro Definition Documentation

#define UNW_FLAG_INTERRUPT_FRAME   (1UL << 0)

Definition at line 44 of file unwind.h.

#define unw_get_ar (   i,
  n,
  v 
)    unw_access_ar(i,n,v,0)

Definition at line 230 of file unwind.h.

#define unw_get_br (   i,
  n,
  v 
)    unw_access_br(i,n,v,0)

Definition at line 228 of file unwind.h.

#define unw_get_fr (   i,
  n,
  v 
)    unw_access_fr(i,n,v,0)

Definition at line 229 of file unwind.h.

#define unw_get_gr (   i,
  n,
  v,
  nat 
)    unw_access_gr(i,n,v,nat,0)

Definition at line 227 of file unwind.h.

#define unw_get_pr (   i,
  v 
)    unw_access_pr(i,v,0)

Definition at line 231 of file unwind.h.

#define unw_is_intr_frame (   info)    (((info)->flags & UNW_FLAG_INTERRUPT_FRAME) != 0)

Definition at line 138 of file unwind.h.

Enumeration Type Documentation

Enumerator:
UNW_AR_BSP 
UNW_AR_BSPSTORE 
UNW_AR_PFS 
UNW_AR_RNAT 
UNW_AR_UNAT 
UNW_AR_LC 
UNW_AR_EC 
UNW_AR_FPSR 
UNW_AR_RSC 
UNW_AR_CCV 
UNW_AR_CSD 
UNW_AR_SSD 

Definition at line 19 of file unwind.h.

Function Documentation

int unw_access_ar ( struct unw_frame_info ,
int  ,
unsigned long ,
int   
)

Definition at line 494 of file unwind.c.

int unw_access_br ( struct unw_frame_info ,
int  ,
unsigned long ,
int   
)

Definition at line 409 of file unwind.c.

int unw_access_fr ( struct unw_frame_info ,
int  ,
struct ia64_fpreg ,
int   
)

Definition at line 445 of file unwind.c.

int unw_access_gr ( struct unw_frame_info ,
int  ,
unsigned long ,
char ,
int   
)

Definition at line 283 of file unwind.c.

int unw_access_pr ( struct unw_frame_info ,
unsigned long ,
int   
)

Definition at line 591 of file unwind.c.

void* unw_add_unwind_table ( const char name,
unsigned long  segment_base,
unsigned long  gp,
const void table_start,
const void table_end 
)

Definition at line 2096 of file unwind.c.

void unw_init ( void  )

Definition at line 2243 of file unwind.c.

void unw_init_frame_info ( struct unw_frame_info info,
struct task_struct t,
struct switch_stack sw 
)

Definition at line 2051 of file unwind.c.

void unw_init_from_blocked_task ( struct unw_frame_info info,
struct task_struct t 
)

Definition at line 2071 of file unwind.c.

void unw_init_running ( void(*)(struct unw_frame_info *info, void *arg callback,
void arg 
)
void unw_remove_unwind_table ( void handle)

Definition at line 2127 of file unwind.c.

int unw_unwind ( struct unw_frame_info info)

Definition at line 1882 of file unwind.c.

int unw_unwind_to_user ( struct unw_frame_info info)

Definition at line 1969 of file unwind.c.