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

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [asm-x86_64/] [user32.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef USER32_H
2
#define USER32_H 1
3
 
4
/* IA32 compatible user structures for ptrace. These should be used for 32bit coredumps too. */
5
 
6
struct user_i387_ia32_struct {
7
        u32     cwd;
8
        u32     swd;
9
        u32     twd;
10
        u32     fip;
11
        u32     fcs;
12
        u32     foo;
13
        u32     fos;
14
        u32     st_space[20];   /* 8*10 bytes for each FP-reg = 80 bytes */
15
};
16
 
17
/* FSAVE frame with extensions */
18
struct user32_fxsr_struct {
19
        unsigned short  cwd;
20
        unsigned short  swd;
21
        unsigned short  twd;    /* not compatible to 64bit twd */
22
        unsigned short  fop;
23
        int     fip;
24
        int     fcs;
25
        int     foo;
26
        int     fos;
27
        int     mxcsr;
28
        int     reserved;
29
        int     st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
30
        int     xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
31
        int     padding[56];
32
};
33
 
34
struct user_regs_struct32 {
35
        __u32 ebx, ecx, edx, esi, edi, ebp, eax;
36
        unsigned short ds, __ds, es, __es;
37
        unsigned short fs, __fs, gs, __gs;
38
        __u32 orig_eax, eip;
39
        unsigned short cs, __cs;
40
        __u32 eflags, esp;
41
        unsigned short ss, __ss;
42
};
43
 
44
struct user32 {
45
  struct user_regs_struct32 regs;               /* Where the registers are actually stored */
46
  int u_fpvalid;                /* True if math co-processor being used. */
47
                                /* for this mess. Not yet used. */
48
  struct user_i387_ia32_struct i387;    /* Math Co-processor registers. */
49
/* The rest of this junk is to help gdb figure out what goes where */
50
  __u32 u_tsize;        /* Text segment size (pages). */
51
  __u32 u_dsize;        /* Data segment size (pages). */
52
  __u32 u_ssize;        /* Stack segment size (pages). */
53
  __u32 start_code;     /* Starting virtual address of text. */
54
  __u32 start_stack;    /* Starting virtual address of stack area.
55
                                   This is actually the bottom of the stack,
56
                                   the top of the stack is always found in the
57
                                   esp register.  */
58
  __u32 signal;                 /* Signal that caused the core dump. */
59
  int reserved;                 /* No __u32er used */
60
  __u32 u_ar0;  /* Used by gdb to help find the values for */
61
                                /* the registers. */
62
  __u32 u_fpstate;      /* Math Co-processor pointer. */
63
  __u32 magic;          /* To uniquely identify a core file */
64
  char u_comm[32];              /* User command that was responsible */
65
  int u_debugreg[8];
66
};
67
 
68
 
69
#endif

powered by: WebSVN 2.1.0

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