Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 168 → Rev 167

/kernel/trunk/kernel.asm
120,7 → 120,7
 
; CR0 Flags - Protected mode and Paging
 
mov ecx, CR0_PE
mov ecx, 0x00000021
 
; Enabling 32 bit protected mode
 
400,7 → 400,7
mov cr3, eax
 
mov eax,cr0
or eax,CR0_PG
or eax,0x80000000
mov cr0,eax
 
call init_kernel_heap
447,48 → 447,25
mov ecx, 16
rep movsb
 
clts
fninit
 
bt [cpu_caps], CAPS_FXSR
jnc .no_FXSR
 
stdcall kernel_alloc, 512*256
mov [fpu_data], eax
 
mov ebx, cr4
mov ecx, cr0
or ebx, CR4_OSFXSR+CR4_OSXMMEXPT
or ebx, CR4_OSFXSR
mov cr4, ebx
 
and ecx, not (CR0_MP+CR0_EM)
or ecx, CR0_NE
mov cr0, ecx
 
mov dword [esp-4], SSE_INIT
ldmxcsr [esp-4]
 
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm6, xmm6
xorps xmm7, xmm7
 
jmp .set_cr
jmp .clts
.no_FXSR:
stdcall kernel_alloc, 112*256
mov [fpu_data], eax
mov ebx, cr4
mov ecx, cr0
and ebx, not (CR4_OSFXSR+CR4_OSXMMEXPT)
and ecx, not CR0_EM
or ecx, CR0_MP+CR0_NE
mov cr0, ecx
mov cr4, ebx
.set_cr:
.clts:
clts
fninit
 
mov edi, irq_tab
xor eax, eax
mov ecx, 16