Rev 375 | Rev 412 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 375 | Rev 380 | ||
---|---|---|---|
Line 52... | Line 52... | ||
52 | ; Íàñòðàèâàåì ñòåê |
52 | ; Íàñòðàèâàåì ñòåê |
53 | cli |
53 | cli |
54 | push eax |
54 | push eax |
55 | mov eax, [ss:CURRENT_TASK] |
55 | mov eax, [ss:CURRENT_TASK] |
56 | shl eax, 8 |
56 | shl eax, 8 |
57 | mov eax, [ss:PROC_BASE + eax + APPDATA.pl0_stack] |
57 | mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
58 | lea esp, [ss:eax + RING0_STACK_SIZE] ; configure ESP |
58 | lea esp, [ss:eax + RING0_STACK_SIZE] ; configure ESP |
59 | mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
59 | mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
60 | sti |
60 | sti |
61 | ;------------------ |
61 | ;------------------ |
62 | push ds es |
62 | push ds es |
Line 97... | Line 97... | ||
97 | xchg ecx, [esp] |
97 | xchg ecx, [esp] |
98 | mov [SYSENTER_VAR + 4], esp |
98 | mov [SYSENTER_VAR + 4], esp |
99 | mov [ss:sysenter_stack - 4], eax |
99 | mov [ss:sysenter_stack - 4], eax |
100 | mov eax, [ss:CURRENT_TASK] |
100 | mov eax, [ss:CURRENT_TASK] |
101 | shl eax, 8 |
101 | shl eax, 8 |
102 | mov eax, [ss:PROC_BASE + eax + APPDATA.pl0_stack] |
102 | mov eax, [ss:SLOT_BASE + eax + APPDATA.pl0_stack] |
103 | lea esp, [ss:eax + RING0_STACK_SIZE] ; configure ESP |
103 | lea esp, [ss:eax + RING0_STACK_SIZE] ; configure ESP |
104 | mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
104 | mov eax, [ss:sysenter_stack - 4] ; eax - original eax, from app |
105 | sti |
105 | sti |
106 | ;------------------ |
106 | ;------------------ |
107 | push ds es |
107 | push ds es |