freebsd-skq/sys/amd64/include
jhb 830d2103fb Change the x86 code to allocate IDT vectors on-demand when an interrupt
source is first enabled similar to how intr_event's now allocate ithreads
on-demand.  Previously, we would map IDT vectors 1:1 to IRQs.  Since we
only have 191 available IDT vectors for I/O interrupts, this limited us
to only supporting IRQs 0-190 corresponding to the first 190 I/O APIC
intpins.  On many machines, however, each PCI-X bus has its own APIC even
though it only has 1 or 2 devices, thus, we were reserving between 24 and
32 IRQs just for 1 or 2 devices and thus 24 or 32 IDT vectors.  With this
change, a machine with 100 IRQs but only 5 in use will only use up 5 IDT
vectors.  Also, this change provides an API (apic_alloc_vector() and
apic_free_vector()) that will allow a future MSI interrupt source driver to
request IDT vectors for use by MSI interrupts on x86 machines.

Tested on:	amd64, i386
2005-11-02 20:11:47 +00:00
..
pc Make the facility for recognizing BIOS-signatures more general 2005-07-21 09:48:37 +00:00
_bus.h Break out the definition of bus_space_{tag,handle}_t and a few other types 2005-04-18 21:45:34 +00:00
_inttypes.h
_limits.h Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
_stdint.h
_types.h Check the alignment of the IP header before passing the packet up to the 2005-07-02 23:13:31 +00:00
acpica_machdep.h
apicreg.h JumboMFi386: use bitmapped IPI handler. Update elcr and default mptable 2005-01-21 06:01:20 +00:00
apicvar.h Change the x86 code to allocate IDT vectors on-demand when an interrupt 2005-11-02 20:11:47 +00:00
asm.h Align the entry point to assembly language functions to a 16-byte boundary. 2005-04-10 20:49:21 +00:00
asmacros.h
atomic.h Add a new atomic_fetchadd() primitive that atomically adds a value to a 2005-09-27 17:39:11 +00:00
bus_dma.h Fix $FreeBSD$. 2005-07-22 04:03:25 +00:00
bus.h Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
clock.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
cpu.h
cpufunc.h Add a knob for disabling/enabling HTT, "machdep.hyperthreading_allowed". 2005-05-13 00:10:56 +00:00
cputypes.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
db_machdep.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
elf.h
endian.h Match i386 rev 1.38 with __cplusplus support 2005-03-11 21:46:01 +00:00
exec.h Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
float.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
floatingpoint.h The file machine/ieeefp.h needs sys/cdefs.h on amd64 and i386 after my 2005-04-02 17:31:42 +00:00
fpu.h
frame.h
gdb_machdep.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
ieeefp.h The memory operands to fldcw and ldmxcsr are inputs, not outputs. 2005-04-12 23:12:00 +00:00
in_cksum.h Remove diffs to i386 version that came in via the compiler support ifdefs. 2005-03-11 22:16:09 +00:00
intr_machdep.h Change the x86 code to allocate IDT vectors on-demand when an interrupt 2005-11-02 20:11:47 +00:00
iodev.h
kdb.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
legacyvar.h MFi386: pci attribute allocation fixes. 2005-09-18 01:42:43 +00:00
limits.h netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
md_var.h - Print number of physical/logical cores and more CPUID info. 2005-10-14 22:52:01 +00:00
memdev.h
metadata.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
mp_watchdog.h
mptable.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
mutex.h
param.h Increase MAXCPU to 16 in SMP kernels so that APIC IDs from 0 to 15 are 2005-06-29 15:13:25 +00:00
pcb_ext.h
pcb.h I believe the stack underflows during early development that caused me to 2005-09-27 21:11:35 +00:00
pci_cfgreg.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
pcpu.h Remove diffs to i386 version that came in via the compiler support ifdefs. 2005-03-11 22:16:09 +00:00
pmap.h Switch AMD64 and i386 platforms to using ELF as their kernel crash 2005-06-29 22:28:46 +00:00
pmc_mdep.h MFP4: 2005-06-09 19:45:09 +00:00
ppireg.h - Move timerreg.h to <arch>/include and split i8253 specific defines into 2005-05-14 09:10:02 +00:00
proc.h Divorce critical sections from spinlocks. Critical sections as denoted by 2005-04-04 21:53:56 +00:00
profile.h Remove diffs to i386 version that came in via the compiler support ifdefs. 2005-03-11 22:16:09 +00:00
psl.h
ptrace.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
reg.h
reloc.h
resource.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
runq.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
segments.h
setjmp.h
sf_buf.h MFi386: Update alc's copyright notice 2005-02-28 23:38:15 +00:00
sigframe.h
signal.h Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
smp.h Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all 2005-10-24 21:04:19 +00:00
specialreg.h Correct few MSR addresses. 2005-10-15 00:44:56 +00:00
stdarg.h Remove diffs to i386 version that came in via the compiler support ifdefs. 2005-03-11 22:16:09 +00:00
sysarch.h Implement 32-bit compatable fsbase/gsbase methods so that we can run 2005-04-14 16:57:58 +00:00
timerreg.h Change the spkr_set_pitch() function to a macro to fix low level profiling. 2005-05-28 13:40:27 +00:00
trap.h
tss.h Show that I can actually count. 2005-04-15 18:39:31 +00:00
ucontext.h
varargs.h Remove diffs to i386 version that came in via the compiler support ifdefs. 2005-03-11 22:16:09 +00:00
vmparam.h