diff options
author | tegge <tegge@FreeBSD.org> | 1998-03-03 22:56:30 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1998-03-03 22:56:30 +0000 |
commit | 9f3982f0f6d7493912022ff7b37436e9d976fb84 (patch) | |
tree | 2f6bf35c42516c9c0cdb317a15559bbb0da91450 /sys/i386/include/smptests.h | |
parent | beae57c5b35bad7c8aa9705208f9552264588380 (diff) | |
download | FreeBSD-src-9f3982f0f6d7493912022ff7b37436e9d976fb84.zip FreeBSD-src-9f3982f0f6d7493912022ff7b37436e9d976fb84.tar.gz |
When entering the apic version of slow interrupt handler, level
interrupts are masked, and EOI is sent iff the corresponding ISR bit
is set in the local apic. If the CPU cannot obtain the interrupt
service lock (currently the global kernel lock) the interrupt is
forwarded to the CPU holding that lock.
Clock interrupts now have higher priority than other slow interrupts.
Diffstat (limited to 'sys/i386/include/smptests.h')
-rw-r--r-- | sys/i386/include/smptests.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/sys/i386/include/smptests.h b/sys/i386/include/smptests.h index da80b72..60a8588 100644 --- a/sys/i386/include/smptests.h +++ b/sys/i386/include/smptests.h @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: smptests.h,v 1.27 1997/09/07 23:06:15 fsmp Exp $ + * $Id: smptests.h,v 1.28 1997/12/08 22:56:49 fsmp Exp $ */ #ifndef _MACHINE_SMPTESTS_H_ @@ -250,6 +250,37 @@ */ #define GIANT_LOCK +#ifdef APIC_IO +/* + * Enable extra counters for some selected locations in the interrupt handlers. + * Look in apic_vector.s, apic_ipl.s and ipl.s for APIC_ITRACE or + * APIC_INTR_DIAGNOSTIC. + */ +#undef APIC_INTR_DIAGNOSTIC + +/* + * Add extra tracking of a specific interrupt. Look in apic_vector.s, + * apic_ipl.s and ipl.s for APIC_ITRACE and log_intr_event. + * APIC_INTR_DIAGNOSTIC must be defined for this to work. + */ +#ifdef APIC_INTR_DIAGNOSTIC +#define APIC_INTR_DIAGNOSTIC_IRQ 17 +#endif + +/* + * Don't assume that slow interrupt handler X is called from vector + * X + ICU_OFFSET. + */ +#define APIC_INTR_REORDER + +/* + * Redirect clock interrupts to a higher priority (fast intr) vector, + * while still using the slow interrupt handler. Only effective when + * APIC_INTR_REORDER is defined. + */ +#define APIC_INTR_HIGHPRI_CLOCK + +#endif /* APIC_IO */ /* * Misc. counters. |