diff options
Diffstat (limited to 'arch/ia64/kernel/iosapic.c')
| -rw-r--r-- | arch/ia64/kernel/iosapic.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index 574084f343fa..8832c553230a 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
| @@ -631,6 +631,7 @@ get_target_cpu (unsigned int gsi, int vector) | |||
| 631 | { | 631 | { |
| 632 | #ifdef CONFIG_SMP | 632 | #ifdef CONFIG_SMP |
| 633 | static int cpu = -1; | 633 | static int cpu = -1; |
| 634 | extern int cpe_vector; | ||
| 634 | 635 | ||
| 635 | /* | 636 | /* |
| 636 | * In case of vector shared by multiple RTEs, all RTEs that | 637 | * In case of vector shared by multiple RTEs, all RTEs that |
| @@ -653,6 +654,11 @@ get_target_cpu (unsigned int gsi, int vector) | |||
| 653 | if (!cpu_online(smp_processor_id())) | 654 | if (!cpu_online(smp_processor_id())) |
| 654 | return cpu_physical_id(smp_processor_id()); | 655 | return cpu_physical_id(smp_processor_id()); |
| 655 | 656 | ||
| 657 | #ifdef CONFIG_ACPI | ||
| 658 | if (cpe_vector > 0 && vector == IA64_CPEP_VECTOR) | ||
| 659 | return get_cpei_target_cpu(); | ||
| 660 | #endif | ||
| 661 | |||
| 656 | #ifdef CONFIG_NUMA | 662 | #ifdef CONFIG_NUMA |
| 657 | { | 663 | { |
| 658 | int num_cpus, cpu_index, iosapic_index, numa_cpu, i = 0; | 664 | int num_cpus, cpu_index, iosapic_index, numa_cpu, i = 0; |
