23,37 → 23,6 |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; SYSENTER ENTRY ;; |
;; (not used on AMD systems) ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
;align 32 |
;sysenter_entry: |
; ; Íàñòðàèâàåì ñòåê |
; mov esp, [ss:tss._esp0] |
; sti |
; push ebp ; save app esp + 4 |
; mov ebp, [ebp] ; ebp - original ebp |
; ;------------------ |
; pushad |
; cld |
; |
; movzx eax, al |
; call dword [servetable2 + eax * 4] |
|
; popad |
; ;------------------ |
; xchg ecx, [ss:esp] ; â âåðøèí ñòåêà - app ecx, ecx - app esp + 4 |
; sub ecx, 4 |
; xchg edx, [ecx] ; edx - return point, & save original edx |
; push edx |
; mov edx, [ss:esp + 4] |
; mov [ecx + 4], edx ; save original ecx |
; pop edx |
; sysexit |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; SYSTEM CALL ENTRY ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
69,17 → 38,17 |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; SYSCALL ENTRY ;; |
;; SYSCALL ENTRY -- NEW !!! ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
align 32 |
syscall_entry: |
; push ecx |
sti |
; sti |
push ecx |
and eax, 3 |
call dword [servetable3 + eax * 4] |
|
; pop ecx |
pop ecx |
sysret |
|
iglobal |
89,7 → 58,6 |
|
align 4 |
servetable: |
|
dd socket ; 53-Socket interface |
dd 0 |
dd 0 |
187,8 → 155,8 |
align 4 |
servetable3: |
|
dd FFT4 ; 0 |
dd FFT4 ; 1 |
dd FHT_4 ; 0 |
dd FHT_4 ; 1 |
dd paleholder ; 2 |
dd sys_end ; last |
|