ICU/APIC cleanup part 9/many.
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 3 Nov 2005 23:45:16 +0000 (23:45 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 3 Nov 2005 23:45:16 +0000 (23:45 +0000)
commit35408d22434da40f593386eabaf0b12b159b1402
tree5f8994869dda540660c8da204d5c79cbd0e00a2c
parentf13b5eecaac2be50361543f1bf918a66cd2fd1df
ICU/APIC cleanup part 9/many.

Get rid of machine/smptests.h, remove or implement the related #defines.

Distinguish between boot-time vector initialization and interrupt setup and
teardown in MACHINTR ABI.

Get rid of the ISR test for APIC-generated interrupts and all related
support code.  Just generate the EOI and pray.

Document more of the IO APIC redirection register(s).  Intel sure screwed up
the LAPIC and IO APIC royally.  There is no simple way to poll the actual
signal level on a pin, no simple way to manually EOI interrupts or EOI them
in the order we desire, no simple way to poll the LAPIC for the vector that
will be EOI'd when we send the EOI.  We can't mask the interrupt on the IO
APIC without triggering stupid legacy code on some machines.  We can't even
program the IO APIC linearly, it uses a stupid register/data sequence that
makes it impossible for access on an SMP system without serialization.
It's a goddamn mess, and it is all Intel's fault.
37 files changed:
sys/i386/apic/apic_abi.c
sys/i386/apic/apic_ipl.s
sys/i386/apic/apic_vector.s
sys/i386/apic/apicreg.h
sys/i386/apic/mpapic.c
sys/i386/i386/db_interface.c
sys/i386/i386/exception.s
sys/i386/i386/mp_machdep.c
sys/i386/i386/mplock.s
sys/i386/i386/swtch.s
sys/i386/icu/icu_abi.c
sys/i386/icu/icu_ipl.s
sys/i386/icu/icu_vector.s
sys/i386/include/smp.h
sys/i386/include/smptests.h [deleted file]
sys/i386/isa/intr_machdep.c
sys/i386/isa/intr_machdep.h
sys/i386/isa/ipl.s
sys/platform/pc32/apic/apic_abi.c
sys/platform/pc32/apic/apic_ipl.s
sys/platform/pc32/apic/apic_vector.s
sys/platform/pc32/apic/apicreg.h
sys/platform/pc32/apic/mpapic.c
sys/platform/pc32/i386/db_interface.c
sys/platform/pc32/i386/exception.s
sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc32/i386/mplock.s
sys/platform/pc32/i386/swtch.s
sys/platform/pc32/icu/icu_abi.c
sys/platform/pc32/icu/icu_ipl.s
sys/platform/pc32/icu/icu_vector.s
sys/platform/pc32/include/smp.h
sys/platform/pc32/include/smptests.h [deleted file]
sys/platform/pc32/isa/intr_machdep.c
sys/platform/pc32/isa/intr_machdep.h
sys/platform/pc32/isa/ipl.s
sys/sys/machintr.h