Commit graph

125 commits

Author SHA1 Message Date
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
Jorrit Herder
307c825515 New NOTIFY trap (IPC call) to send queued notification messages.
The call works. Permission check, restriction of outstanding notifications
to be added. Low level code to make it work from within interrupt handlers
will be added as well.
2005-05-19 14:05:51 +00:00
Philip Homburg
129b82d207 Added fxp driver for the Intel Pro/100 series ethernet cards
Print PC in hex for easier debugging.
2005-05-19 13:27:05 +00:00
Jorrit Herder
2ebe535030 *** empty log message *** 2005-05-19 09:38:29 +00:00
Jorrit Herder
1cb880b158 Intermediate update---please await next commit. 2005-05-19 09:36:44 +00:00
Jorrit Herder
614f49b557 Fixed some comments and reorganized some code.
Fixed minor bug in notify() function.
2005-05-18 10:36:23 +00:00
Ben Gras
821dfb06ed Minor fixes. (Skip test 28 LINK_MAX links generation, it takes too long.) 2005-05-17 08:40:32 +00:00
Ben Gras
b42be3741b pre-release cleanup nit 2005-05-13 14:57:29 +00:00
Ben Gras
454c3449b3 Oops, set hash table size to non-power-of-two 2005-05-13 14:57:09 +00:00
Ben Gras
33bc71c3f5 Don't cache /dev/ram blocks 2005-05-13 13:42:07 +00:00
Ben Gras
7f52483b9f Release process to use and create 16MB root; FS setcache call removed 2005-05-13 12:47:35 +00:00
Ben Gras
d422461289 Started rs232 porting to userland; increased version number for new cd. 2005-05-13 12:29:10 +00:00
Ben Gras
e248f7c1a3 If the file (created by setup) exists, use boot parameters from there
for the boot floppy instead of copying it from the current root partition.
This makes making a boot floppy at installation time before booting from
the new system possible (conveniently).
2005-05-13 12:27:42 +00:00
Ben Gras
6f9848f51c Added feature to remember root parameter in /usr/src/tools, so make fdboot
will know how to make a boot floppy before actually booting from the new
system.
2005-05-13 12:26:40 +00:00
Ben Gras
b480fa7c18 removed dead code bits 2005-05-13 11:45:12 +00:00
Ben Gras
78fd966125 DONT_SWAP not used 2005-05-13 11:44:16 +00:00