Commit graph

218 commits

Author SHA1 Message Date
Ben Gras
4bae163d37 High watermark memory usage feature 2005-10-18 17:21:11 +00:00
Ben Gras
ee5940e097 Print quant as signed number so a 'scheduling defecit' appears as such 2005-10-17 14:06:08 +00:00
Ben Gras
b1ca4d2d42 Check for ZOMBIE flag with findproc 2005-10-17 13:20:07 +00:00
Ben Gras
abd0b53e0a PM: added possibility to copy hole list from alloc.c to outside, for
misc.c to copy it away by getsysinfo
IS: prints out hole list + stats such as largest contiguous chunk
2005-10-13 12:48:43 +00:00
Jorrit Herder
5a9dec8bd2 New signal handling behaviour at PM (services can be killed).
New Shift-F6 dump for RS server at IS.
New getnpid, getnproc, getpproc library calls at PM.
New reincarnation server (basic functionality is there now).
2005-10-12 15:07:38 +00:00
Ben Gras
46678bdb7f Compile fix 2005-10-12 15:07:26 +00:00
Ben Gras
fc58687905 rw_block is private to cache.c 2005-10-12 15:06:47 +00:00
Ben Gras
2eca6f9374 If processes are blocked on device drivers (returning SUSPEND),
unblock the processes when the device drivers die.
2005-10-12 15:01:23 +00:00
Ben Gras
4dfe841667 No driver in dmap is NONE instead of 0. 2005-10-10 14:27:41 +00:00
Ben Gras
86ed54ee94 FS:
. unmap device drivers from dmap when PM signals they are dead
	. new null-io function (no_dev_io) to fill in for io functions
	  of unmapped drivers
	. driver (process number) of unmapped drivers is NONE instead of
	  0 (a valid process number)

IS:
	. print mutable flag of dmap table too

FS changes require sync() to be done 'manually' (currently by
reboot/shutdown) at shutdown time; could be caught by SIGTERM in
the future.
2005-10-05 15:38:15 +00:00
Ben Gras
2986c11811 DEV_UNMAP devctl()
FSDEVUNMAP svrctl()
2005-10-03 14:17:33 +00:00
Ben Gras
8c4166ee85 Add SIGWINCH signal and functionality in tty and support in PM. 2005-10-03 12:03:57 +00:00
Philip Homburg
42e1dad99c Hack to provide kernel with space for page table. 2005-09-30 12:56:00 +00:00
Philip Homburg
5f7b803dcd Asynchronous connect (for non-blocking socket connect emulation) 2005-09-30 12:44:39 +00:00
Ben Gras
231488dd1c Al's patch 2005-09-23 20:46:17 +00:00
Ben Gras
40ca9c0a8e Als select.c fixes. 2005-09-22 21:17:22 +00:00
Ben Gras
6a44098b96 Added Shift+F5 debug dump - show debug dumps. 2005-09-22 12:21:26 +00:00
Ben Gras
dabaebfeb2 No more F9 2005-09-22 11:41:47 +00:00
Ben Gras
42fbd9aced Andy's formatting changes. 2005-09-11 16:45:46 +00:00
Ben Gras
119f9c714c diagnostics will look funny during setup 2005-09-08 16:00:44 +00:00
Ben Gras
c1de7758b7 Jorrit's fixes after reviewing Al's PM chapter 2005-09-01 10:16:07 +00:00
Philip Homburg
4d3e666043 Less debug output 2005-08-31 14:20:49 +00:00
Ben Gras
a9302ba6e3 Propagate EXTRA_OPTS 2005-08-29 20:00:49 +00:00
Ben Gras
a565c350e1 propagate EXTRA_OPTS 2005-08-29 20:00:39 +00:00
Ben Gras
911ff6a873 Formatting fixes for the book 2005-08-29 16:47:18 +00:00
Jorrit Herder
68da9cc0fe *** empty log message *** 2005-08-25 12:33:09 +00:00
Jorrit Herder
207f4731dc FS cleanup with gcc. 2005-08-25 12:30:43 +00:00
Jorrit Herder
46c8884e36 Cleanup with gcc. Removed unused variables.
Fixed some uninitialized problems.
2005-08-25 12:05:09 +00:00
Jorrit Herder
a238c1ba48 Cleanup with gcc. 2005-08-25 12:04:36 +00:00
Ben Gras
4da92e20db Don't keep looping on bogus device message. 2005-08-24 16:57: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
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
Ben Gras
f4402bd129 Al's patch of fri 19 aug 2005 2005-08-22 12:54: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
Ben Gras
b4d4450d2d Al's patch sent mon 15 aug. 2005-08-16 11:37:33 +00:00
Ben Gras
2382b9a1d3 Don't allow arbitrary ram disks being loaded any more, due to funny check. 2005-08-11 11:32:37 +00:00
Ben Gras
abeebb1ac9 Little formatting fix. 2005-08-10 15:18:13 +00:00
Ben Gras
244b1db564 Remove debug messages 2005-08-10 15:13:13 +00:00
Jorrit Herder
79ade04187 Put boot device memory initialization with #ifdef ENABLE_BOOTDEV ... #endif 2005-08-10 09:45:49 +00:00
Jorrit Herder
ab732a37e8 Renamed mm_exit to pm_exit (requested by Al)
Small cleanup in pm_init.
2005-08-10 09:37:54 +00:00
Ben Gras
9d92258e55 Minor message improvement 2005-08-09 17:02:27 +00:00
Philip Homburg
2f56b477c0 Fixed mq leak. 2005-08-08 15:49:16 +00:00
Ben Gras
48469b737b Prettier error message in FS if block size too large 2005-08-08 12:17:30 +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
Ben Gras
5d2588aedf Al's patch sent Fri aug 5 2005-08-05 16:56:02 +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
Philip Homburg
655d1e074f get_mon_params -> env_get_params. 2005-08-05 16:21:32 +00:00
Ben Gras
5cd584b1bb reduced cdprobe debug; stadir unbreakfix 2005-08-05 16:08:49 +00:00
Ben Gras
abb7157175 Merged do_gettimeofday with do_time to save one function call;
adjusted table.c accordingly
2005-08-05 12:44:06 +00:00
Jorrit Herder
7e74927cdc Cleanup of PM. 2005-08-05 10:45:54 +00:00
Jorrit Herder
8d66f755c3 Fixed type.
Added patch from Al Woodhull.
2005-08-04 22:01:50 +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
3f28baac83 Disabled comments from FXP driver with #define VERBOSE 0.
Fixed all troubles reported at shutdown.
No more illegal FS calls by dead processes.
2005-08-03 16:58:22 +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
Philip Homburg
c12b74dad5 Random is now a separate driver. 2005-08-03 15:22:41 +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
Philip Homburg
547bf3ac36 Implemented some boundary cases for LISTENQ. 2005-08-03 11:15:39 +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
89d86ddb9c Utility to dynamically start system services. 2005-08-02 16:00:07 +00:00
Jorrit Herder
0bd61375ad Miscellaneous small fixes to prettify startup output. 2005-08-02 15:56:24 +00:00
Jorrit Herder
f44725b777 Created new devctl system call to FS. Moved dmap.h header to include/minix/.
Various updates to support dynamically starting servers and suppress output.
2005-08-02 15:29:17 +00:00
Jorrit Herder
1198491af2 *** empty log message *** 2005-07-29 15:33:31 +00:00
Jorrit Herder
d3874a7917 Updated servers according to syslib interface changes. 2005-07-29 15:00:49 +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
Philip Homburg
49c25df569 bios_wini driver 2005-07-29 10:21:04 +00:00
Philip Homburg
92d44e8108 Replaced REVIVE and select/notify with alert and DEV_STATUS. 2005-07-27 16:35:16 +00:00
Ben Gras
3292badc37 Added dup_inode to fchdir() call. Still not sure if it is correct now. 2005-07-27 16:04:26 +00:00
Ben Gras
ed6459b304 *** empty log message *** 2005-07-27 14:30:25 +00:00
Ben Gras
b924ce0726 Prettify scheduling queue prints 2005-07-27 14:30:17 +00:00
Ben Gras
08934187c9 FS understanding revives and selects as alerts (new notifies) 2005-07-27 13:08:52 +00:00
Philip Homburg
dd7220f234 Listen/accept. Read select for UDP. 2005-07-27 12:07:12 +00:00
Philip Homburg
3aadb79b1b 3 -> T_GETUSER 2005-07-27 12:03:09 +00:00
Philip Homburg
aa994b48ee Do not accept requests from dead processes. 2005-07-27 12:01:11 +00:00
Ben Gras
2b810f6923 Prettier s_flags printing 2005-07-27 07:00:20 +00:00
Jorrit Herder
a41eb700e8 Minor fixes and improvements for sys_call(). 2005-07-26 13:51:21 +00:00
Ben Gras
10aa135d82 Minor cdprobe message additions; usyslogd logs shorter lines 2005-07-26 13:23:13 +00:00
Jorrit Herder
4bf6edfd14 Framework (and some functionality) for new server ...
Work in progress ...
2005-07-26 13:08:57 +00:00
Jorrit Herder
3d0b9140f2 Updated F4 dump at IS to include send masks.
Removed unused constant from fproc.h
Changed signal behaviour at PM (work in progress)
2005-07-26 12:49:35 +00:00
Ben Gras
ca80161f40 . Junk-filling gap+stack code on exec() if enabled (not enabled now)
. Allow 'boot monitor' variable changes and additions by svrctl call
2005-07-22 18:29:58 +00:00
Ben Gras
6e8f484b3b . added cd-probe logic; tries to find the right root filesystem
if the boot monitor parameter is set. it also sets a boot monitor
  parameter (by talking to the PM) so userland knows it.
. ramdisk copy code made slightly smarter
. various select() prettifications (work in progress)
2005-07-22 18:28:32 +00:00
Jorrit Herder
b9b334c38c Functionality moved from IS to LOG driver. 2005-07-22 11:05:56 +00:00
Jorrit Herder
808202ee30 Removed printing functionality from IS server.
This functionality is now provided by the LOG driver.
2005-07-21 18:31:27 +00:00
Jorrit Herder
f1153541c7 Fixed bug in PM that caused update program not to be scheduled, so that
sync was not periodically run. Chain of timers was accidentially broken.

Kernel sends SIGKSTOP signal on shutdown. FS calls sync to clean up.
2005-07-20 15:27:42 +00:00
Ben Gras
d5d9764dbb Uninitialised field at init 2005-07-20 14:04:19 +00:00
Jorrit Herder
5594b767c0 Renamed src/lib/utils to src/lib/sysutil --- because of new src/lib/util 2005-07-19 13:21:51 +00:00
Jorrit Herder
f2e16763e7 Removed PM signon for INET. Now daemonized in /usr/etc/rc.
SIGTRAP generated in PM (where it belongs / no longer in kernel).
Updated Makefiles: servers are now installed in /usr/sbin.
2005-07-19 12:11:11 +00:00
Jorrit Herder
eba45510a9 New alarm(2) timers mechanism.
Kernel no longer keeps track of user alarms on behalf of the PM.
Instead, the PM maintains its own list of watchdog timers, and
uses one synchronous alarm (at the kernel) to get notifications
for expired user timers.
2005-07-14 15:30:12 +00:00
Jorrit Herder
570eac1f53 Renamed system library functionality.
Updated debug dumps of IS server.
2005-07-14 15:16:12 +00:00
Philip Homburg
c60f3ff846 Select patches for TCP read and write. TCP support for FIONREAD. 2005-07-11 13:02:59 +00:00
Ben Gras
42050e39f8 kernel and servers send diagnostic messages to IS; IS sends them to TTY
and the new log driver if enabled.

new usyslogd is started from /usr/etc/rc. New device created by
MAKEDEV.sh. /var/log created by etc/mtree/minix.tree (on root for
now). Made select() slightly more generic, with less code duplication.
2005-07-08 17:30:01 +00:00
Ben Gras
f0817fbd4c complete, tick-resolution gettimeofday() implementation 2005-07-06 07:08:36 +00:00
Ben Gras
493ab97a8d fixed small operator priority bug; ! has higher precedence than & in
(!flags & FLAGCHECK)
2005-07-05 11:08:15 +00:00
Ben Gras
904cf1f84d A "fix" for bug no. 2 is to check if the process slot has disappeared.
Not a really good solution (as it might not catch situations in which this
is caused by another bug), but the forrest of checks necessary might be worse
than this quick fix - because when looking for the cause, I found some other
cases in which the PM would panic as well. See info in bug 2 for details.

Another fix is to delay notification of PM by SYSTASK of signals delivered
internally until after the reply (e.g. of exec()), because the reply would
be messed up otherwise (receiving the notify instead of reply). This caused
SIGTRAP not to be delivered properly with traced processes.
2005-07-04 15:20:46 +00:00
Ben Gras
08f67dcef7 . Added printing of ppid to PM dump output
. made PM pid 0, own parent (so ppid 0) instead of -1
2005-07-04 09:36:16 +00:00
Ben Gras
9cf24c3233 Calls and functionality for get/setpriority() and fsync(). 2005-07-01 17:58:29 +00:00
Jorrit Herder
c349ef942a Changes scheduling priorities for nice(). 2005-07-01 09:08:41 +00:00