Annotation of 43BSDReno/share/doc/smm/13.kchanges/gen.t, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)gen.t       1.5 (Berkeley) 4/10/86
                      6: .\"
                      7: .NH
                      8: General changes in the kernel
                      9: .PP
                     10: This section details some of the changes that affect multiple sections
                     11: of the kernel.
                     12: .NH 2
                     13: Header files
                     14: .PP
                     15: The kernel is now compiled with an include path that specifies the
                     16: standard location of the common header files, generally \fB/sys/h\fP
                     17: or \fB../h\fP, and all kernel sources have had pathname prefixes
                     18: removed from the \fB#include\fP directives for files in \fB../h\fP or the source
                     19: directory.
                     20: This makes it possible to substitute replacements for individual header
                     21: files by placing them in the system compilation directory or in another
                     22: directory in the include path.
                     23: .NH 2
                     24: Types
                     25: .PP
                     26: There have been relatively few changes in the types defined and used
                     27: by the system.
                     28: One significant exception is that new typedefs have been added
                     29: for user ID's and group ID's in the kernel and common data structures.
                     30: These typedefs, \fIuid_t\fP and \fIgid_t\fP, are both of type \fIu_short\fP.
                     31: This change from the previous usage (explicit \fIshort\fP ints)
                     32: allows user and group ID's greater than 32767 to work reasonably.
                     33: .NH 2
                     34: Inline
                     35: .PP
                     36: The inline expansion of calls to various trivial
                     37: or hardware-dependent operations
                     38: has been a useful technique in the kernel.
                     39: In prior releases this substitution was done 
                     40: by editing the assembly language output of the compiler with the
                     41: sed script \fIasm.sed\fP.
                     42: This technique has been refined in 4.3BSD by using a new program,
                     43: \fIinline\fP, to perform the in-line code expansion and also optimize
                     44: the code used to push the subroutine's operands; where possible,
                     45: \fIinline\fP will merge stack pushes and pops into direct register loads.
                     46: Also, this program performs the in-line code expansion significantly
                     47: faster than the general-purpose stream editor it replaces.
                     48: .NH 2
                     49: Processor priorities
                     50: .PP
                     51: Functions to set the processor interrupt priority to block classes
                     52: of interrupts have been used in
                     53: .UX
                     54: on all processors, but the names of these routines have always been
                     55: derived from the priority levels of the PDP11 and the UNIBUS.
                     56: In order to clarify both the intent of elevated processor priority
                     57: and the assumptions about their dependencies, all of the functions \fIsplN\fP,
                     58: where \fIN\fP is a small nonzero integer, have been renamed.
                     59: In each case, the new name indicates the group of devices that are to be
                     60: blocked from interrupts.  The following table indicates the old and new names
                     61: of these functions.
                     62: .TS
                     63: center box;
                     64: l | l | l | l
                     65: l | l | l | c.
                     66: new name       devices blocked old name        VAX IPL
                     67: _
                     68: spl0   none    spl0    0
                     69: splsoftclock   software clock interrupts       none    0x08
                     70: splnet software network interrupts     splnet  0x0c
                     71: spltty terminal multiplexors   spl5    0x15
                     72: splbio disk and tape controllers       spl5    0x15
                     73: splimp all network interfaces  splimp  0x16
                     74: splclock       interval timer  spl6    0x18
                     75: splhigh        all devices and state transitions       spl7    0x31
                     76: .TE
                     77: For use in device drivers only, UNIBUS priorities BR4 through BR7 may be set
                     78: using the functions spl4, spl5, spl6 and spl7.
                     79: Note that the latter two now correspond
                     80: to VAX priorities 0x16 and 0x17 respectively,
                     81: rather than the previous 0x18 and 0x1f priorities.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.