haiku/headers/private/kernel/arch/x86
Ingo Weinhold d40a935560 Boot loader (x86 mmu.cpp):
* 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
2010-03-02 18:13:06 +00:00
..
apm.h * Introduced new header directory headers/private/system which is supposed 2008-05-14 03:55:16 +00:00
arch_acpi.h Patch by Dustin Howett (GSOC): Move ACPI probing out of the 2008-07-21 07:13:51 +00:00
arch_apic.h Patch by Dustin Howett (GSOC): Move ACPI probing out of the 2008-07-21 07:13:51 +00:00
arch_cpu.h * map_physical_memory() does now always set a memory type. If none is given (it 2010-02-18 13:52:43 +00:00
arch_hpet.h Some big changes, still not working on my laptop, since hpet interrupts 2009-09-29 08:36:36 +00:00
arch_int.h Patch by "Grey": Small optimization of arch_int_disable_interrupts_inline() 2010-02-01 08:55:44 +00:00
arch_kernel_args.h Boot loader (x86 mmu.cpp): 2010-03-02 18:13:06 +00:00
arch_kernel.h * For each userland team the kernel creates an area in the userland 2008-05-11 16:25:35 +00:00
arch_system_info.h pulled over some stuff from newos: 2007-02-05 01:46:28 +00:00
arch_thread_types.h Merged branch haiku/branches/developer/bonefish/optimization revision 2008-01-11 00:36:44 +00:00
arch_thread.h User debugger support: 2009-06-14 12:14:06 +00:00
arch_user_debugger.h Added transparent software breakpoint support for user debuggers: 2009-06-23 21:03:57 +00:00
arch_vm_translation_map.h Refactored vm_translation_map: 2010-01-14 03:26:12 +00:00
arch_vm_types.h The short story: we now have MTRR support on Intel and AMD CPUs (the latter 2005-12-13 16:34:29 +00:00
arch_vm.h * vm_page::offset is now called cache_offset and is now an uint32 instead of off_t; 2005-12-21 12:38:31 +00:00
bios.h Got inspired by mmu_man's dmidecode release and added a simple identification 2004-11-29 20:42:04 +00:00
descriptors.h Implemented first basic APM driver. Only tested with QEMU so far, that's why 2006-01-28 18:11:20 +00:00
selector.h Moved <types.h> to <sys/types.h>. 2002-09-23 02:36:51 +00:00
smp_priv.h Add volatile keyword to apic memory access, cleanup, add timeout to arch_smp_send_ici. 2007-02-25 23:32:21 +00:00
timer.h Patch by Dustin Howett which 'modularizes' timers. The best timer is 2008-07-05 20:40:06 +00:00
types.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
vesa.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
vm86.h Patch by Jan Klötzke with minor changes by myself: 2008-05-28 10:48:01 +00:00