Ben Gras
a236a39e33
..
2009-06-08 07:33:42 +00:00
Ben Gras
de1b5e0076
cleanup, sanity checking
2009-06-08 06:08:11 +00:00
Ben Gras
782133423e
allow empty senda
2009-06-08 04:39:26 +00:00
Ben Gras
9e72241374
minor cleanup
2009-06-08 04:30:16 +00:00
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
e2a7535c55
minor cleanup
2009-06-07 16:25:37 +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
9d56ac3fc9
only switch pagetable if necessary and it's different for copying messages
2009-06-03 15:28:13 +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
85881e9995
no vm_setbuf any more (kernel doesn't create its page table any more),
...
no relocking field (locks not checked)
2009-05-28 14:23:38 +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
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
Arun Thomas
db4faccbf9
-Installation info is on the wiki now, so remove setup guides and update
...
README.
-Remove obsolete FAT partitioning utility.
-Update startup banner.
2009-05-14 15:54:02 +00:00
David van Moolenbroek
c2aef85eda
Clear trace bit for child on fork.
...
Without this, a forking single-stepped process will have its child
die from a TRAP signal right away.
2009-05-13 21:58:10 +00:00
Ben Gras
e3ca89c0be
more sanity checking. sanity checking disabled by default.
...
give every process a full pagetable by default now.
first step to disabling kernel page table code (processes
might not have page tables -> no address translation).
2009-05-12 11:35:01 +00:00
David van Moolenbroek
4af032bbfe
Kernel interrupt hook management fixes:
...
- properly assign unique hook IDs
- after hook removal, remove hook-specific interrupt disable flag
2009-05-07 14:52:07 +00:00
Ben Gras
bb23344283
spurious debug
2009-04-27 16:11:38 +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
e0f3a5acf1
- enable ipc warnings by default
...
- ipc checking code in kernel didn't properly catch the
sendrec() to self case; added special case check
- triggered by PM using stock panic() - needs its own _exit()
reported by Joren l'Ami.
2009-04-17 13:46:37 +00:00
Ben Gras
9647fbc94e
moved type and constants for random data to include file;
...
added consistency check in random; added source of randomness
internal to random using timing; only retrieve random bins that are full.
2009-04-02 15:24:44 +00:00
Ben Gras
b560a36b20
trace fix contributed by Joren l'Ami
2009-04-02 11:38:23 +00:00
Ben Gras
6ac0338584
Don't declare the cprof buf if CPROFILE isn't on.
2009-02-06 16:31:28 +00:00
Ben Gras
6e86e6706d
fix compiler warning; missing memory range check
2009-02-05 13:00:03 +00:00
Ben Gras
113932905f
disable interrupts if necessary in kernel debug code to dump all process
...
stacks.
2009-01-29 15:13:54 +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
3cc092ff06
. new kernel call sysctl for generic unprivileged system operations;
...
now used for printing diagnostic messages through the kernel message
buffer. this lets processes print diagnostics without sending messages
to tty and log directly, simplifying the message protocol a lot and
reducing difficulties with deadlocks and other situations in which
diagnostics are blackholed (e.g. grants don't work). this makes
DIAGNOSTICS(_S), ASYN_DIAGNOSTICS and DIAG_REPL obsolete, although tty
and log still accept the codes for 'old' binaries. This also simplifies
diagnostics in several servers and drivers - only tty needs its own
kputc() now.
. simplifications in vfs, and some effort to get the vnode references
right (consistent) even during shutdown. m_mounted_on is now NULL
for root filesystems (!) (the original and new root), a less awkward
special case than 'm_mounted_on == m_root_node'. root now has exactly
one reference, to root, if no files are open, just like all other
filesystems. m_driver_e is unused.
2009-01-26 17:43:59 +00:00
Ben Gras
b784e88026
prototype
2009-01-22 17:09:45 +00:00
Ben Gras
0f41416100
minor cleanup, extra check
2009-01-20 15:47:00 +00:00
Ben Gras
ef2867de41
don't print if we're already printing to serial.
2009-01-14 08:54:17 +00:00
Ben Gras
b4934f0e12
debug twiddle.
2009-01-14 08:52:50 +00:00
Ben Gras
3ca00a926c
don't produce kernel output if serial debug is on.
2009-01-11 23:47:03 +00:00
Ben Gras
d5f978411e
use #include name for servarname
2009-01-11 23:45:29 +00:00
Ben Gras
cd54beeb30
cprofile not conditional
2009-01-09 21:45:27 +00:00
Ben Gras
c27008fbcc
cprofile not conditional
2009-01-09 21:44:52 +00:00
Ben Gras
22d9444773
don't always time that
2009-01-09 20:58:35 +00:00
Ben Gras
7740d0379c
no longer in kernel
2009-01-09 16:35:25 +00:00
Ben Gras
128a0508c0
timing measurement code out of kernel and into library
...
(so other components can use it too)
2009-01-09 16:15:15 +00:00
Ben Gras
23a158b361
don't check senda() buffer if size is 0.
2008-12-21 03:46:42 +00:00
Ben Gras
203eb54a4c
make space for first code and data pages if so configured.
2008-12-19 15:46:29 +00:00
Ben Gras
b740ff055f
if serial output is enabled in the boot monitor, on the first serial line,
...
enable serial debug output in the kernel too.
2008-12-19 13:21:42 +00:00
Ben Gras
f0000078c3
make kernel leave a page-sized gap in its code and data to not be
...
mapped in if so configured.
2008-12-18 14:30:55 +00:00
Ben Gras
5db1a042c2
stacktrace feature.
2008-12-11 15:33:43 +00:00
Ben Gras
9d096e014b
. print kernel stacktrace unconditionally on panic
...
. provide a panic() in the kernel for if a library function wants to panic
2008-12-11 14:23:58 +00:00
Ben Gras
b61687fb1b
. VM needs a higher priority than VFS, PM etc
...
. introduce FULLVM flag: MEMORY and the initial MFS
get their own full address spaces, making their stacks
and heaps not preallocated (well, freed after VM has
initialized it) and letting them allocate more dynamically.
MEMORY in particular needs this to map in physical memory
using its own page table, without having to allocate.
2008-12-11 14:21:47 +00:00
Ben Gras
034b5c6042
PM_PROC_NR shouldn't be hardcoded as the caller.
2008-12-11 14:18:51 +00:00
Ben Gras
66b161238d
function to increase process stack (pointer). used by VM to set up large,
...
sparse, non-preallocated heap and stack.
2008-12-11 14:17:45 +00:00
Ben Gras
e911d44a5c
system image processes with full address space are allowed to have pagefaults.
2008-12-11 14:16:40 +00:00