Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch/hp300/dev



Module Name:    src
Committed By:   thorpej
Date:           Tue Jan 16 05:48:29 UTC 2024

Modified Files:
        src/sys/arch/hp300/dev: arcofi_dio.c com_dio.c com_frodo.c dcm.c dma.c
            dnkbd.c fhpib.c hil_intio.c if_le.c nhpib.c spc.c

Log Message:
Several years ago, the interrupt priority levels for devices were "flattened"
such that IPL_BIO, IPL_NET, and IPL_TTY (logical interrupt priority levels)
became aliases of IPL_VM (the logical interrupt priority level above which
memory allocation is not allowed).  Unfortuantely, this meant that any
use of these logical interrupt priority levels to differentiate between
different interrupt service routines at the same auto-vectored interrupt
level was pointless... "when everyone is special, no one is".

Before this flattening happened, these distinct logical interrupt priority
levels levels were dynamically mapped to physical auto-vectored interrupt
levels based on which types of devices registered themselves at which auto-
vectored level.  Now, splbio(), splnet(), etc. are all equivalent to splvm(),
which effectively blocks all device interrupts.

Switch to using the ISRPRI_* values provided by the common m68k interrupt
dispatch code, which allows interrupt handlers for devices that are more
latency-sensitive to be sorted earlier in the list of handlers at a given
auto-vectored interrupt level, as was originally intended.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/hp300/dev/arcofi_dio.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/hp300/dev/com_dio.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/hp300/dev/com_frodo.c
cvs rdiff -u -r1.93 -r1.94 src/sys/arch/hp300/dev/dcm.c
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/hp300/dev/dma.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/hp300/dev/dnkbd.c
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/hp300/dev/fhpib.c \
    src/sys/arch/hp300/dev/nhpib.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hp300/dev/hil_intio.c
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/hp300/dev/if_le.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hp300/dev/spc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index