Rev 888 | Rev 890 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 888 | Rev 889 | ||
---|---|---|---|
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: 888 $ |
8 | $Revision: 889 $ |
9 | 9 | ||
10 | 10 | ||
Line 241... | Line 241... | ||
241 | shr esi, 12 |
241 | shr esi, 12 |
242 | @@: |
242 | @@: |
243 | mov ecx, [app_page_tabs+edi*4] |
243 | mov ecx, [app_page_tabs+edi*4] |
244 | test ecx, 1 |
244 | test ecx, 1 |
245 | jz .next |
245 | jz .next |
- | 246 | ||
246 | mov dword [app_page_tabs+edi*4], 2 |
247 | mov dword [app_page_tabs+edi*4], 2 |
247 | mov ebx, edi |
248 | mov ebx, edi |
248 | shl ebx, 12 |
249 | shl ebx, 12 |
249 | invlpg [ebx] |
250 | invlpg [ebx] |
250 | call @core_free@4 |
251 | call @core_free@4 |
Line 984... | Line 985... | ||
984 | cmp eax, 21 ;for test purposes only |
985 | cmp eax, 21 ;for test purposes only |
985 | ja @f ;will be removed soon |
986 | ja @f ;will be removed soon |
986 | cmp ebx, OS_BASE |
987 | cmp ebx, OS_BASE |
987 | jae .fail |
988 | jae .fail |
Line 988... | Line -... | ||
988 | - | ||
989 | stdcall load_PE, ebx |
- | |
990 | - | ||
991 | test eax, eax |
- | |
992 | jz @F |
- | |
993 | 989 | ||
994 | mov esi, eax |
990 | mov ecx, ebx |
995 | stdcall eax, DRV_ENTRY |
- | |
996 | - | ||
997 | test eax, eax |
- | |
998 | jz @F |
- | |
999 | - | ||
1000 | mov [eax+SRV.entry], esi |
- | |
1001 | - | ||
1002 | @@: |
991 | call @load_pe_driver@4 |
1003 | mov [esp+36], eax |
992 | mov [esp+36], eax |
Line 1004... | Line -... | ||
1004 | ret |
- | |
1005 | 993 | ret |
|
1006 | 994 | ||
1007 | .fail: |
995 | .fail: |
1008 | xor eax, eax |
996 | xor eax, eax |
Line 1009... | Line 997... | ||
1009 | mov [esp+36], eax |
997 | mov [esp+36], eax |
1010 | ret |
- | |
1011 | - | ||
1012 | align 4 |
- | |
1013 | proc load_pe_driver stdcall, file:dword |
- | |
1014 | - | ||
1015 | stdcall load_PE, [file] |
- | |
1016 | test eax, eax |
- | |
1017 | jz .fail |
- | |
1018 | - | ||
1019 | mov esi, eax |
- | |
1020 | stdcall eax, DRV_ENTRY |
- | |
1021 | test eax, eax |
- | |
1022 | jz .fail |
- | |
1023 | - | ||
1024 | mov [eax+SRV.entry], esi |
- | |
1025 | ret |
- | |
1026 | - | ||
1027 | .fail: |
- | |
1028 | xor eax, eax |
- | |
1029 | ret |
- | |
1030 | endp |
- | |
1031 | 998 | ret |
|
Line 1032... | Line 999... | ||
1032 | 999 | ||
1033 | align 4 |
1000 | align 4 |