Rev 928 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 928 | Rev 1066 | ||
---|---|---|---|
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: 928 $ |
8 | $Revision: 1066 $ |
9 | 9 | ||
10 | 10 | ||
Line 210... | Line 210... | ||
210 | 210 | ||
211 | mov dword [app_page_tabs+edi*4], 2 |
211 | mov dword [app_page_tabs+edi*4], 2 |
212 | mov ebx, edi |
212 | mov ebx, edi |
213 | shl ebx, 12 |
213 | shl ebx, 12 |
214 | invlpg [ebx] |
214 | invlpg [ebx] |
215 | call @core_free@4 |
215 | call @frame_free@4 |
216 | .next: |
216 | .next: |
217 | add edi, 1 |
217 | add edi, 1 |
218 | cmp edi, esi |
218 | cmp edi, esi |
Line 219... | Line 219... | ||
219 | jb @B |
219 | jb @B |
220 | 220 | ||
- | 221 | .update_size: |
|
- | 222 | mov ebx, [new_size] |
|
221 | .update_size: |
223 | mov edx, [current_slot] |
Line 222... | Line 224... | ||
222 | mov ebx, [new_size] |
224 | |
223 | call update_mem_size |
225 | call update_mem_size |
224 | 226 | ||
Line 420... | Line 422... | ||
420 | jmp .fail |
422 | jmp .fail |
Line 421... | Line 423... | ||
421 | 423 | ||
422 | align 4 |
424 | align 4 |
Line -... | Line 425... | ||
- | 425 | .kernel_heap: |
|
- | 426 | ||
423 | .kernel_heap: |
427 | ; xchg bx, bx |
424 | 428 | ||
Line 425... | Line 429... | ||
425 | shr ebx, 22 |
429 | shr ebx, 22 |
426 | mov edx, [master_tab + ebx*4] |
430 | mov edx, [master_tab + ebx*4] |
Line -... | Line 431... | ||
- | 431 | ||
- | 432 | test edx, PG_MAP |
|
- | 433 | jz .check_ptab ;òàáëèöà ñòðàíèö íå ñîçäàíà |
|
- | 434 | ||
- | 435 | mov ecx, [.err_addr] |
|
427 | 436 | mov edx, [.err_code] |
|
Line 428... | Line 437... | ||
428 | test edx, PG_MAP |
437 | |
429 | jz .check_ptab ;òàáëèöà ñòðàíèö íå ñîçäàíà |
438 | call @heap_fault@8 |
430 | 439 | ||
431 | jmp .exit |
440 | jmp .exit |
Line 432... | Line -... | ||
432 | - | ||
433 | .check_ptab: |
441 | |
434 | mov edx, [_sys_pdbr + ebx*4] |
442 | .check_ptab: |
435 | test edx, PG_MAP |
443 | mov edx, [_sys_pdbr + ebx*4] |
Line 436... | Line 444... | ||
436 | jnz @F |
444 | test edx, PG_MAP |
437 | 445 | jnz @F |
|
Line 544... | Line 552... | ||
544 | .fail: |
552 | .fail: |
545 | mov esp, ebp |
553 | mov esp, ebp |
546 | popad |
554 | popad |
547 | add esp, 4 |
555 | add esp, 4 |
Line 548... | Line 556... | ||
548 | 556 | ||
Line 549... | Line 557... | ||
549 | ; iretd |
557 | iretd |
Line 550... | Line 558... | ||
550 | 558 | ||
551 | save_ring3_context ;debugger support |
559 | save_ring3_context ;debugger support |
Line 1092... | Line 1100... | ||
1092 | mov [buf_ptr], eax |
1100 | mov [buf_ptr], eax |
1093 | jz .fail |
1101 | jz .fail |
Line 1094... | Line 1102... | ||
1094 | 1102 | ||
Line 1095... | Line -... | ||
1095 | push ebx |
- | |
1096 | 1103 | push ebx |
|
1097 | xor ecx, ecx |
1104 | |
- | 1105 | mov ecx, [size] |
|
1098 | mov edx, [size] |
1106 | shr ecx, 12 |
1099 | shr edx, 12 |
- | |
1100 | mov ebx, edx |
- | |
1101 | dec edx |
- | |
Line 1102... | Line 1107... | ||
1102 | bsr ecx, edx |
1107 | |
1103 | inc ecx |
1108 | mov ebx, ecx |
1104 | 1109 | ||
Line 1105... | Line 1110... | ||
1105 | call @core_alloc@4 |
1110 | call @frame_alloc@4 |
1106 | test eax, eax |
1111 | test eax, eax |