Architectural Support: x86_64 (#37)
[lunaix-os.git] / lunaix-os / arch / x86 / includes / sys / interrupt32.S.inc
1
2 #define regsize 4
3
4 /* stack layout: saved interrupt context */
5     .struct 0
6 idepth:
7     .struct idepth + regsize
8 ieax:
9     .struct ieax + regsize
10 iebx:
11     .struct iebx + regsize
12 iecx:
13     .struct iecx + regsize
14 iedx:
15     .struct iedx + regsize
16 iedi:
17     .struct iedi + regsize
18 iebp:
19     .struct iebp + regsize
20 iesi:
21     .struct iesi + regsize
22 ids:
23     .struct ids + regsize
24 ies:
25     .struct ies + regsize
26 ifs:
27     .struct ifs + regsize
28 igs:
29     .struct igs + regsize
30 iexecp:
31 iesp:
32     .struct iesp + regsize
33 isave_parent:
34     .struct isave_parent + regsize
35 ivec:
36     .struct ivec + regsize
37 iecode:
38     .struct iecode + regsize
39 ieip:
40     .struct ieip + regsize
41 ics:
42     .struct ics + regsize
43 ieflags:
44     .struct ieflags + regsize
45 iuesp:
46     .struct iuesp + regsize
47 iuss:
48
49
50 /* stack layout: execution (flow-control) state context */
51     .struct 0
52 exsave_prev:
53     .struct exsave_prev + regsize
54 exvec:
55     .struct exvec + regsize
56 execode:
57     .struct execode + regsize
58 exeip:
59     .struct exeip + regsize
60 excs:
61     .struct excs + regsize
62 exeflags:
63     .struct exeflags + regsize
64 exuesp:
65     .struct exuesp + regsize
66 exuss:
67
68 /* struct layout: critical section of struct proc_info */
69     .struct 0
70 thread_hstate:
71     .struct thread_hstate + regsize
72 thread_ustack_top:
73
74 /* struct layout: proc_sig */
75     .struct 0
76 psig_signum:
77     .struct psig_signum + regsize
78 psig_sigact:
79     .struct psig_sigact + regsize
80 psig_sighand:
81     .struct psig_sighand + regsize
82 psig_saved_hstate: