summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_intr.c
Commit message (Collapse)AuthorAgeFilesLines
* - Remove the inthand2_t type and use the equivalent driver_intr_t type fromjhb2000-09-131-0/+39
| | | | | | | | | | | | | newbus for referencing device interrupt handlers. - Move the 'struct intrec' type which describes interrupt sources into sys/interrupt.h instead of making it just be a x86 structure. - Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd' and 'struct intrec' - Move the code to translate new-bus interrupt flags into an interrupt thread priority out of the x86 nexus code and into a MI ithread_priority() function in sys/kern/kern_intr.c. - Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and sys/pci/pci_compat.c.
* Trim unused options (or #ifdef for undoc options).peter1999-10-111-1/+0
| | | | Submitted by: phk
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Stage 1 of a cleanup of the i386 interrupt registration mechanism.peter1999-04-211-405/+1
| | | | | | | Interrupts under the new scheme are managed by the i386 nexus with the awareness of the resource manager. There is further room for optimizing the interfaces still. All the users of register_intr()/intr_create() should be gone, with the exception of pcic and i386/isa/clock.c.
* add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE()peter1998-11-101-3/+3
|
* Start using the new SWI registration system instead of hardwiring everything.dfr1998-09-261-9/+13
|
* Implemented dynamic registration of software interrupt handlers. Notbde1998-08-111-6/+97
| | | | | | used yet. Use dummy SWI handlers to avoid some checks for null pointers.
* Cast pointers to uintptr_t/intptr_t instead of to u_long/long,bde1998-07-151-5/+5
| | | | | | | respectively. Most of the longs should probably have been u_longs, but this changes is just to prevent warnings about casts between pointers and integers of different sizes, not to fix poorly chosen types.
* Changed the type of an isa/general interrupt handler to take abde1998-06-181-3/+2
| | | | | | `void *' arg. Fixed or hid most of the resulting type mismatches. Handlers can now be updated locally (except for reworking their global declarations in isa_device.h).
* Only build this on i386 for now. I may use it for the alpha later butdfr1998-06-111-1/+10
| | | | currently it doesn't compile.
* This commit fixes various 64bit portability problems required fordfr1998-06-071-6/+6
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Really finish supporting compiling with `gcc -ansi'.bde1998-04-171-2/+2
|
* Move include of <machine/ipl.h> inside ifndef SMP where it is used, toeivind1998-02-101-3/+3
| | | | avoid getting 'unused include file' warnings in the SMP case.
* - Hide the 'device doesn't supported shared interrupts' code behindnate1997-10-061-4/+5
| | | | | | bootverbose, since the older register_intr() code didn't print out anything, and the laptop support will cause lots of these un-necessary messages.
* Added a half dozen casts to eliminate annoying warnings.fsmp1997-08-211-7/+7
|
* Moved splq() to isa/ipl_funcs.c for SMP only.fsmp1997-08-201-2/+4
| | | | This is in preperation for moving all cpl accesses behind a critical region lock.
* Removed unused #includes.bde1997-08-021-4/+1
|
* Back out changes for 'conflicts' with IRQ, remove intr_registered()ache1997-07-091-7/+1
|
* Add safety check in case "conflicts" keyword specified more times thanache1997-06-081-1/+7
| | | | needed
* The defines INTR_FAST and INTR_EXCL are part of the public interface. Thedfr1997-06-021-3/+1
| | | | previous commit made them private which broke things.
* Move interrupt handling code from isa.c to a new file. This should makedfr1997-06-021-3/+3
| | | | | | | isa.c (slightly) more portable and will make my life developing the really portable version much easier. Reviewed by: peter, fsmp
* Move "typedef struct intrec {} intrec" from sys/interrupt.h to kern_intr.cpeter1997-06-011-1/+14
| | | | | | since that's the only place that it's used. Submitted by: se (apparently on suggestion from dfr)
* <machine/spl.h> -> <machine/ipl.h>peter1997-05-311-10/+10
| | | | | | s/intrmask/intrmask_t/g Reviewed by: bde, se
* Fix problem reported by PHK: Panic in pcic probe because of NULL pointerse1997-05-281-12/+15
| | | | dereference (head->next in intr_disconnect).
* Add support for shared interrupts to the kernel. This code is meantse1997-05-261-0/+418
be (eventually) architecture independent. It provides an emulation of the ISA interrupt registration function register_intr(), but that function does no longer manipulated the interrupt controller and interrupt descriptor table, but calls the architecture dependent function setup_icu() for that purpose. After theISA/EISA bus code has been modified to directly call the new interrupt registartion functions (intr_create() and intr_connect()), the emulation of register_intr() should be dropped. The C level interrupt handler function should take a (void*) argument, and the function pointer type (inthand2_t) should defined in some other place than isa_device.h. This commit is a pre-requisite for the removal of the PCI specific shared interrupt code. Reviewed by: dfr,bde
OpenPOWER on IntegriCloud