freebsd-skq/sys/sys
Mike Smith c3c50c4e3a Further fixes for multiple-IO-APIC systems from Tor Egge:
Further experimentation showed that some Dell 2450 machines with the
prevention kludge installed still got T_RESERVED traps.  CPU interrupt
vector 0x7A was observed to be triggered.  This might have been the
bitwise OR of two different vectors sent from each of the IOAPICs at
the same time.

	IOAPIC #0: 0x68 --> irq 8: RTC timer interrupt
	IOAPIC #1: 0x32 --> irq 18: scsi host adapter or network interface
		   ----
		   0x7a --> T_RESERVED

Both IOAPICs had ID 0.

Appendix B.3 in the MP spec indicates that the operating system is
responsible for assigning unique IDs to the IOAPICs.

The enclosed patch programs the IOAPIC IDs according to the IOAPIC
entries in the MP table.

Submitted by:	tegge
2000-05-31 21:37:28 +00:00
..
_posix.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
_sigset.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
acct.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
acl.h Fix man page structures/constants to match recent changes in acl.h 2000-01-28 15:22:51 +00:00
aio.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
assym.h Make offsetof equivalent with <stddef.h>. This paves the way for 2000-01-03 16:49:39 +00:00
bio.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
bitstring.h
blist.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
buf.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
bus_dma.h Implement real read/write barriers for the i386. Despite the comment in 2000-05-18 00:06:10 +00:00
bus_private.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
bus.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
callout.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ccdvar.h Cleanup some remaining bdev fluff. 2000-01-16 09:25:10 +00:00
cdefs.h Use __alias__ instead of alias in the definition of __strong_reference(). 2000-03-18 22:26:54 +00:00
cdio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
cdrio.h New ATAPI burner utility. Replaces wormcontrol. 2000-01-06 22:46:20 +00:00
chio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
clist.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
conf.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
cons.h Add a new mechanism, cndbctl(), to tell the console driver that 2000-01-11 14:54:01 +00:00
consio.h Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes. 2000-04-27 13:34:32 +00:00
copyright.h Update FreeBSD(98) copyright. 2000-01-03 07:17:01 +00:00
ctype.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dataacq.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
devfsext.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
devicestat.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
dir.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dirent.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
disk.h rename disk_delete() to disk_destroy(). 2000-01-28 20:49:43 +00:00
disklabel.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskmbr.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskpc98.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskslice.h Removed a stale forward struct declaration. 2000-04-30 06:47:24 +00:00
dkstat.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dmap.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
domain.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dvdio.h Add support for the DVD ioctl interface. 2000-05-12 03:36:02 +00:00
elf32.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
elf64.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
elf_common.h Change our ELF binary branding to something more acceptable to the Binutils 2000-04-18 02:39:26 +00:00
elf_generic.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
errno.h Add ENOTSUP, which is specified as an error return value for various 2000-05-02 06:02:11 +00:00
event.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
eventhandler.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
eventvar.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
exec.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
extattr.h Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
fbio.h Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes. 2000-04-27 13:34:32 +00:00
fcntl.h Implement POSIX.1b shared memory objects. In this implementation, 2000-04-22 15:22:31 +00:00
fdcio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
file.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
filedesc.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
filio.h Commit the kernel part of our DVD support. Nothing much to say really, 1999-12-07 22:25:28 +00:00
gmon.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
imgact_aout.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
imgact_elf.h Change Elf64_Brandinfo::brand from char* to int. 2000-04-28 08:53:23 +00:00
imgact.h Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
inflate.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
interrupt.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
inttypes.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ioccom.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_bt848.h Add multiple #include protection 2000-04-04 16:46:19 +00:00
ioctl_compat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ioctl_meteor.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ipc.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
jail.h Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
joystick.h Switch over to using the generic joy driver 1999-12-05 20:02:19 +00:00
kbio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
kernel.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kobj.h Fixed a syntax error (a stray semicolon caused by a bogus #define). 2000-05-11 17:10:22 +00:00
kthread.h Introduce a mechanism to suspend/resume system processes. Suspend syncer 2000-01-07 08:36:44 +00:00
ktrace.h Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
libkern.h Zap c_index() and c_rindex(). Bruce prefers these to implicitly convert 1999-12-10 17:38:41 +00:00
linedisc.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
link_aout.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
link_elf.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
linker_set.h Add a comment explaining the obscure lines: 2000-05-13 04:38:50 +00:00
linker.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
lock.h Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
lockf.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
lockmgr.h Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
malloc.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
mbuf.h For the M_PREPEND macro, remove an initial mbuf NULL check I added. It 2000-04-30 18:42:44 +00:00
md5.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
mdioctl.h Fix a bug in the block number calculation for VN disks with a sector 1999-09-17 05:34:00 +00:00
memrange.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
mman.h Add MAP_NOCORE to mmap(2), and MADV_NOCORE and MADV_CORE to madvise(2). 2000-02-28 04:10:35 +00:00
module.h First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
mount.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
mouse.h - Add Support for the following PS/2 mice: 2000-03-18 15:21:40 +00:00
msg.h Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
msgbuf.h Increase the default msgbuf size from 8k to 32k. Boot -v easily 2000-01-29 15:29:11 +00:00
mtio.h Default device not longer uses the "r" raw prefix. 2000-04-26 11:34:52 +00:00
namei.h Change NDFREE() from a macro to a function for the time being; the macro 2000-01-08 16:20:06 +00:00
nlist_aout.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
param.h Bump __FreeBSD_version after the Binutils upgrade -- just in case a port 2000-05-26 00:22:48 +00:00
pciio.h [ repository copy of sys/pci/pci_ioctl.h to sys/sys/pciio.h happened in the 1999-12-08 17:44:04 +00:00
pioctl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pipe.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
poll.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
posix4.h Fixed some type mismatches. p_retval[0] in struct proc has type 1999-12-27 10:22:09 +00:00
proc.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
procfs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
protosw.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ptio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ptrace.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
queue.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
random.h Updated the name of the idempotency macro to match the move of this file. 2000-04-30 05:16:24 +00:00
reboot.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
resource.h Change the scheduler to actually respect the PUSER barrier. It's been 2000-04-30 18:33:43 +00:00
resourcevar.h Fix a bug that could crash the system if you press ^T while a slower 2000-01-28 20:40:29 +00:00
rman.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
rtprio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
select.h Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
selinfo.h Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
sem.h Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
semaphore.h Track libc_r addition of semaphores implementation. 2000-01-20 07:55:42 +00:00
shm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
signal.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
signalvar.h The SMP cleanup commit broke UP compiles. Make UP compiles work again. 2000-03-28 18:06:49 +00:00
smp.h Further fixes for multiple-IO-APIC systems from Tor Egge: 2000-05-31 21:37:28 +00:00
snoop.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
socket.h Fix sockaddr_storage related macro definition, as ss_family member type change. 2000-03-11 19:51:04 +00:00
socketvar.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
sockio.h KAME related header files additions and merges. 1999-11-05 14:41:39 +00:00
soundcard.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
stat.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
syscall-hide.h Regenerated (fixed the type of mmap()'s padding arg). 2000-05-09 08:35:51 +00:00
syscall.h Regenerated (fixed the type of mmap()'s padding arg). 2000-05-09 08:35:51 +00:00
syscall.mk Regenerated (fixed the type of mmap()'s padding arg). 2000-05-09 08:35:51 +00:00
sysctl.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
sysent.h Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
syslimits.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syslog.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
sysproto.h Regenerated (fixed the type of mmap()'s padding arg). 2000-05-09 08:35:51 +00:00
systm.h Declare splsoftqtassert(). 2000-05-29 19:57:52 +00:00
taskqueue.h Style fixes. 2000-05-30 07:27:46 +00:00
termios.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
time.h Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
timeb.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
timepps.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
timers.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
times.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
timetc.h Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
timex.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
tprintf.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ttychars.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ttycom.h Remove the TABLDISC line discipline number, it's not in the tree 2000-01-29 16:47:35 +00:00
ttydefaults.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ttydev.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
types.h Followup to previous commit; change fd_mask from signed to unsigned as 2000-02-20 15:01:37 +00:00
ucontext.h Add a per-signal flag to mark handlers registered with osigaction, so we 1999-10-11 20:33:17 +00:00
ucred.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
uio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
un.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
unistd.h Implement POSIX.1b shared memory objects. In this implementation, 2000-04-22 15:22:31 +00:00
unpcb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
user.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
utsname.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
vmmeter.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
vnioctl.h Fix a bug in the block number calculation for VN disks with a sector 1999-09-17 05:34:00 +00:00
vnode.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
wait.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
xrpuio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00