Ben Gras
ac86f5bb49
keep some processes mapped in always; direct message copying
...
where possible (no buffering); no more explicit vm checkranges
in kernel; new allocator for vm using avl tree without needing
remapping
2009-06-08 04:02:22 +00:00
Ben Gras
0702c826a2
pde cache check works
...
no more silly vm checkranges
2009-06-07 15:55:44 +00:00
Ben Gras
4dae6c4bbc
my state.
...
trying to get some memory optimisation (less pagetable reloading,
less tlb purging) features working smoothly.
to be documented when committing to trunk :)
2009-06-06 23:27:10 +00:00
Ben Gras
eb2959a560
state
2009-06-03 11:22:49 +00:00
Ben Gras
f16eb59bbf
further messing with page fault handling
2009-05-29 18:47:31 +00:00
Ben Gras
9b73964f6d
beng work in progress, to be explained in a future commit message :).
2009-05-28 13:47:20 +00:00
Ben Gras
6579bb3656
copy of beng's working copy
2009-05-20 16:54:58 +00:00
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
6fad23f500
don't call this function with a bogus addr (done by region.c print code)
2009-05-12 11:35:49 +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
2dd02cc560
mark pages whose refcount were >1 and drop to 1 and are
...
read/write writable in the pagetable right away instead of waiting for
a pagefault. minor optimization.
some a sanity check of SLAB-allocated pointers.
vm gets its own _exit and __exit like PM, so the stock (library) panic works.
2009-04-22 12:39:29 +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