DragonFly commits List (threaded) for 2005-11
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/amd64/include segments.h src/sys/bus/pci pci.c pci_compat.c src/sys/bus/pci/i386 pci_cfgreg.c src/sys/i386/apic apic_ipl.h apic_ipl.s apic_vector.s mpapic.c mpapic.h src/sys/i386/conf GENERIC src/sys/i386/i386 autoconf.c globals.s ...
dillon 2005/11/04 00:57:31 PST
DragonFly src repository
Modified files:
sys/amd64/include segments.h
sys/bus/pci pci.c pci_compat.c
sys/bus/pci/i386 pci_cfgreg.c
sys/i386/apic apic_ipl.h apic_ipl.s apic_vector.s
mpapic.c mpapic.h
sys/i386/conf GENERIC
sys/i386/i386 autoconf.c globals.s machdep.c
mp_machdep.c nexus.c pmap.c pmap_inval.c
sys_machdep.c tls.c trap.c vm_machdep.c
sys/i386/icu icu_abi.c icu_ipl.h icu_ipl.s
icu_vector.s
sys/i386/include ipl.h segments.h smp.h
sys/i386/isa clock.c intr_machdep.c intr_machdep.h
npx.c
Log:
Allow 'options SMP' *WITHOUT* 'options APIC_IO'. That is, an ability to
produce an SMP-capable kernel that uses the PIC/ICU instead of the IO APICs
for interrupt routing.
SMP boxes with broken BIOSes (namely my Shuttle XPC SN95G5) could very well
have serious interrupt routing problems when operating in IO APIC mode.
One solution is to not use the IO APICs. That is, to run only the Local
APICs for the SMP management.
* Don't conditionalize NIDT. Just set it to 256
* Make the ICU interrupt code MP SAFE. This primarily means using the
imen_spinlock to protect accesses to icu_imen.
* When running SMP without APIC_IO, set the LAPIC TPR to prevent unintentional
interrupts. Leave LINT0 enabled (normally with APIC_IO LINT0 is disabled
when the IO APICs are activated). LINT0 is the virtual wire between the
8259 and LAPIC 0.
* Get rid of NRSVIDT. Just use IDT_OFFSET instead.
* Clean up all the APIC_IO tests which should have been SMP tests, and all
the SMP tests which should have been APIC_IO tests. Explicitly #ifdef
out all code related to the IO APICs when APIC_IO is not set.
Revision Changes Path
1.2 +3 -7 src/sys/amd64/include/segments.h
1.29 +5 -4 src/sys/bus/pci/pci.c
1.10 +1 -4 src/sys/bus/pci/pci_compat.c
1.11 +0 -3 src/sys/bus/pci/i386/pci_cfgreg.c
1.7 +5 -6 src/sys/i386/apic/apic_ipl.h
1.16 +4 -4 src/sys/i386/apic/apic_ipl.s
1.30 +21 -10 src/sys/i386/apic/apic_vector.s
1.15 +23 -7 src/sys/i386/apic/mpapic.c
1.9 +2 -0 src/sys/i386/apic/mpapic.h
1.30 +5 -1 src/sys/i386/conf/GENERIC
1.23 +0 -4 src/sys/i386/i386/autoconf.c
1.24 +1 -1 src/sys/i386/i386/globals.s
1.82 +1 -102 src/sys/i386/i386/machdep.c
1.46 +73 -18 src/sys/i386/i386/mp_machdep.c
1.22 +0 -2 src/sys/i386/i386/nexus.c
1.51 +1 -3 src/sys/i386/i386/pmap.c
1.5 +0 -3 src/sys/i386/i386/pmap_inval.c
1.21 +0 -2 src/sys/i386/i386/sys_machdep.c
1.3 +0 -2 src/sys/i386/i386/tls.c
1.65 +0 -2 src/sys/i386/i386/trap.c
1.38 +0 -2 src/sys/i386/i386/vm_machdep.c
1.7 +4 -0 src/sys/i386/icu/icu_abi.c
1.5 +17 -0 src/sys/i386/icu/icu_ipl.h
1.15 +8 -6 src/sys/i386/icu/icu_ipl.s
1.24 +7 -0 src/sys/i386/icu/icu_vector.s
1.9 +0 -3 src/sys/i386/include/ipl.h
1.10 +3 -7 src/sys/i386/include/segments.h
1.18 +2 -6 src/sys/i386/include/smp.h
1.41 +1 -6 src/sys/i386/isa/clock.c
1.41 +2 -4 src/sys/i386/isa/intr_machdep.c
1.23 +2 -2 src/sys/i386/isa/intr_machdep.h
1.29 +1 -1 src/sys/i386/isa/npx.c
http://www.dragonflybsd.org/cvsweb/src/sys/amd64/include/segments.h.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/pci/pci.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/pci/pci_compat.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/pci/i386/pci_cfgreg.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_ipl.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_ipl.s.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/apic_vector.s.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/mpapic.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/apic/mpapic.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/conf/GENERIC.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/autoconf.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/globals.s.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/machdep.c.diff?r1=1.81&r2=1.82&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/mp_machdep.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/nexus.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/pmap.c.diff?r1=1.50&r2=1.51&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/pmap_inval.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/sys_machdep.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/tls.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/trap.c.diff?r1=1.64&r2=1.65&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/vm_machdep.c.diff?r1=1.37&r2=1.38&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_abi.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_ipl.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_ipl.s.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/icu/icu_vector.s.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/ipl.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/segments.h.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/smp.h.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/clock.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.h.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/npx.c.diff?r1=1.28&r2=1.29&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]