226,7 → 226,7 |
mov fs,ax |
mov gs,ax |
mov ss,ax |
mov esp,0x5ec00 ; Set stack |
mov esp,0x006CC00 ; Set stack |
|
; CLEAR 0x280000 - HEAP_BASE |
|
236,13 → 236,11 |
cld |
rep stosd |
|
mov edi,0x40000 |
mov ecx,(0x90000-0x40000)/4 |
rep stosd |
|
; CLEAR KERNEL UNDEFINED GLOBALS |
mov edi, endofcode-OS_BASE |
mov ecx, (uglobals_size/4)+4 |
mov ecx, 0x90000 |
sub ecx, edi |
shr ecx, 2 |
rep stosd |
|
; SAVE & CLEAR 0-0xffff |
604,6 → 602,7 |
|
; REDIRECT ALL IRQ'S TO INT'S 0x20-0x2f |
|
call init_irqs |
call PIC_init |
|
; Initialize system V86 machine |
615,8 → 614,6 |
; Try to Initialize APIC |
call APIC_init |
|
call pci_irq_fixup |
|
; Enable timer IRQ (IRQ0) and hard drives IRQs (IRQ14, IRQ15) |
; they are used: when partitions are scanned, hd_read relies on timer |
call unmask_timer |
680,11 → 677,9 |
; Display APIC status |
mov esi, boot_APIC_found |
cmp [irq_mode], IRQ_APIC |
jne @f |
|
je @f |
mov esi, boot_APIC_nfound |
@@: |
call boot_log |
|
; PRINT AMOUNT OF MEMORY |
mov esi, boot_memdetect |