Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
gdb-stub.c File Reference
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/console.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/nmi.h>
#include <asm/asm-offsets.h>
#include <asm/pgtable.h>
#include <asm/gdb-stub.h>

Go to the source code of this file.

Data Structures

struct  __debug_amr
 
struct  __debug_mmu
 
struct  gdbstub_bkpt
 
struct  brr_to_sig_map
 

Macros

#define LEDS(x)   do { /* *(u32*)0xe1200004 = ~(x); mb(); */ } while(0)
 
#define BUFMAX   2048
 
#define BREAK_INSN   0x801000c0 /* use "break" as bkpt */
 
#define __get_ibar(X)   ({ unsigned long x; asm volatile("movsg ibar"#X",%0" : "=r"(x)); x; })
 
#define __get_dbar(X)   ({ unsigned long x; asm volatile("movsg dbar"#X",%0" : "=r"(x)); x; })
 
#define __get_dbmr0(X)   ({ unsigned long x; asm volatile("movsg dbmr"#X"0,%0" : "=r"(x)); x; })
 
#define __get_dbmr1(X)   ({ unsigned long x; asm volatile("movsg dbmr"#X"1,%0" : "=r"(x)); x; })
 

Functions

void debug_to_serial (const char *p, int n)
 
void gdbstub_console_write (struct console *co, const char *p, unsigned n)
 
struct __debug_amr __attribute__ ((aligned(8)))
 Packet vector entry.
 
volatile u8 gdbstub_rx_buffer[PAGE_SIZE__attribute__ ((aligned(PAGE_SIZE)))
 
volatile u32 __attribute__ ((section(".bss")))
 
void gdbstub_printk (const char *fmt,...)
 
int gdbstub_clear_breakpoint (unsigned long type, unsigned long addr, unsigned long len)
 
void gdbstub_get_mmu_state (void)
 
void gdbstub (int sigval)
 
void __init gdbstub_init (void)
 
void gdbstub_exit (int status)
 

Variables

volatile uint32_t __break_error_detect [3]
 
unsigned long L
 
unsigned long P
 
struct __debug_mmu __attribute__
 
volatile u32 gdbstub_rx_inp = 0
 
volatile u32 gdbstub_rx_outp = 0
 
volatile u8 gdbstub_rx_overflow = 0
 
u8 gdbstub_rx_unget = 0
 

Macro Definition Documentation

#define __get_dbar (   X)    ({ unsigned long x; asm volatile("movsg dbar"#X",%0" : "=r"(x)); x; })
#define __get_dbmr0 (   X)    ({ unsigned long x; asm volatile("movsg dbmr"#X"0,%0" : "=r"(x)); x; })
#define __get_dbmr1 (   X)    ({ unsigned long x; asm volatile("movsg dbmr"#X"1,%0" : "=r"(x)); x; })
#define __get_ibar (   X)    ({ unsigned long x; asm volatile("movsg ibar"#X",%0" : "=r"(x)); x; })
#define BREAK_INSN   0x801000c0 /* use "break" as bkpt */

Definition at line 168 of file gdb-stub.c.

#define BUFMAX   2048

Definition at line 166 of file gdb-stub.c.

#define LEDS (   x)    do { /* *(u32*)0xe1200004 = ~(x); mb(); */ } while(0)

Definition at line 131 of file gdb-stub.c.

Function Documentation

Packet vector entry.

This data structure is used with netio_send_packet_vector() to send multiple packets with one NetIO call. The structure should be initialized by calling netio_pkt_vector_set(), rather than by setting the fields directly.

This structure is guaranteed to be a power of two in size, no bigger than one L2 cache line, and to be aligned modulo its size.

Reserved for use by the user application. When initialized with the netio_set_pkt_vector_entry() function, this field is guaranteed to be visible to readers only after all other fields are already visible. This way it can be used as a valid flag or generation counter.

Low 8 bits of the packet address to send. The high bits are acquired from the 'handle' field.

Number of bytes to transmit.

The raw handle from a netio_pkt_t. If this is NETIO_PKT_HANDLE_NONE, this vector entry will be skipped and no packet will be transmitted.

Definition at line 9 of file extable.c.

volatile u32 __attribute__ ( (section(".bss"))  )

Definition at line 179 of file gdb-stub.c.

void debug_to_serial ( const char p,
int  n 
)

Definition at line 155 of file debug-stub.c.

void gdbstub ( int  sigval)

Definition at line 1393 of file gdb-stub.c.

int gdbstub_clear_breakpoint ( unsigned long  type,
unsigned long  addr,
unsigned long  len 
)

Definition at line 1008 of file gdb-stub.c.

void gdbstub_console_write ( struct console co,
const char p,
unsigned  n 
)
void gdbstub_exit ( int  status)

Definition at line 2093 of file gdb-stub.c.

void gdbstub_get_mmu_state ( void  )

Definition at line 1232 of file gdb-stub.c.

void __init gdbstub_init ( void  )

Definition at line 2027 of file gdb-stub.c.

void gdbstub_printk ( const char fmt,
  ... 
)

Definition at line 233 of file gdb-stub.c.

Variable Documentation

volatile uint32_t __break_error_detect[3]
volatile u32 gdbstub_rx_inp = 0

Definition at line 173 of file gdb-stub.c.

volatile u32 gdbstub_rx_outp = 0

Definition at line 174 of file gdb-stub.c.

volatile u8 gdbstub_rx_overflow = 0

Definition at line 175 of file gdb-stub.c.

u8 gdbstub_rx_unget = 0

Definition at line 176 of file gdb-stub.c.

unsigned long L

Definition at line 143 of file gdb-stub.c.

unsigned long P

Definition at line 143 of file gdb-stub.c.