d40a935560
* Made the page table allocation more flexible. Got rid of sMaxVirtualAddress and added new virtual_end address to the architecture specific kernel args. * Increased the virtual space we reserve for the kernel to 16 MB. That should suffice for quite a while. The previous 2 MB were too tight when building the kernel with debug info. * mmu_init(): The way we were translating the BIOS' extended memory map to our physical ranges arrays was broken. Small gaps between usable memory ranges would be ignored and instead marked allocated. This worked fine for the boot loader and during the early kernel initialization, but after the VM has been fully set up it frees all physical ranges that have not been claimed otherwise. So those ranges could be entered into the free pages list and would be used later. This could possibly cause all kinds of weird problems, probably including ACPI issues. Now we add only the actually usable ranges to our list. Kernel: * vm_page_init(): The pages of the ranges between the usable physical memory ranges are now marked PAGE_STATE_UNUSED, the allocated ranges PAGE_STATE_WIRED. * unmap_and_free_physical_pages(): Don't free pages marked as unused. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35726 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
apm.h | ||
arch_acpi.h | ||
arch_apic.h | ||
arch_cpu.h | ||
arch_hpet.h | ||
arch_int.h | ||
arch_kernel_args.h | ||
arch_kernel.h | ||
arch_system_info.h | ||
arch_thread_types.h | ||
arch_thread.h | ||
arch_user_debugger.h | ||
arch_vm_translation_map.h | ||
arch_vm_types.h | ||
arch_vm.h | ||
bios.h | ||
descriptors.h | ||
selector.h | ||
smp_priv.h | ||
timer.h | ||
types.h | ||
vesa.h | ||
vm86.h |