Jorrit Herder
6d23f072f3
Cleaned up src/lib/utils library. Renamed server_ functions to more logical
...
names. All system processes can now either use panic() or report() from
libutils, or redefine their own function. Assertions are done via the standard
<assert.h> functionality.
2005-06-01 14:31:00 +00:00
Ben Gras
75689debe3
fixed bug that caused number of inodes to make estimation to be terrible
...
in most cases
2005-06-01 11:39:45 +00:00
Ben Gras
0d31130d29
Make needs a little more memory
2005-06-01 11:14:08 +00:00
Ben Gras
25d2f4666c
Removed mm files (obsolete; it's pm now)
2005-06-01 09:40:42 +00:00
Ben Gras
bd12703b76
Able to dump lock()/unlock() timing data
2005-06-01 09:40:27 +00:00
Ben Gras
66dab193f3
function key notifications became notifies fix
2005-06-01 09:40:02 +00:00
Ben Gras
447b988154
exec now uses phys_zero system call to zero bss segments (instead of
...
using phys_copy to copy zeroes there for every kb), which is a big
optimisation in some cases
fixed a bug that was introduced when function keys became notifies
2005-06-01 09:39:45 +00:00
Ben Gras
c977bd8709
Added args to lock() and unlock() to tell them apart, for use
...
when lock timing is enabled in minix/config.h.
Added phys_zero() routine to klib386.s that zeroes a range of memory, and
added corresponding system call.
2005-06-01 09:37:52 +00:00
Ben Gras
b4335679cb
Added sys_physzero library call for corresponding system call; modified
...
system-printf() so it returns number of characters printed (for use in
smart formatting)
2005-06-01 09:36:07 +00:00
Ben Gras
dfe2b4513f
Moved timing structs around to be more standard
2005-06-01 09:34:37 +00:00
Ben Gras
e0ffcdadd1
Added support for lock()/unlock() timing registration; also phys_zero system
...
call
2005-06-01 09:34:18 +00:00
Ben Gras
39a2fc72dd
different way of dealing with fd's so chmem <arg> <long list of files>
...
doesn't fail due to file descriptor leaks
2005-06-01 09:31:14 +00:00
Jorrit Herder
a3d2f35993
Fixed minor bug in PM's child time administration.
2005-06-01 08:55:22 +00:00
Ben Gras
5a43b84e2d
Fix for 'the kermit problem' (keyrepeats happening before the keyrepeat
...
timeout). A fix is to treat the alarm and interrupt cases differently and
only call the interrupt handler when an actual interrupt has been seen. No
apparent adverse effects.
2005-05-31 15:22:06 +00:00
Jorrit Herder
f0af8d85e7
*** empty log message ***
2005-05-31 14:44:49 +00:00
Jorrit Herder
0165662cd9
Replaced flagalrm() timers with another technique to check for timeouts.
...
This allowed removing the p_flagarlm timer from the kernel's process table.
Furthermore, I merged p_syncalrm and p_signalrm into p_alarm_timer to save
even more space. Note that processes can no longer have both a signal and
synchronous alarm timer outstanding as of now.
2005-05-31 14:43:04 +00:00
Ben Gras
e673eeee20
compile fixes for kermit and postmort
2005-05-31 12:32:35 +00:00
Ben Gras
135328ac59
Fixed some compiler warnings.
2005-05-31 11:14:37 +00:00
Ben Gras
9e5e6e7b51
Reverse trailer/delay order (delay first)
2005-05-31 11:11:47 +00:00
Jorrit Herder
ea46d51176
Added time.c
2005-05-31 10:57:19 +00:00
Jorrit Herder
322ec9ef8b
Moved stime, time, times POSIX calls from FS to PM. Removed child time
...
accounting from kernel (now in PM). Large amount of files in this commit
is due to system time problems during development.
2005-05-31 09:50:51 +00:00
Ben Gras
cd72f80639
Disabled clearing screen in tty driver, started console printing after an
...
initial 1-line scroll at last line. If clearing screen in trailer of boot
monitor is disabled, all previous boot monitor and console messages are
preserved on rebooting.
All that's needed now is a scrollback buffer to see all old messages..
(Even from the boot monitor, bios, previous boots...)
2005-05-30 15:09:51 +00:00
Ben Gras
5927788cdd
Added 'bootdelay' feature in boot monitor, it pauses a given number of ms
...
so the list of programs in the image and their sizes can be seen before the
kernel starts filling the screen.
Added some formatting fixes in installboot and boot monitor itself,
some of the segments were larger than the formatting allowed.
2005-05-30 15:02:52 +00:00
Jorrit Herder
b421423c77
SENDREC now always has flag FRESH_ANSWER to prevent pending notifications
...
to be used as answer to a SENDREC call.
2005-05-30 11:11:40 +00:00
Jorrit Herder
826fee4c6d
Fixed clear_proc(): properly release resources (IRQ hooks, notify buffers);
...
Cleaned up comments in proc.c (old code still present for comparison);
2005-05-30 11:05:42 +00:00
Ben Gras
fcd113da7b
Imported kermit v2.11
2005-05-30 10:55:32 +00:00
Jorrit Herder
9646824fce
Fixed PM send() failed warning: don't reply to killed process that did reboot.
...
: `VS: Enter Log. Lines beginning with `CVS:' are removed automatically
2005-05-30 09:29:48 +00:00
Jorrit Herder
ed54b1cd6a
Improved shared device driver code: use SELF instead of 'getprocnr'.
2005-05-30 08:51:23 +00:00
Jorrit Herder
852008d669
Kinfo counts lock_notify() and lock_send() calls.
2005-05-27 14:54:40 +00:00
Jorrit Herder
8d9c0886cd
Created ECHO system call for testing purposes.
...
Furthermore, a quick way to get one's own process number.
2005-05-27 13:57:00 +00:00
Jorrit Herder
07d582872f
Fixed a bug in PM: sending of reply messages didn't check if destination
...
process is still alive. This caused a panic in some situations, e.g., when
all processes are killed on a shutdown.
2005-05-27 13:10:58 +00:00
Jorrit Herder
c2be104821
Improved NOTIFY system: fixed a minor error, ignore pending notifications
...
on SENDREC system calls. To be done: resource (buffer pool) management;
make it structurally impossible to run out of buffers.
2005-05-27 12:44:14 +00:00
Jorrit Herder
77c3213948
Optimized scheduling code. Old code is still available withing DEAD_CODE
...
and NEW_SCHED_Q definitions. Some minor problems are being traced at the
moment. This commit is meant to backup my files.
--- Jorrit
2005-05-26 13:17:57 +00:00
Ben Gras
dcffa17db2
this test breaks on the new pre-i/o i/o buffer check. it wants to read
...
more than its buffer allowed, so it is reasonable that it breaks. reducing
read request size 'fixes' it.
2005-05-24 14:57:45 +00:00
Jorrit Herder
0899f82ab2
Fixed some minor issues with the NOTIFY call.
2005-05-24 14:35:58 +00:00
Ben Gras
70cdffcc18
fixed compile breakage
2005-05-24 13:18:29 +00:00
Ben Gras
804cb810d0
added a debugging functionality in system/debugging.c (to check sanity of
...
run queues) and associated prototype in system.h
2005-05-24 12:33:03 +00:00
Ben Gras
168b7f2669
. fixed a recently introduced scheduler (run-queue) bug in proc.c
...
. a little (optional) debugging code added to proc.c and associated
data in proc.h
2005-05-24 12:32:34 +00:00
Ben Gras
0f55ebe90a
Initialisation required for optional debugging code.
2005-05-24 12:30:51 +00:00
Ben Gras
6a3519f3a8
Added 2 checks to mapping function - one for overflow (virtual address +
...
size wraparound), one to see if the size fits in the designated segment.
It seems this check wasn't done. This came to light when trying to pre-check
the users buffer for read() and write() in using the vectored virtual
copy system call in servers/fs/read.c.
2005-05-24 12:30:29 +00:00
Ben Gras
6ea72ca1ee
Make use of vectored virtual copy system call
2005-05-24 12:28:09 +00:00
Ben Gras
4e155167c8
sync after install in case of trouble while shutdowning
2005-05-24 12:03:42 +00:00
Jorrit Herder
ccd17ecfed
New NOTIFY system call! Queued at kernel. Duplicate messages (with same source
...
and type) are overwritten with newer flags/ arguments. The interface from
within the kernel is lock_notify(). User processes can make a system call with
notify(). NOTIFY fully replaces the old notification mechanism.
2005-05-24 10:06:17 +00:00
Ben Gras
80e38daead
freed up use of name 'offset'
2005-05-20 13:27:38 +00:00
Ben Gras
64ecaca24b
Changed something in default no. of inodes in mkfs (I run out of inodes
...
often with the defaults).
Made setup script not make root filesystem with 1kB filesystem blocks,
as that restriction is out of the boot monitor now.
2005-05-20 12:40:46 +00:00
Ben Gras
cafbbedbba
Fix to let FXP driver send messages.
...
Removed banner talking about the known hang-bug (it's fixed,
practically speaking).
2005-05-20 12:39:36 +00:00
Ben Gras
e5a694b126
Added note to indicate how touchy MAX_BLOCK_SIZE is at the moment.
2005-05-20 12:30:37 +00:00
Ben Gras
f8bd2691ec
Removed root filesystem blocksize restriction by reducing boot monitor
...
stack size from 16kB to 8kB. No apparent adverse affects.
2005-05-20 12:30:19 +00:00
Ben Gras
cff515edd8
made time use times() system call to get higher resolution (1/60s clock
...
ticks instead of 1s) for real time measurement.
2005-05-20 10:06:33 +00:00
Jorrit Herder
d0a5a5d007
New system call added to PM: getprocnr(int *proc_nr) (like getpid);
...
Minor update to scheduling code (unready().
2005-05-20 09:37:43 +00:00