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

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [conts/] [posix/] [libposix/] [include/] [posix/] [bits/] [armsigctx.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
/* Definition of `struct sigcontext' for Linux/ARM
2
   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
3
   This file is part of the GNU C Library.
4
 
5
   The GNU C Library is free software; you can redistribute it and/or
6
   modify it under the terms of the GNU Lesser General Public
7
   License as published by the Free Software Foundation; either
8
   version 2.1 of the License, or (at your option) any later version.
9
 
10
   The GNU C Library is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
   Lesser General Public License for more details.
14
 
15
   You should have received a copy of the GNU Lesser General Public
16
   License along with the GNU C Library; if not, write to the Free
17
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18
   02111-1307 USA.  */
19
 
20
/* The format of struct sigcontext changed between 2.0 and 2.1 kernels.
21
   Fortunately 2.0 puts a magic number in the first word and this is not
22
   a legal value for `trap_no', so we can tell them apart.  */
23
 
24
/* Early 2.2 and 2.3 kernels do not have the `fault_address' member in
25
   the sigcontext structure.  Unfortunately there is no reliable way
26
   to test for its presence and this word will contain garbage for too-old
27
   kernels.  Versions 2.2.14 and 2.3.35 (plus later versions) are known to
28
   include this element.  */
29
 
30
#ifndef __ARMSIGCTX_H
31
#define __ARMSIGCTX_H   1
32
 
33
#include <asm/ptrace.h>
34
 
35
union k_sigcontext
36
  {
37
    struct
38
      {
39
        unsigned long int trap_no;
40
        unsigned long int error_code;
41
        unsigned long int oldmask;
42
        unsigned long int arm_r0;
43
        unsigned long int arm_r1;
44
        unsigned long int arm_r2;
45
        unsigned long int arm_r3;
46
        unsigned long int arm_r4;
47
        unsigned long int arm_r5;
48
        unsigned long int arm_r6;
49
        unsigned long int arm_r7;
50
        unsigned long int arm_r8;
51
        unsigned long int arm_r9;
52
        unsigned long int arm_r10;
53
        unsigned long int arm_fp;
54
        unsigned long int arm_ip;
55
        unsigned long int arm_sp;
56
        unsigned long int arm_lr;
57
        unsigned long int arm_pc;
58
        unsigned long int arm_cpsr;
59
        unsigned long fault_address;
60
      } v21;
61
    struct
62
      {
63
        unsigned long int magic;
64
        struct pt_regs reg;
65
        unsigned long int trap_no;
66
        unsigned long int error_code;
67
        unsigned long int oldmask;
68
      } v20;
69
};
70
 
71
#define SIGCONTEXT_2_0_MAGIC    0x4B534154
72
 
73
#endif  /* bits/armsigctx.h */

powered by: WebSVN 2.1.0

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