| .. | .. |
|---|
| 67 | 67 | * used as architecture-independent interrupt handling mechanism in Linux. |
|---|
| 68 | 68 | * As an IRQ is a number, we have to have |
|---|
| 69 | 69 | * IA-64 interrupt vector number <-> IRQ number mapping. On smaller |
|---|
| 70 | | - * systems, we use one-to-one mapping between IA-64 vector and IRQ. A |
|---|
| 71 | | - * platform can implement platform_irq_to_vector(irq) and |
|---|
| 72 | | - * platform_local_vector_to_irq(vector) APIs to differentiate the mapping. |
|---|
| 73 | | - * Please see also arch/ia64/include/asm/hw_irq.h for those APIs. |
|---|
| 70 | + * systems, we use one-to-one mapping between IA-64 vector and IRQ. |
|---|
| 74 | 71 | * |
|---|
| 75 | 72 | * To sum up, there are three levels of mappings involved: |
|---|
| 76 | 73 | * |
|---|
| .. | .. |
|---|
| 90 | 87 | #include <linux/slab.h> |
|---|
| 91 | 88 | #include <linux/smp.h> |
|---|
| 92 | 89 | #include <linux/string.h> |
|---|
| 93 | | -#include <linux/bootmem.h> |
|---|
| 90 | +#include <linux/memblock.h> |
|---|
| 94 | 91 | |
|---|
| 95 | 92 | #include <asm/delay.h> |
|---|
| 96 | 93 | #include <asm/hw_irq.h> |
|---|
| 97 | 94 | #include <asm/io.h> |
|---|
| 98 | 95 | #include <asm/iosapic.h> |
|---|
| 99 | | -#include <asm/machvec.h> |
|---|
| 100 | 96 | #include <asm/processor.h> |
|---|
| 101 | 97 | #include <asm/ptrace.h> |
|---|
| 98 | +#include <asm/xtp.h> |
|---|
| 102 | 99 | |
|---|
| 103 | 100 | #undef DEBUG_INTERRUPT_ROUTING |
|---|
| 104 | 101 | |
|---|
| .. | .. |
|---|
| 646 | 643 | if (!cpu_online(smp_processor_id())) |
|---|
| 647 | 644 | return cpu_physical_id(smp_processor_id()); |
|---|
| 648 | 645 | |
|---|
| 649 | | -#ifdef CONFIG_ACPI |
|---|
| 650 | 646 | if (cpe_vector > 0 && irq_to_vector(irq) == IA64_CPEP_VECTOR) |
|---|
| 651 | 647 | return get_cpei_target_cpu(); |
|---|
| 652 | | -#endif |
|---|
| 653 | 648 | |
|---|
| 654 | 649 | #ifdef CONFIG_NUMA |
|---|
| 655 | 650 | { |
|---|