Commit graph

72 commits

Author SHA1 Message Date
Ben Gras 3512a86b44 . DS understands publishing and subscribing where keys are in string
form. Subscriptions are regular expressions.
 . different types are stored per key; currently u32 and/or string.
   the same key can be referenced (publish, subscribe, check) as any type.
 . notify()s are sent when subscriptions are triggered (publishing or
   updating of matching keys); optionally, a subscribe flag sends
   updates for all matching keys at subscription time, instead of only
   after updates after subscribing
 . all interfacing to ds is in /usr/src/lib/syslib/ds.c.
 . subscribe is ds_subscribe
   publish functions are ds_publish_<type>
   retrieve functions are ds_retrieve_<type> (one-time retrieval of a value)
   check functions are ds_check_<type> (check for updated key caller
      subscribes to not yet checked for, or ESRCH for none)
 . ramdisk driver updated with new ds interface
2006-07-13 14:50:23 +00:00
Ben Gras 46646a49a8 Don't print cloexec 2006-06-28 10:04:32 +00:00
Philip Homburg 8dfac43a75 Print ipc_to in hex. Also print the 'system' call mask. 2006-06-23 13:27:03 +00:00
Ben Gras 7a76a7a495 Rename protected to prot
Also print size of grant table known in system
2006-06-20 10:03:48 +00:00
Philip Homburg 14b7a72ba3 Init need more space (the results of removing the special case for init in
adjust in PM). Better flags dump in IS.
2006-05-11 15:00:46 +00:00
Jorrit Herder 021e3234d8 Jorrit's ... "progress?" 2006-03-10 16:10:05 +00:00
Ben Gras acb804f0bd RS formatting fixes 2006-03-08 14:37:26 +00:00
Ben Gras 10eeb788f9 Generation number printed too 2006-03-03 16:34:37 +00:00
Ben Gras 7967177710 endpoint-aware conversion of servers.
'who', indicating caller number in pm and fs and some other servers, has
been removed in favour of 'who_e' (endpoint) and 'who_p' (proc nr.).

In both PM and FS, isokendpt() convert endpoints to process slot
numbers, returning OK if it was a valid and consistent endpoint number.
okendpt() does the same but panic()s if it doesn't succeed. (In PM,
this is pm_isok..)

pm and fs keep their own records of process endpoints in their proc tables,
which are needed to make kernel calls about those processes.

message field names have changed.

fs drivers are endpoints.

fs now doesn't try to get out of driver deadlock, as the protocol isn't
supposed to let that happen any more. (A warning is printed if ELOCKED
is detected though.)

fproc[].fp_task (indicating which driver the process is suspended on)
became an int.

PM and FS now get endpoint numbers of initial boot processes from the
kernel. These happen to be the same as the old proc numbers, to let
user processes reach them with the old numbers, but FS and PM don't know
that. All new processes after INIT, even after the generation number
wraps around, get endpoint numbers with generation 1 and higher, so
the first instances of the boot processes are the only processes ever
to have endpoint numbers in the old proc number range.

More return code checks of sys_* functions have been added.

IS has become endpoint-aware. Ditched the 'text' and 'data' fields
in the kernel dump (which show locations, not sizes, so aren't terribly
useful) in favour of the endpoint number. Proc number is still visible.

Some other dumps (e.g. dmap, rs) show endpoint numbers now too which got
the formatting changed.

PM reading segments using rw_seg() has changed - it uses other fields
in the message now instead of encoding the segment and process number and
fd in the fd field. For that it uses _read_pm() and _write_pm() which to
_taskcall()s directly in pm/misc.c.

PM now sys_exit()s itself on panic(), instead of sys_abort().

RS also talks in endpoints instead of process numbers.
2006-03-03 10:20:58 +00:00
Philip Homburg b6d12e81aa Change to some debug code. 2006-02-24 12:55:00 +00:00
Philip Homburg 21163c8da2 Print masked IRQs. 2006-01-12 14:41:40 +00:00
Jorrit Herder d4e111c05d I forgot to enter this file so my disembodied ghost is committing it
through the body of ben.
2005-10-20 21:30:36 +00:00
Jorrit Herder 288860f6e6 New dumps for RS and DS server. 2005-10-20 20:28:54 +00:00
Ben Gras f6bdd6a4a9 New DMAP_BABY flag in <minix/dmap.h> and to be printed by IS in dmap dump. 2005-10-20 19:40:44 +00:00
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 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 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 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
Jorrit Herder a238c1ba48 Cleanup with gcc. 2005-08-25 12:04:36 +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
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 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 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 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 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
Ben Gras b924ce0726 Prettify scheduling queue prints 2005-07-27 14:30:17 +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
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
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
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 570eac1f53 Renamed system library functionality.
Updated debug dumps of IS server.
2005-07-14 15:16:12 +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 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
Jorrit Herder c349ef942a Changes scheduling priorities for nice(). 2005-07-01 09:08:41 +00:00
Jorrit Herder bfa25ba41f Changed debug dumps of kernel process table (F1) 2005-06-30 15:55:43 +00:00
Ben Gras 6be8c4d8a3 Import of dpeth 3c501/3c509b/.. ethernet driver by
Giovanni Falzoni <fgalzoni@inwind.it>.
2005-06-29 10:16:46 +00:00