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
Ben Gras
c4fb567bd5
. replace HZ by runtime system_hz (sysenv variable 'hz')
...
. new flag PROC_FULLVM in table indicating process wants full address
space (this is then created and managed by VM)
2008-12-11 14:15:23 +00:00
Ben Gras
afef5e0711
. some flags to <minix/const.h>
...
. add system_hz for runtime HZ value
2008-12-11 14:12:52 +00:00
Ben Gras
a74132ec69
fix race condition that can trigger 'enqueue already ready process' panic.
2008-12-11 13:42:37 +00:00
Ben Gras
51fdce1d36
minor fixes
2008-11-19 14:10:33 +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
Philip Homburg
a508e0a03c
_function, function -> call_nr
2008-02-25 14:35:11 +00:00
Philip Homburg
73ea967b6c
Keep track of error statistics, rate limit debug output, added SYS_MAPDMA.
2008-02-22 12:38:22 +00:00
Philip Homburg
992edfd558
Keep track of various statistics related to IPC and SYSTEM.
2008-02-22 12:36:46 +00:00
Philip Homburg
5996d1de58
Added do_mapdma.
2008-02-22 12:25:59 +00:00
Philip Homburg
f6872f8323
Added ipc_stats_target.
2008-02-22 12:25:44 +00:00
Philip Homburg
4a86b1fea5
Changes to debug output, mostly rate limiting.
2008-02-22 11:00:06 +00:00
Philip Homburg
3c2e122d6d
Disabled code to set ipc_stats_target.
2008-02-22 10:58:27 +00:00
Philip Homburg
2679321ba0
Added do_mapdma.
2008-02-22 10:51:37 +00:00
Philip Homburg
594035f13c
More verbose (optional) debug output for exceptions.
2008-02-22 10:43:18 +00:00