diff options
Diffstat (limited to 'arch/x86/kernel/apic_32.c')
-rw-r--r-- | arch/x86/kernel/apic_32.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c index f93c18f5b79d..9e341c9d9414 100644 --- a/arch/x86/kernel/apic_32.c +++ b/arch/x86/kernel/apic_32.c | |||
@@ -1354,54 +1354,6 @@ void smp_error_interrupt(struct pt_regs *regs) | |||
1354 | irq_exit(); | 1354 | irq_exit(); |
1355 | } | 1355 | } |
1356 | 1356 | ||
1357 | #ifdef CONFIG_SMP | ||
1358 | void __init smp_intr_init(void) | ||
1359 | { | ||
1360 | /* | ||
1361 | * IRQ0 must be given a fixed assignment and initialized, | ||
1362 | * because it's used before the IO-APIC is set up. | ||
1363 | */ | ||
1364 | set_intr_gate(FIRST_DEVICE_VECTOR, interrupt[0]); | ||
1365 | |||
1366 | /* | ||
1367 | * The reschedule interrupt is a CPU-to-CPU reschedule-helper | ||
1368 | * IPI, driven by wakeup. | ||
1369 | */ | ||
1370 | alloc_intr_gate(RESCHEDULE_VECTOR, reschedule_interrupt); | ||
1371 | |||
1372 | /* IPI for invalidation */ | ||
1373 | alloc_intr_gate(INVALIDATE_TLB_VECTOR, invalidate_interrupt); | ||
1374 | |||
1375 | /* IPI for generic function call */ | ||
1376 | alloc_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt); | ||
1377 | |||
1378 | /* IPI for single call function */ | ||
1379 | set_intr_gate(CALL_FUNCTION_SINGLE_VECTOR, | ||
1380 | call_function_single_interrupt); | ||
1381 | } | ||
1382 | #endif | ||
1383 | |||
1384 | /* | ||
1385 | * Initialize APIC interrupts | ||
1386 | */ | ||
1387 | void __init apic_intr_init(void) | ||
1388 | { | ||
1389 | #ifdef CONFIG_SMP | ||
1390 | smp_intr_init(); | ||
1391 | #endif | ||
1392 | /* self generated IPI for local APIC timer */ | ||
1393 | alloc_intr_gate(LOCAL_TIMER_VECTOR, apic_timer_interrupt); | ||
1394 | |||
1395 | /* IPI vectors for APIC spurious and error interrupts */ | ||
1396 | alloc_intr_gate(SPURIOUS_APIC_VECTOR, spurious_interrupt); | ||
1397 | alloc_intr_gate(ERROR_APIC_VECTOR, error_interrupt); | ||
1398 | |||
1399 | /* thermal monitor LVT interrupt */ | ||
1400 | #ifdef CONFIG_X86_MCE_P4THERMAL | ||
1401 | alloc_intr_gate(THERMAL_APIC_VECTOR, thermal_interrupt); | ||
1402 | #endif | ||
1403 | } | ||
1404 | |||
1405 | /** | 1357 | /** |
1406 | * connect_bsp_APIC - attach the APIC to the interrupt system | 1358 | * connect_bsp_APIC - attach the APIC to the interrupt system |
1407 | */ | 1359 | */ |