diff options
author | nyan <nyan@FreeBSD.org> | 2001-12-22 00:38:32 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2001-12-22 00:38:32 +0000 |
commit | db7ffc95544619853809d2e0b3e88c8d2db19131 (patch) | |
tree | c1086d97b8bdca94860822067056736bef7f3f03 /sys | |
parent | 560333de36f3254e2a348de196219bbc0dbf2864 (diff) | |
download | FreeBSD-src-db7ffc95544619853809d2e0b3e88c8d2db19131.zip FreeBSD-src-db7ffc95544619853809d2e0b3e88c8d2db19131.tar.gz |
MFi386: revision 1.179
Diffstat (limited to 'sys')
-rw-r--r-- | sys/pc98/cbus/clock.c | 10 | ||||
-rw-r--r-- | sys/pc98/cbus/pcrtc.c | 10 | ||||
-rw-r--r-- | sys/pc98/pc98/clock.c | 10 |
3 files changed, 30 insertions, 0 deletions
diff --git a/sys/pc98/cbus/clock.c b/sys/pc98/cbus/clock.c index 6d3e095..54bf0f8 100644 --- a/sys/pc98/cbus/clock.c +++ b/sys/pc98/cbus/clock.c @@ -1367,7 +1367,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, &clkdesc); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); #else /* APIC_IO */ @@ -1378,7 +1380,9 @@ cpu_initclocks() */ inthand_add("clk", 0, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(IRQ0); + mtx_unlock_spin(&icu_lock); #endif /* APIC_IO */ @@ -1404,11 +1408,13 @@ cpu_initclocks() inthand_add("rtc", 8, (driver_intr_t *)rtcintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); #ifdef APIC_IO INTREN(APIC_IRQ8); #else INTREN(IRQ8); #endif /* APIC_IO */ + mtx_unlock_spin(&icu_lock); writertc(RTC_STATUSB, rtc_statusb); #endif /* PC98 */ @@ -1426,7 +1432,9 @@ cpu_initclocks() * on the IO APIC. * Workaround: Limited variant of mixed mode. */ + mtx_lock_spin(&icu_lock); INTRDIS(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); inthand_remove(clkdesc); printf("APIC_IO: Broken MP table detected: " "8254 is not connected to " @@ -1449,7 +1457,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); } } diff --git a/sys/pc98/cbus/pcrtc.c b/sys/pc98/cbus/pcrtc.c index 6d3e095..54bf0f8 100644 --- a/sys/pc98/cbus/pcrtc.c +++ b/sys/pc98/cbus/pcrtc.c @@ -1367,7 +1367,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, &clkdesc); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); #else /* APIC_IO */ @@ -1378,7 +1380,9 @@ cpu_initclocks() */ inthand_add("clk", 0, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(IRQ0); + mtx_unlock_spin(&icu_lock); #endif /* APIC_IO */ @@ -1404,11 +1408,13 @@ cpu_initclocks() inthand_add("rtc", 8, (driver_intr_t *)rtcintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); #ifdef APIC_IO INTREN(APIC_IRQ8); #else INTREN(IRQ8); #endif /* APIC_IO */ + mtx_unlock_spin(&icu_lock); writertc(RTC_STATUSB, rtc_statusb); #endif /* PC98 */ @@ -1426,7 +1432,9 @@ cpu_initclocks() * on the IO APIC. * Workaround: Limited variant of mixed mode. */ + mtx_lock_spin(&icu_lock); INTRDIS(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); inthand_remove(clkdesc); printf("APIC_IO: Broken MP table detected: " "8254 is not connected to " @@ -1449,7 +1457,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); } } diff --git a/sys/pc98/pc98/clock.c b/sys/pc98/pc98/clock.c index 6d3e095..54bf0f8 100644 --- a/sys/pc98/pc98/clock.c +++ b/sys/pc98/pc98/clock.c @@ -1367,7 +1367,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, &clkdesc); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); #else /* APIC_IO */ @@ -1378,7 +1380,9 @@ cpu_initclocks() */ inthand_add("clk", 0, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(IRQ0); + mtx_unlock_spin(&icu_lock); #endif /* APIC_IO */ @@ -1404,11 +1408,13 @@ cpu_initclocks() inthand_add("rtc", 8, (driver_intr_t *)rtcintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); #ifdef APIC_IO INTREN(APIC_IRQ8); #else INTREN(IRQ8); #endif /* APIC_IO */ + mtx_unlock_spin(&icu_lock); writertc(RTC_STATUSB, rtc_statusb); #endif /* PC98 */ @@ -1426,7 +1432,9 @@ cpu_initclocks() * on the IO APIC. * Workaround: Limited variant of mixed mode. */ + mtx_lock_spin(&icu_lock); INTRDIS(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); inthand_remove(clkdesc); printf("APIC_IO: Broken MP table detected: " "8254 is not connected to " @@ -1449,7 +1457,9 @@ cpu_initclocks() inthand_add("clk", apic_8254_intr, (driver_intr_t *)clkintr, NULL, INTR_TYPE_CLK | INTR_FAST, NULL); + mtx_lock_spin(&icu_lock); INTREN(1 << apic_8254_intr); + mtx_unlock_spin(&icu_lock); } } |