refactor: striped more arch-related code from the kernel code base
[lunaix-os.git] / lunaix-os / arch / i386 / includes / sys / interrupt.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_prev:
34     .struct isave_prev + 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 proc_pid:
71     .struct proc_pid + regsize
72 proc_parent:
73     .struct proc_parent + regsize
74 proc_intr_ctx:
75     .struct proc_intr_ctx + regsize
76 proc_ustack_top:
77     .struct proc_ustack_top + regsize
78 proc_page_table:
79     .struct proc_page_table + regsize
80 proc_fxstate:
81
82 /* struct layout: proc_sig */
83     .struct 0
84 psig_signum:
85     .struct psig_signum + regsize
86 psig_sigact:
87     .struct psig_sigact + regsize
88 psig_sighand:
89     .struct psig_sighand + regsize
90 psig_saved_ictx: