freebsd-dev/sys/amd64/include
John Baldwin c7362ff7fb 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 <stdint.h> should define WINT_M{AX,IN} independent from whether WCHAR_MIN is 2004-05-18 16:04:57 +00:00
_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 Move the code for halting the CPU (acpi_cpu_c1) into machdep files. 2004-10-11 05:39:15 +00:00
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 Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
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 Instead of calling ia32_pause() conditionally on __i386__ or __amd64__ 2004-08-03 18:44:27 +00:00
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 Add style(9) foolishness. 2004-08-03 08:21:48 +00:00
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 Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
frame.h Remove obsolete prototype of kdb_trap(). 2004-07-10 22:39:56 +00:00
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 Break out the MI part of the /dev/[k]mem and /dev/io drivers into 2004-08-01 11:40:54 +00:00
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 Break out the MI part of the /dev/[k]mem and /dev/io drivers into 2004-08-01 11:40:54 +00:00
metadata.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
mp_watchdog.h Add an "options MP_WATCHDOG" to i386. This option allows one of the 2004-08-15 18:02:09 +00:00
mptable.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
mutex.h Kill the ASM versions of the mtx_lock_spin and friends. They were never 2003-12-06 23:17:18 +00:00
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 Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
ptrace.h Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
reg.h Remove advertising clause from University of California Regent's license, 2004-04-05 23:55:14 +00:00
reloc.h Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
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 Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
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 Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
tss.h Show that I can actually count. 2005-04-15 18:39:31 +00:00
ucontext.h Update the graffiti. 2003-11-08 04:39:22 +00:00
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 Raise MAXDSIZ from 8G to 32G. The old limit was just an arbitary choice 2004-10-27 17:21:15 +00:00