intr: Further delay MachIntrABI.finalize()
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 2 Feb 2011 15:55:43 +0000 (23:55 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 2 Feb 2011 16:10:35 +0000 (00:10 +0800)
commit7bf5fa56b57c6864fef14bc71b211a265244d886
treeb194c1a6543eb65361103d49ea620b774f292877
parent77f86d14ec0305ad020f75c46d8e4b6d5c2b99cd
intr: Further delay MachIntrABI.finalize()

It only affects SMP case.  For ICU, it will be better if finalize()
is called after IMCR detection is done, though on most modern systems
IMCR does not exist.  For I/O APIC, finalize() _should_ be called
after BSP's LAPIC is initialized, since it alters BSP LAPIC's LINT0
and LINT1 configuration.

Add stabilize() ABI to MachIntrABI which is only implemented by ICU
currently and this ABI is called in the place where finalize() used
to be called.
12 files changed:
sys/kern/init_main.c
sys/platform/pc32/apic/ioapic_abi.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc32/icu/icu_abi.c
sys/platform/pc64/apic/ioapic_abi.c
sys/platform/pc64/icu/icu_abi.c
sys/platform/pc64/x86_64/machdep.c
sys/platform/pc64/x86_64/mp_machdep.c
sys/platform/vkernel/platform/machintr.c
sys/platform/vkernel64/platform/machintr.c
sys/sys/machintr.h