diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2008-08-11 10:34:08 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-11 10:43:09 -0400 |
commit | 2ae111cdd8d83ebf9de72e36e68a8c84b6ebbeea (patch) | |
tree | 0ca28a5869a172d0c76caa3ad8271524cc0a733b /arch/x86/kernel/apic_32.c | |
parent | 15dd859cacf312f606f54502d1f66537a1e5c78c (diff) |
x86: apic interrupts - move assignments to irqinit_32.c, v2
64bit mode APIC interrupt handlers are set within irqinit_64.c.
Lets do tha same for 32bit mode which would help in furter code merging.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
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 | */ |