Various small cleanups and comments added.
This commit is contained in:
parent
8476ceac22
commit
b96c389e78
19 changed files with 59 additions and 12 deletions
|
@ -8,22 +8,21 @@
|
||||||
* Changes:
|
* Changes:
|
||||||
* Mar 18, 2004 clock interface moved to SYSTEM task (Jorrit N. Herder)
|
* Mar 18, 2004 clock interface moved to SYSTEM task (Jorrit N. Herder)
|
||||||
* Sep 30, 2004 source code documentation updated (Jorrit N. Herder)
|
* Sep 30, 2004 source code documentation updated (Jorrit N. Herder)
|
||||||
* Sep 24, 2004 redesigned timers and alarms (Jorrit N. Herder)
|
* Sep 24, 2004 redesigned alarm timers (Jorrit N. Herder)
|
||||||
*
|
*
|
||||||
* The function do_clocktick() is not triggered from the clock library, but
|
* The function do_clocktick() is not triggered by the clock's interrupt
|
||||||
* by the clock's interrupt handler when a watchdog timer has expired or
|
* handler when a watchdog timer has expired or a process must be scheduled.
|
||||||
* another user process must be scheduled.
|
|
||||||
*
|
*
|
||||||
* In addition to the main clock_task() entry point, which starts the main
|
* In addition to the main clock_task() entry point, which starts the main
|
||||||
* loop, there are several other minor entry points:
|
* loop, there are several other minor entry points:
|
||||||
* clock_stop: called just before MINIX shutdown
|
* clock_stop: called just before MINIX shutdown
|
||||||
* get_uptime: get realtime since boot in clock ticks
|
* get_uptime: get realtime since boot in clock ticks
|
||||||
* set_timer: set a watchdog timer (*, see note below!)
|
* set_timer: set a watchdog timer (+)
|
||||||
* reset_timer: reset a watchdog timer (*)
|
* reset_timer: reset a watchdog timer (+)
|
||||||
* calc_elapsed: do timing measurements: get delta ticks and pulses
|
* calc_elapsed: do timing measurements: get delta ticks and pulses
|
||||||
* read_clock: read the counter of channel 0 of the 8253A timer
|
* read_clock: read the counter of channel 0 of the 8253A timer
|
||||||
*
|
*
|
||||||
* (*) The CLOCK task keeps tracks of watchdog timers for the entire kernel.
|
* (+) The CLOCK task keeps tracks of watchdog timers for the entire kernel.
|
||||||
* The watchdog functions of expired timers are executed in do_clocktick().
|
* The watchdog functions of expired timers are executed in do_clocktick().
|
||||||
* It is crucial that watchdog functions cannot block, or the CLOCK task may
|
* It is crucial that watchdog functions cannot block, or the CLOCK task may
|
||||||
* be blocked. Do not send() a message when the receiver is not expecting it.
|
* be blocked. Do not send() a message when the receiver is not expecting it.
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
* get_randomness: accumulate randomness in a buffer
|
* get_randomness: accumulate randomness in a buffer
|
||||||
*
|
*
|
||||||
* Changes:
|
* Changes:
|
||||||
* 2004 to 2005 many new system calls (see system.h) (Jorrit N. Herder)
|
|
||||||
* Aug 04, 2005 check if kernel call is allowed (Jorrit N. Herder)
|
* Aug 04, 2005 check if kernel call is allowed (Jorrit N. Herder)
|
||||||
* Jul 20, 2005 send signal to services with message (Jorrit N. Herder)
|
* Jul 20, 2005 send signal to services with message (Jorrit N. Herder)
|
||||||
* Jan 15, 2005 new, generalized virtual copy function (Jorrit N. Herder)
|
* Jan 15, 2005 new, generalized virtual copy function (Jorrit N. Herder)
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
* m5_l2: CP_DST_ADDR
|
* m5_l2: CP_DST_ADDR
|
||||||
* m5_i2: CP_DST_PROC_NR
|
* m5_i2: CP_DST_PROC_NR
|
||||||
* m5_l3: CP_NR_BYTES
|
* m5_l3: CP_NR_BYTES
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jan 20, 2005 updated to use new virtual_copy() (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* m2_i1: DIO_TYPE (flag indicating byte, word, or long)
|
* m2_i1: DIO_TYPE (flag indicating byte, word, or long)
|
||||||
* m2_l1: DIO_PORT (port to read/ write)
|
* m2_l1: DIO_PORT (port to read/ write)
|
||||||
* m2_l2: DIO_VALUE (value to write/ return value read)
|
* m2_l2: DIO_VALUE (value to write/ return value read)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Feb 02, 2004 created to support user-space drivers (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
*
|
*
|
||||||
* The parameters for this system call are:
|
* The parameters for this system call are:
|
||||||
* m1_i1: PR_PROC_NR (slot number of exiting process)
|
* m1_i1: PR_PROC_NR (slot number of exiting process)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Sep 09, 2004 updated to allow services to exit (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
* m1_i1: I_VAL_LEN (maximum length expected, optional)
|
* m1_i1: I_VAL_LEN (maximum length expected, optional)
|
||||||
* m1_p2: I_VAL_PTR2 (second, optional pointer)
|
* m1_p2: I_VAL_PTR2 (second, optional pointer)
|
||||||
* m1_i2: I_VAL_LEN2 (second length or process nr)
|
* m1_i2: I_VAL_LEN2 (second length or process nr)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* May 24, 2004 Created. (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
* m2_i1: SIG_PROC # process with pending signals
|
* m2_i1: SIG_PROC # process with pending signals
|
||||||
* m2_l1: SIG_MAP # bit map with pending signals
|
* m2_l1: SIG_MAP # bit map with pending signals
|
||||||
*
|
*
|
||||||
|
* Changes:
|
||||||
|
* Oct 24, 2004 Created. (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
*
|
*
|
||||||
* The parameters for this system call are:
|
* The parameters for this system call are:
|
||||||
* m1_p1: INT86_REG86
|
* m1_p1: INT86_REG86
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jul 30, 2005 created to support BIOS driver (Philip Homburg)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
* m5_i1: IRQ_POLICY (irq policy allows reenabling interrupts)
|
* m5_i1: IRQ_POLICY (irq policy allows reenabling interrupts)
|
||||||
* m5_l3: IRQ_HOOK_ID (provides index to be returned on interrupt)
|
* m5_l3: IRQ_HOOK_ID (provides index to be returned on interrupt)
|
||||||
* ,, ,, (returns index of irq hook assigned at kernel)
|
* ,, ,, (returns index of irq hook assigned at kernel)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Feb 24, 2004 Created to support user-space drivers (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
* The parameters for this system call are:
|
* The parameters for this system call are:
|
||||||
* m2_i1: SIG_PROC # process to signal/ pending
|
* m2_i1: SIG_PROC # process to signal/ pending
|
||||||
* m2_i2: SIG_NUMBER # signal number to send to process
|
* m2_i2: SIG_NUMBER # signal number to send to process
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jul 09, 2005 updated to signal system processes (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* m2_p1: MEM_PTR (virtual address)
|
* m2_p1: MEM_PTR (virtual address)
|
||||||
* m2_l1: MEM_COUNT (returns physical address)
|
* m2_l1: MEM_COUNT (returns physical address)
|
||||||
* m2_l2: MEM_PATTERN (size of datastructure)
|
* m2_l2: MEM_PATTERN (size of datastructure)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jun 21, 2005 created to speed up exec(2) (Ben J. Gras)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
* The parameters for this system call are:
|
* The parameters for this system call are:
|
||||||
* m1_i1: PR_PROC_NR process number to change priority
|
* m1_i1: PR_PROC_NR process number to change priority
|
||||||
* m1_i2: PR_PRIORITY the new priority
|
* m1_i2: PR_PRIORITY the new priority
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jun 21, 2005 created for nice(2) system call (Ben J. Gras)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
*
|
*
|
||||||
* The parameters for this system call are:
|
* The parameters for this system call are:
|
||||||
* m1_i1: PR_PROC_NR (process number of caller)
|
* m1_i1: PR_PROC_NR (process number of caller)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jul 13, 2005 created to dynamically start services (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
* m2_p1: DIO_VEC_ADDR (virtual address of buffer)
|
* m2_p1: DIO_VEC_ADDR (virtual address of buffer)
|
||||||
* m2_l2: DIO_VEC_SIZE (number of elements)
|
* m2_l2: DIO_VEC_SIZE (number of elements)
|
||||||
* m2_i2: DIO_VEC_PROC (process where buffer is)
|
* m2_i2: DIO_VEC_PROC (process where buffer is)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* May 24, 2004 Created to support user-space drivers (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
* m4_l1: SEG_SELECT (return segment selector here)
|
* m4_l1: SEG_SELECT (return segment selector here)
|
||||||
* m4_l2: SEG_OFFSET (return offset within segment here)
|
* m4_l2: SEG_OFFSET (return offset within segment here)
|
||||||
* m4_l5: SEG_INDEX (return index into remote memory map here)
|
* m4_l5: SEG_INDEX (return index into remote memory map here)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Jul 13, 2004 created to support user-space drivers (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
#include "../protect.h"
|
#include "../protect.h"
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
|
/* This file provides a catch-all handler for unused system calls. A system
|
||||||
|
* call may be unused when it is not defined or when it is disabled in the
|
||||||
|
* kernel's configuration.
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Oct 10, 2004 created (Jorrit N. Herder)
|
||||||
|
*/
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
|
@ -7,8 +13,7 @@
|
||||||
PUBLIC int do_unused(m)
|
PUBLIC int do_unused(m)
|
||||||
message *m; /* pointer to request message */
|
message *m; /* pointer to request message */
|
||||||
{
|
{
|
||||||
kprintf("SYSTEM got unused request %d", m->m_type);
|
kprintf("SYSTEM: got unused request %d from %d", m->m_type, m->m_source);
|
||||||
kprintf("from %d.\n", m->m_source);
|
|
||||||
return(EBADREQUEST); /* illegal message type */
|
return(EBADREQUEST); /* illegal message type */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* m1_i3: VCP_VEC_SIZE size of copy request vector
|
* m1_i3: VCP_VEC_SIZE size of copy request vector
|
||||||
* m1_p1: VCP_VEC_ADDR address of vector at caller
|
* m1_p1: VCP_VEC_ADDR address of vector at caller
|
||||||
* m1_i2: VCP_NR_OK number of successfull copies
|
* m1_i2: VCP_NR_OK number of successfull copies
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Apr 12, 2005 updated to use new virtual_copy() (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* m2_i1: DIO_TYPE (flag indicating byte, word, or long)
|
* m2_i1: DIO_TYPE (flag indicating byte, word, or long)
|
||||||
* m2_p1: DIO_VEC_ADDR (pointer to port/ value pairs)
|
* m2_p1: DIO_VEC_ADDR (pointer to port/ value pairs)
|
||||||
* m2_i2: DIO_VEC_SIZE (number of ports to read or write)
|
* m2_i2: DIO_VEC_SIZE (number of ports to read or write)
|
||||||
|
*
|
||||||
|
* Changes:
|
||||||
|
* Apr 18, 2004 created to support user-space drivers (Jorrit N. Herder)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../system.h"
|
#include "../system.h"
|
||||||
|
|
|
@ -72,7 +72,7 @@ PUBLIC char *t_stack[TOT_STACK_SPACE / sizeof(char *)];
|
||||||
#define DRV_M (USR_M | s(SYSTEM) | s(CLOCK) | s(LOG_PROC_NR) | s(TTY_PROC_NR))
|
#define DRV_M (USR_M | s(SYSTEM) | s(CLOCK) | s(LOG_PROC_NR) | s(TTY_PROC_NR))
|
||||||
|
|
||||||
/* Define kernel calls that processes are allowed to make. This is not looking
|
/* Define kernel calls that processes are allowed to make. This is not looking
|
||||||
* very nice, but we really need to set access rights on a per call basis.
|
* very nice, but we need to define the access rights on a per call basis.
|
||||||
* Note that the system services manager has all bits on, because it should
|
* Note that the system services manager has all bits on, because it should
|
||||||
* be allowed to distribute rights to services that it starts.
|
* be allowed to distribute rights to services that it starts.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue