Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs
abi.h File Reference
#include <arch/chip.h>

Go to the source code of this file.

Macros

#define __ARCH_ABI_H__
 
#define __INT_REG_BITS   CHIP_WORD_SIZE()
 
#define __INT_REG_FMT   "l"
 
#define INT_REG_FMT   __INT_REG_FMT
 
#define INT_REG_BITS   __INT_REG_BITS
 
#define TREG_FP   52
 
#define TREG_TP   53
 
#define TREG_SP   54
 
#define TREG_LR   55
 
#define TREG_LAST_GPR   55
 
#define TREG_SN   56
 
#define TREG_IDN0   57
 
#define TREG_IDN1   58
 
#define TREG_UDN0   59
 
#define TREG_UDN1   60
 
#define TREG_UDN2   61
 
#define TREG_UDN3   62
 
#define TREG_ZERO   63
 
#define TREG_SYSCALL_NR   10
 
#define TREG_SYSCALL_NR_NAME   r10
 
#define C_ABI_SAVE_AREA_SIZE   (2 * (INT_REG_BITS / 8))
 
#define INFO_OP_CANNOT_BACKTRACE   2
 

Typedefs

typedef unsigned long __uint_reg_t
 
typedef long __int_reg_t
 
typedef __uint_reg_t uint_reg_t
 
typedef __int_reg_t int_reg_t
 

Detailed Description

ABI-related register definitions.

Definition in file abi.h.

Macro Definition Documentation

#define __ARCH_ABI_H__

Definition at line 24 of file abi.h.

#define __INT_REG_BITS   CHIP_WORD_SIZE()

Number of bits in a register.

Definition at line 38 of file abi.h.

#define __INT_REG_FMT   "l"

String prefix to use for printf().

Definition at line 67 of file abi.h.

#define C_ABI_SAVE_AREA_SIZE   (2 * (INT_REG_BITS / 8))

The ABI requires callers to allocate a caller state save area of this many bytes at the bottom of each stack frame.

Definition at line 127 of file abi.h.

#define INFO_OP_CANNOT_BACKTRACE   2

The operand to an 'info' opcode directing the backtracer to not try to find the calling frame.

Definition at line 133 of file abi.h.

#define INT_REG_BITS   __INT_REG_BITS

Number of bits in a register.

Definition at line 88 of file abi.h.

#define INT_REG_FMT   __INT_REG_FMT

String prefix to use for printf().

Definition at line 85 of file abi.h.

#define TREG_FP   52

Frame pointer.

Definition at line 93 of file abi.h.

#define TREG_IDN0   57

IDN demux 0 access.

Definition at line 104 of file abi.h.

#define TREG_IDN1   58

IDN demux 1 access.

Definition at line 105 of file abi.h.

#define TREG_LAST_GPR   55

Index of last normal general-purpose register.

Definition at line 99 of file abi.h.

#define TREG_LR   55

Link to calling function PC.

Definition at line 96 of file abi.h.

#define TREG_SN   56

Static network access.

Definition at line 103 of file abi.h.

#define TREG_SP   54

Stack pointer.

Definition at line 95 of file abi.h.

#define TREG_SYSCALL_NR   10

By convention, this register is used to hold the syscall number.

Definition at line 117 of file abi.h.

#define TREG_SYSCALL_NR_NAME   r10

Name of register that holds the syscall number, for use in assembly.

Definition at line 120 of file abi.h.

#define TREG_TP   53

Thread pointer.

Definition at line 94 of file abi.h.

#define TREG_UDN0   59

UDN demux 0 access.

Definition at line 106 of file abi.h.

#define TREG_UDN1   60

UDN demux 1 access.

Definition at line 107 of file abi.h.

#define TREG_UDN2   61

UDN demux 2 access.

Definition at line 108 of file abi.h.

#define TREG_UDN3   62

UDN demux 3 access.

Definition at line 109 of file abi.h.

#define TREG_ZERO   63

"Zero" register; always reads as "0".

Definition at line 113 of file abi.h.

Typedef Documentation

typedef long __int_reg_t

Signed type that can hold a register.

Definition at line 63 of file abi.h.

typedef unsigned long __uint_reg_t

Unsigned type that can hold a register.

Definition at line 60 of file abi.h.

Signed type that can hold a register.

Definition at line 81 of file abi.h.

Unsigned type that can hold a register.

Definition at line 78 of file abi.h.