/kernel/trunk/core/apic.inc |
---|
63,7 → 63,7 |
call IRQ_mask_all |
; IOAPIC init |
stdcall map_io_mem, [acpi_ioapic_base], 0x20, PG_SWR+PG_NOCACHE |
stdcall map_io_mem, [acpi_ioapic_base], 0x20, PG_GLOBAL+PG_NOCACHE+PG_SWR |
mov [IOAPIC_base], eax |
mov eax, IOAPIC_VER |
127,7 → 127,7 |
cmp [LAPIC_BASE], 0 |
jne .done |
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_SWR+PG_NOCACHE |
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_GLOBAL+PG_NOCACHE+PG_SWR |
mov [LAPIC_BASE], eax |
mov esi, eax |
/kernel/trunk/core/heap.inc |
---|
492,7 → 492,7 |
jz .err |
mov ecx, ebx |
or eax, PG_SWR |
or eax, PG_GLOBAL+PG_SWR |
mov ebx, [lin_addr] |
call commit_pages |
506,7 → 506,7 |
test eax, eax |
jz .err |
stdcall map_page, edx, eax, dword PG_SWR |
stdcall map_page, edx, eax, dword (PG_GLOBAL+PG_SWR) |
add edx, 0x1000 |
dec ebx |
jnz @B |
/kernel/trunk/core/memory.inc |
---|
477,14 → 477,14 |
mov eax, [LFBAddress] |
mov edi, page_tabs + (LFB_BASE shr 10) |
or eax, PG_UWR |
or eax, PG_GLOBAL+PG_UWR |
and eax, [pte_valid_mask] |
mov ecx, [pg_count] |
cld |
@@: |
stosd |
add eax, 0x1000 |
dec ecx |
jnz @B |
loop @B |
mov dword [LFBAddress], LFB_BASE |
mov eax, cr3 ;flush TLB |
/kernel/trunk/kernel.asm |
---|
351,10 → 351,12 |
mov fs, cx |
mov gs, bx |
mov eax, PG_GLOBAL |
bt [cpu_caps], CAPS_PGE |
jnc @F |
or dword [sys_proc+PROC.pdt_0+(OS_BASE shr 20)], PG_GLOBAL |
or [sys_proc+PROC.pdt_0+(OS_BASE shr 20)], eax |
or [pte_valid_mask], eax |
mov ebx, cr4 |
or ebx, CR4_PGE |
754,7 → 756,7 |
mov edi, OS_BASE + 8000h |
mov ecx, (ap_init16_size + 3) / 4 |
rep movsd |
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_SWR+PG_NOCACHE |
stdcall map_io_mem, [acpi_lapic_base], 0x1000, PG_GLOBAL+PG_NOCACHE+PG_SWR |
mov [LAPIC_BASE], eax |
lea edi, [eax+300h] |
mov esi, smpt+4 |