cvs commit: src/sys/i386/apic apic_abi.c apic_ipl.s apic_vector.s apicreg.h mpapic.c src/sys/i386/i386 db_interface.c exception.s mp_machdep.c mplock.s swtch.s src/sys/i386/icu icu_abi.c icu_ipl.s icu_vector.s src/sys/i386/include smp.h smptests.h ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Nov 3 15:47:40 PST 2005
dillon 2005/11/03 15:45:16 PST
DragonFly src repository
Modified files:
sys/i386/apic apic_abi.c apic_ipl.s apic_vector.s
apicreg.h mpapic.c
sys/i386/i386 db_interface.c exception.s mp_machdep.c
mplock.s swtch.s
sys/i386/icu icu_abi.c icu_ipl.s icu_vector.s
sys/i386/include smp.h
sys/i386/isa intr_machdep.c intr_machdep.h ipl.s
sys/sys machintr.h
Removed files:
sys/i386/include smptests.h
Log:
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.
Revision Changes Path
1.7 +39 -14 src/sys/i386/apic/apic_abi.c
1.15 +0 -1 src/sys/i386/apic/apic_ipl.s
1.29 +2 -39 src/sys/i386/apic/apic_vector.s
1.6 +108 -14 src/sys/i386/apic/apicreg.h
1.12 +2 -9 src/sys/i386/apic/mpapic.c
1.11 +0 -19 src/sys/i386/i386/db_interface.c
1.26 +0 -1 src/sys/i386/i386/exception.s
1.45 +4 -42 src/sys/i386/i386/mp_machdep.c
1.18 +0 -1 src/sys/i386/i386/mplock.s
1.40 +0 -1 src/sys/i386/i386/swtch.s
1.6 +1 -0 src/sys/i386/icu/icu_abi.c
1.14 +0 -1 src/sys/i386/icu/icu_ipl.s
1.23 +0 -1 src/sys/i386/icu/icu_vector.s
1.17 +0 -3 src/sys/i386/include/smp.h
1.40 +1 -2 src/sys/i386/isa/intr_machdep.c
1.22 +0 -10 src/sys/i386/isa/intr_machdep.h
1.24 +0 -1 src/sys/i386/isa/ipl.s
1.4 +3 -0 src/sys/sys/machintr.h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_abi.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_ipl.s.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_vector.s.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apicreg.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/mpapic.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/db_interface.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/exception.s.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/mp_machdep.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/mplock.s.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/swtch.s.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_abi.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_ipl.s.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_vector.s.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/smp.h.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/ipl.s.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/machintr.h.diff?r1=1.3&r2=1.4&f=u
More information about the Commits
mailing list