89332ecdf1
- change "vid/did" to "vid:did", old form still supported for now; - allow "vid:did/subvid:subdid" specification in system.conf, in which case a device will be visible to a driver if the subsystem VID/DID also match. Change-Id: I7aef54da1b0bc81e24b5d98f1a28416f38f8b266
181 lines
6.1 KiB
Groff
181 lines
6.1 KiB
Groff
.TH SYSTEM.CONF 5
|
|
.SH NAME
|
|
system.conf \- operating system service configuration
|
|
.SH SYNOPSIS
|
|
.B /etc/system.conf
|
|
.SH DESCRIPTION
|
|
.de SP
|
|
.if t .sp 0.4
|
|
.if n .sp
|
|
..
|
|
The file
|
|
.B /etc/system.conf
|
|
is the global system configuration file that contains the
|
|
configuration for all the primary system services. This is the file
|
|
that the \fBservice\fR utility uses by default. Custom configuration
|
|
files with the same format can be specified on a per-service basis. See
|
|
.BR service (8)
|
|
for more details.
|
|
|
|
This page is a summary of all the elements that can be found in this
|
|
configuration file.
|
|
.PP
|
|
The syntax used is that of the common configuration file described in
|
|
.BR configfile (5).
|
|
.PP
|
|
The \fBservice\fR utility scans the configuration file from beginning to end
|
|
to gather information about a specific system service when starting or
|
|
updating the properties of a service.
|
|
The file contains a collection of service entries of the form:
|
|
|
|
.nf
|
|
\fBservice\fR \fI<program_name>\fR
|
|
\fB{\fR
|
|
\fI[option 1]\fR
|
|
\fI[option 2]\fR
|
|
...
|
|
\fI[option N]\fR
|
|
\fB};\fR
|
|
.fi
|
|
.PP
|
|
where \fI<program_name>\fR is the name of the program used to start the
|
|
given system service. In each service entry, the following options can
|
|
be used:
|
|
.PP
|
|
\fBuid\fR \fI<uid|SELF|user name>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the user id or the user name to use to run the system service.
|
|
\fISELF\fR can be used when the service has to start with the realuid of
|
|
the user who's executing the \fBservice\fR utility.
|
|
Many system services run with root privileges (uid \fB0\fR).
|
|
The default user is service (uid \fB12\fR).
|
|
.RE
|
|
.PP
|
|
\fBipc\fR \fI<ALL|ALL_SYS|NONE|name1 name2...nameN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of ipc targets (processes and kernel) the system service can
|
|
talk to. \fIALL\fR allows all the possible targets, \fIALL_SYS\fR is similar but
|
|
excludes user processes. When an explicit list is given, each target
|
|
must be identified by its process (binary) name.
|
|
Exceptions are user processes (use pseudo-name \fIUSER\fR) and
|
|
the kernel for kernel calls (use pseudo-name \fISYSTEM\fR). The default is
|
|
\fIALL_SYS\fR.
|
|
.RE
|
|
.PP
|
|
\fBsystem\fR \fI<ALL|BASIC|NONE|kcall1 kcall2...kcallN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of kernel calls the system service is allowed to call.
|
|
\fIALL\fR allows all the kernel calls, \fIBASIC\fR only allows basic kernel
|
|
calls (see macro \fBSYS_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
|
|
\fINONE\fR allows no kernel call. This option only makes sense if the
|
|
option \fBipc\fR includes the kernel as a valid target.
|
|
The default is \fIBASIC\fR.
|
|
.RE
|
|
.PP
|
|
\fBvm\fR \fI<ALL|BASIC|NONE|vmcall1 vmcall2...vmcallN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of VM calls the system service is allowed to call.
|
|
\fIALL\fR allows all the VM calls, \fIBASIC\fR only allows basic VM
|
|
calls (see macro \fBVM_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
|
|
\fINONE\fR allows no VM call. This option only makes sense if the
|
|
option \fBipc\fR includes VM as a valid target.
|
|
The default is \fIBASIC\fR.
|
|
.RE
|
|
.PP
|
|
\fBio\fR \fI<ALL|NONE|baseaddr1 baseaddr2:length2...baseaddrN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of I/O ranges the system service is allowed to use.
|
|
\fIALL\fR allows all the possible I/O ranges, \fINONE\fR allows no I/O range
|
|
at all. When an explicit list is given, each range is identified by a base
|
|
address and an optional length. When no length is given, length \fB1\fR is
|
|
assumed. The default is \fINONE\fR.
|
|
.RE
|
|
.PP
|
|
\fBirq\fR \fI<ALL|NONE|irq1 irq2...irqN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of IRQs the system service is allowed to use.
|
|
\fIALL\fR allows all the possible IRQs, \fINONE\fR allows no IRQ
|
|
at all. An explicit list of IRQ numbers may be given.
|
|
The default is \fINONE\fR.
|
|
.RE
|
|
.PP
|
|
\fBsigmgr\fR \fI<SELF|label>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the signal manager the system service is assigned to. The signal
|
|
manager intercepts all the termination and non-termination signals
|
|
(including signal generated by runtime exceptions, e.g. SIGSEGV) on behalf
|
|
of the service and reacts accordingly. \fISELF\fR allows the service to
|
|
become its own signal manager. This option should be used with care,
|
|
since a lethal signal for the service will immediately trigger a
|
|
kernel panic. A separate system service that acts as the designated signal
|
|
manager must be specified using its label. The default is specified in
|
|
\fB<minix/priv.h>\fR (see macro \fBDSRV_SM\fR).
|
|
.RE
|
|
.PP
|
|
\fBscheduler\fR \fI<KERNEL|label>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the scheduler the system service is assigned to. The scheduler
|
|
implements the scheduling policy for the system service. \fIKERNEL\fR allows
|
|
the service to be scheduled directly by the kernel. A separate system
|
|
service that acts as the designated scheduler must be specified
|
|
using its label. The default is specified in
|
|
\fB<minix/priv.h>\fR (see macro \fBDSRV_SCH\fR).
|
|
.RE
|
|
.PP
|
|
\fBpriority\fR \fI<priority_queue>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the priority queue the scheduler must assign the service to.
|
|
The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_Q\fR).
|
|
.RE
|
|
.PP
|
|
\fBquantum\fR \fI<quantum_size_ms>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the quantum size (ms) the scheduler must consider the service for.
|
|
The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_QT\fR).
|
|
.RE
|
|
.PP
|
|
\fBpci device\fR \fI<vid:did[/subvid:subdid]>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the PCI device IDs the system service is allowed to use
|
|
(only used for device drivers). Optionally, a subsystem ID may be provided
|
|
for more precise (limited) matching.
|
|
The default is to allow no PCI device IDs.
|
|
.RE
|
|
.PP
|
|
\fBpci class\fR \fI<class[/subclass[/progif]]>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the PCI classes the system service is allowed to use
|
|
(only used for device drivers).
|
|
Optionally, a subclass code and a programming interface code may be provided
|
|
for more precise (limited) matching.
|
|
The default is to allow no PCI classes.
|
|
.RE
|
|
.PP
|
|
\fBcontrol\fR \fI<name1 name2...nameN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of system services (identified by their process names) that
|
|
are allowed to control the system service. A controller service can ask RS
|
|
to perform privileged actions like immediately restarting the service.
|
|
The default is to allow no controller services.
|
|
.RE
|
|
.PP
|
|
.SH "SEE ALSO"
|
|
.BR configfile (5),
|
|
.BR service (8),
|
|
.BR boot (8).
|
|
.SH AUTHOR
|
|
Cristiano Giuffrida <giuffrida@cs.vu.nl>
|
|
|