OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [asm-armnommu/] [proc-trio/] [ptrace.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
/*
2
 * linux/include/asm-arm/proc-armv/ptrace.h
3
 *
4
 * Copyright (C) 1996 Russell King
5
 */
6
 
7
#ifndef __ASM_PROC_PTRACE_H
8
#define __ASM_PROC_PTRACE_H
9
 
10
/* this struct defines the way the registers are stored on the
11
   stack during a system call. */
12
 
13
struct pt_regs {
14
        long uregs[18];
15
};
16
 
17
#define ARM_cpsr        uregs[16]
18
#define ARM_pc          uregs[15]
19
#define ARM_lr          uregs[14]
20
#define ARM_sp          uregs[13]
21
#define ARM_ip          uregs[12]
22
#define ARM_fp          uregs[11]
23
#define ARM_r10         uregs[10]
24
#define ARM_r9          uregs[9]
25
#define ARM_r8          uregs[8]
26
#define ARM_r7          uregs[7]
27
#define ARM_r6          uregs[6]
28
#define ARM_r5          uregs[5]
29
#define ARM_r4          uregs[4]
30
#define ARM_r3          uregs[3]
31
#define ARM_r2          uregs[2]
32
#define ARM_r1          uregs[1]
33
#define ARM_r0          uregs[0]
34
#define ARM_ORIG_r0     uregs[17] /* -1 */
35
 
36
#define USR26_MODE      0x00
37
#define FIQ26_MODE      0x01
38
#define IRQ26_MODE      0x02
39
#define SVC26_MODE      0x03
40
#define USR_MODE        0x10
41
#define FIQ_MODE        0x11
42
#define IRQ_MODE        0x12
43
#define SVC_MODE        0x13
44
#define ABT_MODE        0x17
45
#define UND_MODE        0x1b
46
#define SYSTEM_MODE     0x1f
47
#define MODE_MASK       0x1f
48
#define F_BIT           0x40
49
#define I_BIT           0x80
50
#define CC_V_BIT        (1 << 28)
51
#define CC_C_BIT        (1 << 29)
52
#define CC_Z_BIT        (1 << 30)
53
#define CC_N_BIT        (1 << 31)
54
 
55
#define user_mode(regs) \
56
        ((((regs)->ARM_cpsr & MODE_MASK) == USR_MODE) || \
57
         (((regs)->ARM_cpsr & MODE_MASK) == USR26_MODE))
58
 
59
#define processor_mode(regs) \
60
        ((regs)->ARM_cpsr & MODE_MASK)
61
 
62
#define interrupts_enabled(regs) \
63
        (!((regs)->ARM_cpsr & I_BIT))
64
 
65
#define fast_interrupts_enabled(regs) \
66
        (!((regs)->ARM_cpsr & F_BIT))
67
 
68
#define condition_codes(regs) \
69
        ((regs)->ARM_cpsr & (CC_V_BIT|CC_C_BIT|CC_Z_BIT|CC_N_BIT))
70
 
71
#define instruction_pointer(regs)       ((regs)->ARM_pc)
72
#define pc_pointer(v)                   (v)
73
 
74
#define valid_user_regs(regs) \
75
        (user_mode(regs) && ((regs)->ARM_sp & 3) == 0)
76
 
77
#endif
78
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.