/kernel/branches/kolibri_pe/boot/boot.asm |
---|
24,7 → 24,7 |
public _bx_from_load |
extrn __setvars |
extrn core_init |
section '.boot' code readable align 16 |
64,7 → 64,6 |
include "../bus/pci/pci16.inc" |
include "../detect/biosdisk.inc" |
cli |
mov eax, cr0 |
71,18 → 70,8 |
or eax, CR0_PG+CR0_WP+CR0_PE |
mov cr0, eax |
jmp pword 0x08:__setvars |
jmp pword 0x10:core_init |
;align 4 |
;_leave_16bit: |
; |
; cli |
; mov eax, cr0 |
; or eax, CR0_PG+CR0_WP+CR0_PE |
; mov cr0, eax |
; hlt |
align 4 |
rmode_idt: |
dw 0x400 |
/kernel/branches/kolibri_pe/boot/start.asm |
---|
9,7 → 9,7 |
public __start |
extrn _high_code |
extrn high_code |
extrn __os_stack |
extrn _boot_mbi |
extrn _sys_pdbr |
70,8 → 70,9 |
; ENABLE PAGING |
mov ecx, 64 |
mov eax, PG_LARGE+PG_SW |
mov edi, _sys_pdbr+(OS_BASE shr 20)+(0x100000000-OS_BASE) |
mov eax, PG_LARGE+PG_SW |
mov [edi-4], dword (PG_LARGE+PG_USER) |
@@: |
stosd |
add eax, 4*1024*1024 |
110,8 → 111,8 |
add ecx, 4095 |
and ecx, not 4095 |
lgdt [_gdts+(0x100000000-OS_BASE)] |
jmp pword 0x08:_high_code |
lgdt [_gdts] ;+(0x100000000-OS_BASE)] |
jmp pword 0x10:high_code |
.fault: |