Commit graph

111 commits

Author SHA1 Message Date
Ben Gras
911ff6a873 Formatting fixes for the book 2005-08-29 16:47:18 +00:00
Jorrit Herder
5cb414f4d5 Reverted PH copyright to 1987-2001. 2005-08-23 13:10:12 +00:00
Jorrit Herder
b4d7de6ee1 New makefile (src/tools/Makefile) logic:
- make fresh install: still builds new everything (libraries, services, image)
- make clean image: only builds new boot image (about 5 sec. now!)
2005-08-23 12:53:35 +00:00
Jorrit Herder
7bf400a709 *** empty log message *** 2005-08-23 11:31:32 +00:00
Jorrit Herder
10e4e98947 Renamed SM to RS (Reincarnation Server). 2005-08-23 11:28:16 +00:00
Jorrit Herder
5ecb45c346 Improved scheduling: new way to catch infinite loops. 2005-08-23 10:25:01 +00:00
Ben Gras
d11b2e4b8c Al's double-blank-line removal request 2005-08-22 15:23:47 +00:00
Jorrit Herder
872687ddfc Scheduling updates to the kernel. Sched() function now is single point for
policy. Actual policy not yet implemented.

PM calculates nice values for processes in boot image.

IS debug dumps improved (Shift+F1-F4).
2005-08-22 15:14:11 +00:00
Jorrit Herder
a01645b788 New scheduling code in kernel. Work in progress.
Round-robin within one priority queue works fine.
Ageing algorithm to be done.
2005-08-19 16:43:28 +00:00
Jorrit Herder
2a165d972e Moved "Changes" comments from system/do_....c to system.h.
All changes are now in a single header file.
2005-08-10 10:23:55 +00:00
Jorrit Herder
f83ae4b3d1 Minor beautification. 2005-08-10 09:51:29 +00:00
Ben Gras
bfb7608412 various small fixes.
. motd update (ast)
 . made /usr/local/man/man* and made them bin-owned (mtree)
   (to let bin install there)
 . made copyright notice in kernel 1987-2006 (ast)
 . added chown -R bin /usr/src so that bin can compile everything
2005-08-08 14:34:10 +00:00
Ben Gras
b293e689a9 . Allow drivers to to physcopy() (table.c)
. Also allow receive() to be done from kernel processes, not just
  sendrec(). This is because receive()s can't harm the kernel processes,
  but are done from the CLOCK task (without sendrec()).
2005-08-08 12:18:45 +00:00
Jorrit Herder
941b5ebd1c Fix to device table at FS.
BIOS and AT installed in /sbin.
Floppy boot fixed.
2005-08-05 18:57:20 +00:00
Jorrit Herder
1c570a7d93 Second try to fix tick delay problem ... 2005-08-05 17:02:37 +00:00
Jorrit Herder
e396496d8c Fixed small bug in alarm code.
Kernel timer count was not reset after expiry.
2005-08-05 16:46:27 +00:00
Jorrit Herder
b96c389e78 Various small cleanups and comments added. 2005-08-05 09:41:15 +00:00
Jorrit Herder
74711a3b14 Check if kernel calls is allowed (from process' call mask) added. Not yet
enforced. If a call is denied, this will be kprinted. Please report any such
errors, so that I can adjust the mask before returning errors instead of
warnings.

Wrote CMOS driver. All CMOS code from FS has been removed. Currently the
driver only supports get time calls. Set time is left out as an exercise
for the book readers ... startup scripts were updated because the CMOS driver
is needed early on. (IS got same treatment.) Don't forget to run MAKEDEV cmos
in /dev/, otherwise the driver cannot be loaded.
2005-08-04 19:23:03 +00:00
Jorrit Herder
e561081545 Miscellaneous clean ups and fixes to the kernel.
Support for FLOPPY in boot image. (Set controller=fd at boot monitor.)
Moved major device numbers to <minix/dmap.h> (maybe rename to dev.h?)
2005-08-04 09:26:36 +00:00
Jorrit Herder
89cf745fe2 Single boot driver loaded, while multiple can be included in the boot image.
The user needs to set label=... to choose the driver of his or her choice.
This driver will be mapped onto the controller that is set in controller=...

Minor cleanup of kernel source code (boot image table now is static).
2005-08-03 16:06:35 +00:00
Jorrit Herder
1ae4d41d0d Without /dev/boot ... 2005-08-03 14:17:28 +00:00
Jorrit Herder
375f6f8754 Miscellaneous cleanups. 2005-08-03 11:53:36 +00:00
Jorrit Herder
1f450f4959 Test .. no update. 2005-08-03 08:15:36 +00:00
Jorrit Herder
b69ca94efb Fixed 'bug' in log driver that caused kernel messages not to be displayed.
This was caused by a change in the shared driver code. Not log's fault.

Renamed #definitions of driver process numbers, e.g., TTY now is TTY_PROC_NR.
All known (special) processes now have consistent naming scheme. Kernel tasks
don't follow this scheme.
2005-08-03 08:14:08 +00:00
Jorrit Herder
ab7c0a9926 Cleaned up table. Moved policies to table.
Small fixes to do_copy, do_privctl and do_fork.
2005-08-02 15:28:09 +00:00
Jorrit Herder
0946d128cd - Kernel call handlers cleaned up. More strict checking of input parameters.
- Moved generic_handler() from system.c to system/do_irqctl.c.
- Set privileges of system processes somewhat stricter.
2005-07-29 15:26:23 +00:00
Jorrit Herder
d62e515660 Small update to SYS_IRQCTL -> setting an interrupt policy now allows the caller
to provide an index (0 .. 31) that is passed in the HARD_INT message when an
interrupt occurs. The NOTIFY_ARG field contains a bitmap with all indexes for
which an interrupt occured.
2005-07-29 12:44:42 +00:00
Jorrit Herder
bd8762263a *** empty log message *** 2005-07-29 11:50:58 +00:00
Philip Homburg
49c25df569 bios_wini driver 2005-07-29 10:21:04 +00:00
Jorrit Herder
fe0dcb5c00 AT driver is not modified (debugging only);
TTY: select and revive with new notify and FS call back;
kernel: removed old notify code; removed ugly prepare_shutdown timer
kputc: don't send to FS if PRINTF_PROC fails
2005-07-27 14:32:16 +00:00
Ben Gras
31042a5a05 Added SENDREC_BUSY flag to indicate that process is doing sendrec() -
if so, alerts are not received before reply message.
2005-07-27 14:08:59 +00:00
Philip Homburg
93fc19de2c The priority of FS should be lower than that of PM to avoid race conditions
when processes are killed due to a signal.
2005-07-27 11:48:13 +00:00
Ben Gras
dd1186d65d No RDY_Q_HEAD business.. 2005-07-27 07:01:46 +00:00
Jorrit Herder
30d95cad82 Removed debug output. 2005-07-26 14:54:49 +00:00
Jorrit Herder
a41eb700e8 Minor fixes and improvements for sys_call(). 2005-07-26 13:51:21 +00:00
Jorrit Herder
8866b4d0ef Kernel changes:
- reinstalled priority changing, now in sched() and unready()
- reinstalled check on message buffer in sys_call()
- reinstalled check in send masks in sys_call()
- changed do_fork() to get new privilege structure for SYS_PROCs
- removed some processes from boot image---will be dynamically started later
2005-07-26 12:48:34 +00:00
Philip Homburg
153fdabb26 Fixed do_trace to properly return (status) information. 2005-07-25 12:15:05 +00:00
Jorrit Herder
954865e389 *** empty log message *** 2005-07-22 09:59:37 +00:00
Jorrit Herder
80816ab001 *** empty log message *** 2005-07-22 09:20:43 +00:00
Jorrit Herder
f0594a9e6d - Fixed comments in various system call handlers. Work in progress on new
sys_privctl() call to dynamically start servers and drivers.

- Shutdown sequence slightly adjusted: called as watchdog timer to let the
  busy sys_abort() call from the PM return first.

- Changed umap_bios() to have more restrictive check: BIOS memory is now
  allowed in BIOS_MEM_BEGIN to END (interrupt vectors) and BASE_MEM_TOP
  to UPPER_MEM_END. Hopefully this keeps QEMU and Bochs happy.
2005-07-21 18:36:40 +00:00
Jorrit Herder
c0718054e9 Various fixes and improvements.
- fixed bug that caused IDLE to panic (irq hook inconsistency);
- kprintf() now accepts multiple arguments; moved to utility.c;
- prepare_shutdown() signals system processes with SIGKSTOP;
- phys_fill() renamed to phys_memset(), argument order changed;
- kmemset() removed in favor of phys_kmemset();
- kstrncpy() removed in favor of phys_copy();
- katoi, kstrncmp replaced by normal library procedure again;
- rm_irq_handler() interface changed (simply pass hook pointer);
2005-07-20 15:25:38 +00:00
Ben Gras
c24f72d433 Made phys_fill fill its 4-byte pattern any number of bytes (instead of
rounded down to a 4-byte multiple)

Fixed dependency omission
2005-07-19 16:00:25 +00:00
Jorrit Herder
1d7bdd4ab1 *** empty log message *** 2005-07-19 15:01:47 +00:00
Jorrit Herder
b3a28466bb *** empty log message *** 2005-07-19 14:03:21 +00:00
Jorrit Herder
198c976f7e System processes can be signaled; signals are transformed in SYS_EVENT message
that passes signal map along. This mechanisms is also used for nonuser signals
like SIGKMESS, SIGKSTOP, SIGKSIG.

Revised comments of many system call handlers. Renamed setpriority to nice.
2005-07-19 12:21:36 +00:00
Philip Homburg
7d4e914618 Random number generator 2005-07-18 15:40:24 +00:00
Ben Gras
1f756d377a Made memset system call listen to character argument 2005-07-18 12:31:11 +00:00
Ben Gras
42e6d20afe Changed phys_zero to phys_fill, which accepts a 4-byte argument saying what
to fill with. Changed prototype and call to match.
2005-07-18 12:18:16 +00:00
Jorrit Herder
2c730e8a8c Renamed file. 2005-07-14 15:27:40 +00:00
Jorrit Herder
312c004519 *** empty log message *** 2005-07-14 15:26:26 +00:00