ICU/APIC cleanup part 7/many.
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 2 Nov 2005 22:59:49 +0000 (22:59 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 2 Nov 2005 22:59:49 +0000 (22:59 +0000)
commit5f456c4008bfb4f579ce0b43fee7718ab87c0cb6
treedc44ba24a3e36dec4821781a6f069b9f5f5dd74a
parent10ff1029d21f63a39ea8d8e1d35a835161c36807
ICU/APIC cleanup part 7/many.

Get rid of most of the dependancies on ICU_LEN, NSWI, and NHWI, by
creating a generous system standard maximum for hardware and software
interrupts in the MI sys/interrupt.h.  The interrupt architecture can
then further limit available hardware and software interrupts.  For
example, i386 uses 32 bit masks and so is limited to 32 hardware interrupts
and 32 software interrupts.

The name ICU_OFFSET is confusing, rename it to IDT_OFFSET, which is what
it really is.

Note that this separation is possible due to recent work on the MI interrupt
layer.

Separate the software interrupt mask from the hardware interrupt mask
in the i386 code.

Get rid of rndcontrol's 16 irq limit by creating a new ioctl to iterate
through interrupt numbers.
45 files changed:
sys/amd64/amd64/genassym.c
sys/amd64/include/globaldata.h
sys/i386/apic/apic_abi.c
sys/i386/apic/apic_ipl.h
sys/i386/apic/apic_ipl.s
sys/i386/i386/genassym.c
sys/i386/i386/globals.s
sys/i386/i386/mem.c
sys/i386/i386/mp_machdep.c
sys/i386/icu/icu.h
sys/i386/icu/icu_abi.c
sys/i386/icu/icu_ipl.h
sys/i386/icu/icu_ipl.s
sys/i386/include/globaldata.h
sys/i386/include/ipl.h
sys/i386/include/smptests.h
sys/i386/isa/clock.c
sys/i386/isa/intr_machdep.c
sys/i386/isa/intr_machdep.h
sys/i386/isa/ipl.s
sys/i386/isa/ipl_funcs.c
sys/kern/kern_intr.c
sys/kern/kern_memio.c
sys/platform/pc32/apic/apic_abi.c
sys/platform/pc32/apic/apic_ipl.h
sys/platform/pc32/apic/apic_ipl.s
sys/platform/pc32/i386/genassym.c
sys/platform/pc32/i386/globals.s
sys/platform/pc32/i386/mem.c
sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc32/icu/icu.h
sys/platform/pc32/icu/icu_abi.c
sys/platform/pc32/icu/icu_ipl.h
sys/platform/pc32/icu/icu_ipl.s
sys/platform/pc32/include/globaldata.h
sys/platform/pc32/include/ipl.h
sys/platform/pc32/include/smptests.h
sys/platform/pc32/isa/clock.c
sys/platform/pc32/isa/intr_machdep.c
sys/platform/pc32/isa/intr_machdep.h
sys/platform/pc32/isa/ipl.s
sys/platform/pc32/isa/ipl_funcs.c
sys/platform/vkernel/i386/genassym.c
sys/sys/interrupt.h
sys/sys/random.h