Rev 848 | Rev 859 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 848 | Rev 854 | ||
---|---|---|---|
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: 848 $ |
8 | $Revision: 854 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 381... | Line 381... | ||
381 | lea eax, [eax+ebx+2] ;all requested memory |
381 | lea eax, [eax+ebx+2] ;all requested memory |
382 | end if |
382 | end if |
383 | ; cmp eax, [pg_data.pages_free] |
383 | ; cmp eax, [pg_data.pages_free] |
384 | ; ja .fail |
384 | ; ja .fail |
Line 385... | Line 385... | ||
385 | 385 | ||
386 | call alloc_page |
386 | call _alloc_page |
387 | test eax, eax |
387 | test eax, eax |
388 | jz .fail |
388 | jz .fail |
Line 389... | Line 389... | ||
389 | mov [dir_addr], eax |
389 | mov [dir_addr], eax |
Line 406... | Line 406... | ||
406 | call set_cr3 |
406 | call set_cr3 |
Line 407... | Line 407... | ||
407 | 407 | ||
408 | mov edx, [app_tabs] |
408 | mov edx, [app_tabs] |
409 | xor edi, edi |
409 | xor edi, edi |
410 | @@: |
410 | @@: |
411 | call alloc_page |
411 | call _alloc_page |
412 | test eax, eax |
412 | test eax, eax |
Line 413... | Line 413... | ||
413 | jz .fail |
413 | jz .fail |
414 | 414 | ||
Line 448... | Line 448... | ||
448 | mov eax, 0x02 |
448 | mov eax, 0x02 |
449 | rep stosd |
449 | rep stosd |
450 | else |
450 | else |
Line 451... | Line 451... | ||
451 | 451 | ||
452 | .alloc: |
452 | .alloc: |
453 | call alloc_page |
453 | call _alloc_page |
454 | test eax, eax |
454 | test eax, eax |
Line 455... | Line 455... | ||
455 | jz .fail |
455 | jz .fail |
456 | 456 | ||
Line 942... | Line 942... | ||
942 | 942 | ||
943 | locals |
943 | locals |
944 | pl0_stack dd ? |
944 | pl0_stack dd ? |
Line 945... | Line 945... | ||
945 | endl |
945 | endl |
946 | 946 | ||
947 | stdcall alloc_pages, (RING0_STACK_SIZE+512) shr 12 |
947 | stdcall _alloc_pages, (RING0_STACK_SIZE+512) shr 12 |
Line 948... | Line 948... | ||
948 | add eax, OS_BASE |
948 | add eax, OS_BASE |
Line 986... | Line 986... | ||
986 | mov eax, [pl0_stack] |
986 | mov eax, [pl0_stack] |
987 | mov [SLOT_BASE+APPDATA.pl0_stack+ebx],eax |
987 | mov [SLOT_BASE+APPDATA.pl0_stack+ebx],eax |
988 | add eax, RING0_STACK_SIZE |
988 | add eax, RING0_STACK_SIZE |
989 | mov [SLOT_BASE+APPDATA.saved_esp0+ebx], eax |
989 | mov [SLOT_BASE+APPDATA.saved_esp0+ebx], eax |
Line 990... | Line 990... | ||
990 | 990 | ||
991 | call alloc_page |
991 | call _alloc_page |
992 | add eax, OS_BASE |
992 | add eax, OS_BASE |
993 | mov esi,[current_slot] |
993 | mov esi,[current_slot] |
994 | mov esi,[esi+APPDATA.cur_dir] |
994 | mov esi,[esi+APPDATA.cur_dir] |
995 | mov ecx,0x1000/4 |
995 | mov ecx,0x1000/4 |