Subversion Repositories Kolibri OS

Rev

Rev 1626 | Rev 1664 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1626 Rev 1641
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 1626 $
8
$Revision: 1641 $
9
 
9
 
10
; Old style system call converter
10
; Old style system call converter
11
align 16
11
align 16
Line 21... Line 21...
21
        call    dword [servetable+edi*4]
21
	call	dword [servetable+edi*4]
22
        ret
22
	ret
Line 23... Line 23...
23
 
23
 
24
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
24
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25
;;                                                            ;;
-
 
26
;;                     SYSENTER ENTRY                         ;;
-
 
27
;;                                  (not used on AMD systems) ;;
-
 
28
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
29
 
-
 
30
;align 32
-
 
31
;sysenter_entry:
-
 
32
;        ; Íàñòðàèâàåì ñòåê
-
 
33
;        mov     esp, [ss:tss._esp0]
-
 
34
;        sti
-
 
35
;        push    ebp                     ; save app esp + 4
-
 
36
;        mov     ebp, [ebp]              ; ebp - original ebp
-
 
37
;        ;------------------
-
 
38
;        pushad
-
 
39
;        cld
-
 
40
;
-
 
41
;        movzx   eax, al
-
 
42
;        call    dword [servetable2 + eax * 4]
-
 
43
 
-
 
44
;       popad
-
 
45
;       ;------------------
-
 
46
;       xchg    ecx, [ss:esp]           ; â âåðøèí ñòåêà - app ecx, ecx - app esp + 4
-
 
47
;        sub     ecx, 4
-
 
48
;        xchg    edx, [ecx]              ; edx - return point, & save original edx
-
 
49
;        push    edx
-
 
50
;        mov     edx, [ss:esp + 4]
-
 
51
;        mov     [ecx + 4], edx          ; save original ecx
-
 
52
;        pop     edx
-
 
53
;        sysexit
-
 
54
 
-
 
55
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
56
;;                                                            ;;
25
;;                                                            ;;
57
;;                   SYSTEM CALL ENTRY                        ;;
26
;;                   SYSTEM CALL ENTRY                        ;;
58
;;                                                            ;;
27
;;                                                            ;;
Line 59... Line 28...
59
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
28
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 67... Line 36...
67
        popad
36
	popad
68
        iretd
37
	iretd
Line 69... Line 38...
69
 
38
 
70
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
39
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
71
;;                                                            ;;
40
;;                                                            ;;
72
;;                     SYSCALL ENTRY                          ;;
41
;;               SYSCALL ENTRY   --    NEW  !!!               ;;
73
;;                                                            ;;
42
;;                                                            ;;
-
 
43
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
74
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44
 
75
align 32
45
align 32
76
syscall_entry:
46
syscall_entry:
77
;       push    ecx
47
;        sti
78
	  sti
48
	push ecx
79
        and   eax, 3
49
	and   eax, 3
80
        call    dword [servetable3 + eax * 4]
-
 
81
 
50
	call	dword [servetable3 + eax * 4]
82
 ;      pop     ecx
51
	pop	ecx
Line 83... Line 52...
83
        sysret
52
	sysret
84
 
53
 
85
iglobal
54
iglobal
86
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
55
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 87... Line 56...
87
  ;; SYSTEM FUNCTIONS TABLE ;;
56
  ;; SYSTEM FUNCTIONS TABLE ;;
88
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
57
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
89
 
-
 
90
  align 4
58
 
91
  servetable:
59
  align 4
92
 
60
  servetable:
93
      dd socket                  ; 53-Socket interface
61
      dd socket 		 ; 53-Socket interface
94
      dd 0
62
      dd 0
Line 185... Line 153...
185
      dd sys_end                 ; -1-end application
153
      dd sys_end		 ; -1-end application
Line 186... Line 154...
186
 
154
 
187
align 4
155
align 4
Line 188... Line 156...
188
servetable3:
156
servetable3:
189
	
157
 
190
	dd 	FFT4	; 0
158
	dd	FHT_4	 ; 0
191
	dd 	FFT4	; 1
159
	dd	FHT_4	 ; 1
Line 192... Line 160...
192
	dd 	paleholder	; 2
160
	dd	paleholder	; 2