Annotation of 43BSDReno/share/doc/smm/13.kchanges/gen.t, revision 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.