Erik van der Kouwe
c2da8cb535
Globally enable -Wall warnings for GCC
2011-06-08 19:21:03 +00:00
Erik van der Kouwe
0cb22acbda
Fix VM -Wall warnings and enable -Werror
2011-06-01 11:30:58 +02:00
Arun Thomas
350b60661a
ELF multiboot support
2011-05-04 18:51:43 +02:00
Ben Gras
5f1ab506c8
remove some debugging output from vm/region.c
...
- don't print verbose process map when legitimate errors occur
2011-03-16 11:57:35 +00:00
Arun Thomas
25a790a631
VM and kernel support for ELF
2011-02-26 23:00:55 +00:00
Ben Gras
c7b2b11ec2
vm: only suspend and resume process with vmctls in pt_writemap in smp mode
2011-02-11 14:56:52 +00:00
Arun Thomas
372b873413
VFS/RS support for ELF
2010-12-10 09:27:56 +00:00
Tomas Hruby
de1bcaa69a
VM implicitly aligns mappings to a page
...
- problem when a PCI BAR is not aligned
- together with David v. Moolenboek
2010-10-21 17:07:05 +00:00
Ben Gras
ddde360e3e
vm - hash table for block cache
2010-10-15 09:10:14 +00:00
Ben Gras
cb2e3a98a2
vm - fix for not placing region outside requested mmap addr
2010-10-15 09:09:29 +00:00
Ben Gras
a3f2df124c
vm optimisation - maintain hint for new virtual region position.
2010-10-07 10:04:05 +00:00
Ben Gras
e2570d9b1b
vm: optimisation: avl tree for virtual regions
...
- regions were preivous stored in a linked list, as 'normally'
there are just 2 or 3 (text, data, stack), but that's slow
if lots of regions are made with mmap()
- measurable performance improvement with gcc and clang
2010-10-04 11:41:10 +00:00
Ben Gras
36189370a5
vm: don't check the range of memory during sanity checking
...
- too many false positives due to memory that is mapped in
legitimately (acpi, i/o devices)
2010-10-04 11:38:33 +00:00
Tomas Hruby
6513d20744
SMP - Process is stopped when VM modifies the page tables
...
- RTS_VMINHIBIT flag is used to stop process while VM is fiddling with
its pagetables
- more generic way of sending synchronous scheduling events among cpus
- do the x-cpu smp sched calls only if the target process is runnable.
If it is not, it cannot be running and it cannot become runnable
this CPU holds the BKL
2010-09-15 14:11:12 +00:00
David van Moolenbroek
3eb65448a6
VM: expose secondary cache size
2010-09-14 21:22:56 +00:00
Arun Thomas
de231a713e
Move MIN() and MAX() macros to sys/params.h
2010-08-21 13:10:41 +00:00
Arun Thomas
9a21d1a2fd
Macros for symbols used in both ASM and C
...
-The macros take care of prepending the leading underscore when
necessary.
2010-08-17 16:44:07 +00:00
Erik van der Kouwe
d7c70a41e5
Allow vm to split blocks in memory map (needed for multiboot, contributed by Feiran "Fam" Zheng
2010-07-23 14:22:13 +00:00
Tomas Hruby
f6f20e1269
Overly restrictive assert
...
- not true if APIC is enabled
2010-07-21 13:46:29 +00:00
Cristiano Giuffrida
0824146978
Disable debug info on trunk.
2010-07-21 08:22:24 +00:00
Cristiano Giuffrida
91a83fe265
Crash recovery and live update support for VM.
2010-07-20 23:03:52 +00:00
Cristiano Giuffrida
0d984b36ef
Get rid of static spare pages after VM startup.
2010-07-20 21:59:27 +00:00
Cristiano Giuffrida
40b4e71db2
COW for physically contiguous blocks in VM
2010-07-20 18:57:25 +00:00
Cristiano Giuffrida
1b7d95df29
Generalize interface of some VM functions
2010-07-20 02:08:28 +00:00
Ben Gras
16d0609fad
vm: restore sanity checks in NONCONTIGUOUS case.
2010-07-19 18:20:14 +00:00
Ben Gras
068944de36
vm: add MEMPROTECT feature in vm.h.
2010-07-19 18:19:59 +00:00
Ben Gras
77267ca28b
vm: add missing USE() macros in utility.c.
2010-07-19 18:19:38 +00:00
Ben Gras
5e2c84b119
vm: allow readonly pages when sanity checking when they're supposed to be rw.
2010-07-19 18:19:16 +00:00
Ben Gras
8c925134f9
vm: NONCONTIGUOUS - try to make physical memory as maximally noncontiguous
2010-07-09 12:22:33 +00:00
Ben Gras
fc8f0b9ee2
vm: better fix for clang 'unused expression' warning
2010-07-05 17:34:26 +00:00
Ben Gras
86139e8bf2
vm: last commit should not have included wiping out these calls
...
(this was done temporarily to make vm work with clang; vm crashes when
the 64-bit arithmetic functions are used when compiled with clang.)
2010-07-05 14:01:34 +00:00
Ben Gras
b4bea1bfcb
vm: fixes for clang warnings
2010-07-05 13:58:57 +00:00
Cristiano Giuffrida
9e4312453d
Improve memory pinning.
2010-07-01 08:54:25 +00:00
Cristiano Giuffrida
06700d05d1
Give RS a page table.
2010-06-28 21:53:37 +00:00
Ben Gras
6e47e2996f
sep ${.OBJDIR} fixes by Antoine Leica.
2010-06-27 23:47:23 +00:00
Arun Thomas
c0c8d25799
Rename mkfiles from minix.*.mk to bsd.*.mk
...
Makes things easier for pkgsrc
2010-06-25 18:29:09 +00:00
Cristiano Giuffrida
5c7d64b981
No malloc() in VM.
2010-06-25 12:48:56 +00:00
Erik van der Kouwe
498d7d8a4c
Don't use kernel responses in servers
2010-06-24 07:37:26 +00:00
Tomas Hruby
8214e5e284
Removed racy COW optimization
...
- enabling writing in COW once phys block is reference only once is racy if VM
is preemptible. original memory location may get overwritten before COW copies
the memory
- problem when DEBUG_RACE is on and a big problem for SMP
2010-06-18 12:46:18 +00:00
Tomas Hruby
1207fcc6f0
int to endpoint_t conversions in mmap
2010-06-09 09:14:53 +00:00
Ben Gras
31adc0a3c4
vm: junkfree feature that fills freed pages with a recognizable pattern.
2010-06-08 00:59:48 +00:00
Arun Thomas
b641afc78a
VM: Remove legacy non-paging code paths
2010-06-05 14:39:40 +00:00
Arun Thomas
007104d60e
GCC build fixes/updates
...
-Set stack sizes for boot image processes
-Increase RS stack size
-Reduce ramdisk size
-HARDWARE task should use kernel stack
-Minor asm tweaks for leading underscores
2010-05-26 18:45:55 +00:00
Erik van der Kouwe
1f11a57141
Oops, last commit included more than was intended
2010-05-20 08:07:47 +00:00
Erik van der Kouwe
5f15ec05b2
More system processes, this was not enough for the release script to run on some configurations
2010-05-20 08:05:07 +00:00
Ben Gras
c5c25e7abc
kernel/vm: change pde table info from single buffer to explicit per-process.
...
makes code in kernel more readable, and allows better sanity checking on
using the pde info.
2010-05-12 08:31:05 +00:00
Tomas Hruby
6e25ad8b0a
Use of all NIL_* defines converted to NULL
2010-05-10 13:26:00 +00:00
Ben Gras
d5a0af826a
vm: use arch_map2str to print pagefault info, to properly display code addrs
2010-05-08 17:25:54 +00:00
Ben Gras
b6bb75963b
vm: remove leftover diag print
2010-05-05 15:26:48 +00:00
Ben Gras
f78d8e74fd
secondary cache feature in vm.
...
A new call to vm lets processes yield a part of their memory to vm,
together with an id, getting newly allocated memory in return. vm is
allowed to forget about it if it runs out of memory. processes can ask
for it back using the same id. (These two operations are normally
combined in a single call.)
It can be used as a as-big-as-memory-will-allow block cache for
filesystems, which is how mfs now uses it.
2010-05-05 11:35:04 +00:00