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 |