Ben Gras
f86da99e67
map in kernel in 4MB, global-bit-set 'pages' if hardware
...
supports it. helps performance.
broken use of region data structure for kernel mapping to be fixed.
2009-05-18 15:34:42 +00:00
Ben Gras
bdab3c4cfb
Library call for cpu features; make kernel and vm use this to query cpu
...
features (specifically: 4MB pages and TLB global bit). Only enable
these features in CR4 if available. 4MB pages to be used in the near
future.
2009-05-15 17:07:36 +00:00
Ben Gras
909c1bb8a7
don't bother with unmapping physical memory in non-sanitycheck mode.
2009-05-12 11:51:53 +00:00
Ben Gras
581e68433a
basic sparepage optimisation
...
some simplification of linear/virtual address translation
(less hardcoding and more use of arch_*2* functions)
2009-05-12 11:38:29 +00:00
Ben Gras
d2caeb6146
start all processes, including VM, in VM_PROCSTART in linear address space,
...
to make space for kernel to be able to map in things below there.
2009-05-11 19:11:37 +00:00
Ben Gras
ef8a741301
set global flag for kernel pages, so tlb entries for kernel aren't thrown
...
away on cr3 reload. minor optimization.
2009-04-23 15:11:16 +00:00
Ben Gras
866a4a667e
phys addr arg of 0 must be possible for pt_writemap too (instead of meaning
...
unmap).
2008-12-19 13:29:12 +00:00
Ben Gras
3121eec6bd
. map text (kernel's and processes') in readonly
...
. map kernel in non-user
. don't map in first pages of kernel code and data
if possible
these first pages could actually be freed but as the
kernel isn't allowed to touch them either we can't reuse
them until VM has totally taken over page table management
and kernel doesn't rely on identity mapping any more.
2008-12-18 15:35:22 +00:00
Ben Gras
c078ec0331
Basic VM and other minor improvements.
...
Not complete, probably not fully debugged or optimized.
2008-11-19 12:26:10 +00:00