Rev 846 | Rev 854 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 846 | Rev 848 | ||
---|---|---|---|
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: 846 $ |
8 | $Revision: 848 $ |
9 | 9 | ||
10 | 10 | ||
Line 243... | Line 243... | ||
243 | @@: |
243 | @@: |
244 | call init_mtrr |
244 | call init_mtrr |
Line 245... | Line 245... | ||
245 | 245 | ||
246 | mov eax, [LFBAddress] |
246 | mov eax, [LFBAddress] |
247 | or eax, PG_LARGE+PG_UW |
247 | or eax, PG_LARGE+PG_UW |
248 | mov [sys_pgdir+(LFB_BASE shr 20)], eax |
248 | mov [_sys_pdbr+(LFB_BASE shr 20)], eax |
249 | add eax, 0x00400000 |
249 | add eax, 0x00400000 |
Line 250... | Line 250... | ||
250 | mov [sys_pgdir+4+(LFB_BASE shr 20)], eax |
250 | mov [_sys_pdbr+4+(LFB_BASE shr 20)], eax |
Line 251... | Line 251... | ||
251 | 251 | ||
252 | mov dword [exp_lfb+4], LFB_BASE |
252 | mov dword [exp_lfb+4], LFB_BASE |
253 | 253 | ||
254 | bt [cpu_caps], CAPS_PGE |
254 | bt [cpu_caps], CAPS_PGE |
255 | jnc @F |
255 | jnc @F |
256 | or dword [sys_pgdir+(LFB_BASE shr 20)], PG_GLOBAL |
256 | or dword [_sys_pdbr+(LFB_BASE shr 20)], PG_GLOBAL |
257 | @@: |
257 | @@: |
Line 460... | Line 460... | ||
460 | ; jb .alloc;.app_tabs ;òàáëèöû ñòðàíèö ïðèëîæåíèÿ ; |
460 | ; jb .alloc;.app_tabs ;òàáëèöû ñòðàíèö ïðèëîæåíèÿ ; |
461 | ;ïðîñòî ñîçäàäèì îäíó |
461 | ;ïðîñòî ñîçäàäèì îäíó |
Line 462... | Line 462... | ||
462 | 462 | ||
463 | .lfb: |
463 | .lfb: |
464 | shr ebx, 22 |
464 | shr ebx, 22 |
465 | mov edx, [sys_pgdir + ebx*4] |
465 | mov edx, [_sys_pdbr + ebx*4] |
466 | mov [master_tab + ebx*4], edx |
466 | mov [master_tab + ebx*4], edx |
Line 467... | Line 467... | ||
467 | jmp .exit |
467 | jmp .exit |
Line 481... | Line 481... | ||
481 | mov edx, [master_tab + ebx*4] |
481 | mov edx, [master_tab + ebx*4] |
482 | test edx, PG_MAP |
482 | test edx, PG_MAP |
483 | jz .check_ptab ;òàáëèöà ñòðàíèö íå ñîçäàíà |
483 | jz .check_ptab ;òàáëèöà ñòðàíèö íå ñîçäàíà |
Line 484... | Line 484... | ||
484 | 484 | ||
485 | .check_ptab: |
485 | .check_ptab: |
486 | mov edx, [sys_pgdir + ebx*4] |
486 | mov edx, [_sys_pdbr + ebx*4] |
487 | test edx, PG_MAP |
487 | test edx, PG_MAP |
Line 488... | Line 488... | ||
488 | jnz @F |
488 | jnz @F |
489 | 489 | ||
Line 496... | Line 496... | ||
496 | mov ecx, 1024 |
496 | mov ecx, 1024 |
497 | xor eax, eax |
497 | xor eax, eax |
498 | cld |
498 | cld |
499 | rep stosd |
499 | rep stosd |
Line 500... | Line 500... | ||
500 | 500 | ||
501 | mov [sys_pgdir + ebx*4], edx |
501 | mov [_sys_pdbr + ebx*4], edx |
502 | @@: |
502 | @@: |
503 | mov [master_tab + ebx*4], edx |
503 | mov [master_tab + ebx*4], edx |
Line 504... | Line 504... | ||
504 | jmp .exit |
504 | jmp .exit |