Subversion Repositories Kolibri OS

Rev

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