Rev 420 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 420 | Rev 427 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | ; shl eax, 8 |
53 | ; shl eax, 8 |
54 | ; mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
54 | ; mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
55 | ; lea esp, [eax + RING0_STACK_SIZE] ; configure ESP |
55 | ; lea esp, [eax + RING0_STACK_SIZE] ; configure ESP |
56 | ; mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
56 | ; mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
Line 57... | Line 57... | ||
57 | 57 | ||
58 | mov esp, [CURRENT_TASK] |
- | |
59 | shl esp, 8 |
58 | mov esp, [current_slot] |
60 | mov esp, [SLOT_BASE + esp + APPDATA.pl0_stack] |
59 | mov esp, [esp + APPDATA.pl0_stack] |
61 | add esp, RING0_STACK_SIZE ; configure ESP |
60 | add esp, RING0_STACK_SIZE ; configure ESP |
62 | sti |
61 | sti |
63 | ;------------------ |
62 | ;------------------ |
64 | pushad |
63 | pushad |
Line 102... | Line 101... | ||
102 | ; shl eax, 8 |
101 | ; shl eax, 8 |
103 | ; mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
102 | ; mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
104 | ; lea esp, [eax + RING0_STACK_SIZE] ; configure ESP |
103 | ; lea esp, [eax + RING0_STACK_SIZE] ; configure ESP |
105 | ; mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
104 | ; mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
Line 106... | Line 105... | ||
106 | 105 | ||
107 | mov esp, [CURRENT_TASK] |
- | |
108 | shl esp, 8 |
106 | mov esp, [current_slot] |
109 | mov esp, [SLOT_BASE + esp + APPDATA.pl0_stack] |
107 | mov esp, [esp + APPDATA.pl0_stack] |
Line 110... | Line 108... | ||
110 | add esp, RING0_STACK_SIZE ; configure ESP |
108 | add esp, RING0_STACK_SIZE ; configure ESP |
111 | 109 | ||
112 | sti |
- | |
113 | ;------------------ |
110 | sti |
114 | ; push ds es |
111 | ;------------------ |
Line 115... | Line 112... | ||
115 | pushad |
112 | pushad |
116 | cld |
113 | cld |
Line 130... | Line 127... | ||
130 | and edi, 0xff |
127 | and edi, 0xff |
131 | call dword [servetable + edi * 4] |
128 | call dword [servetable + edi * 4] |
132 | pop eax |
129 | pop eax |
Line 133... | Line 130... | ||
133 | 130 | ||
134 | popad |
- | |
135 | ; pop es ds |
131 | popad |
Line 136... | Line 132... | ||
136 | ;------------------ |
132 | ;------------------ |
137 | 133 | ||
138 | cli |
134 | cli |