Tomas Hruby
09a47e6a40
vm_assert macros fix up
2009-08-11 07:53:32 +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
f9e81cb57b
remove bogus arch_map2vir calls
2009-05-12 11:36:15 +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
ade4c03b73
Don't build arch objs more than once.
2009-05-11 19:05:45 +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
dc9a1bc30c
increment nph when printing physical regions; suggested by Guanqun Lu
2009-03-31 14:26:24 +00:00
Ben Gras
59e972f074
let drivers allocate memory at 64k physical boundary.
2009-02-12 12:26:08 +00:00
Ben Gras
c628f24bc2
moved stacktrace to sysctl, as vmctl is very privileged so can't
...
be used outside VM. IS code cleanup. added stacktrace feature to IS.
2009-01-27 12:54:33 +00:00
Ben Gras
539192f4c3
must be unsigned for base+limit check to to work
2009-01-22 13:05:20 +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
8072ef5509
oops, shouldn't be on in svn.
2008-12-18 17:42:29 +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
710f44c4b8
added code for debugging pagefaults
2008-12-16 14:33:53 +00:00
Ben Gras
e4e3995fb0
don't force vm to print to serial; don't kill processes when they
...
have 'bad' memory ranges (as it's the requestor's fault)
2008-12-11 17:36:33 +00:00
Ben Gras
68d0c4defe
- code shared with exec() letting boot-time processes have
...
their own fully fledged virtual address space and freeing
their pre-allocated heap+stack area (necessary to let memory
driver map in arbitrary areas of memory for /dev/mem without
sys_vm_map)
- small optimization preallocating memory on exec
- finished VR_DIRECT physical mapping code
2008-12-08 16:43:20 +00:00
Ben Gras
9b33056d2b
make allocmem accept and return values in bytes, ramdisk expects this.
2008-11-19 15:40:17 +00:00
Ben Gras
6c92081a5a
paged mode is default.
2008-11-19 13:19:37 +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