.. | .. |
---|
18 | 18 | #include <linux/bitops.h> |
---|
19 | 19 | #include <linux/irqreturn.h> |
---|
20 | 20 | |
---|
21 | | -#include <asm/io.h> |
---|
22 | 21 | #include <asm/param.h> |
---|
23 | 22 | #include <asm/processor.h> |
---|
24 | 23 | #include <asm/ptrace.h> |
---|
.. | .. |
---|
44 | 43 | |
---|
45 | 44 | #ifdef CONFIG_SMP |
---|
46 | 45 | |
---|
47 | | -#define XTP_OFFSET 0x1e0008 |
---|
48 | | - |
---|
49 | | -#define SMP_IRQ_REDIRECTION (1 << 0) |
---|
50 | | -#define SMP_IPI_REDIRECTION (1 << 1) |
---|
51 | | - |
---|
52 | 46 | #define raw_smp_processor_id() (current_thread_info()->cpu) |
---|
53 | 47 | |
---|
54 | 48 | extern struct smp_boot_data { |
---|
.. | .. |
---|
62 | 56 | DECLARE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map); |
---|
63 | 57 | extern int smp_num_siblings; |
---|
64 | 58 | extern void __iomem *ipi_base_addr; |
---|
65 | | -extern unsigned char smp_int_redirect; |
---|
66 | 59 | |
---|
67 | 60 | extern volatile int ia64_cpu_to_sapicid[]; |
---|
68 | 61 | #define cpu_physical_id(i) ia64_cpu_to_sapicid[i] |
---|
.. | .. |
---|
82 | 75 | if (cpu_physical_id(i) == cpuid) |
---|
83 | 76 | break; |
---|
84 | 77 | return i; |
---|
85 | | -} |
---|
86 | | - |
---|
87 | | -/* |
---|
88 | | - * XTP control functions: |
---|
89 | | - * min_xtp : route all interrupts to this CPU |
---|
90 | | - * normal_xtp: nominal XTP value |
---|
91 | | - * max_xtp : never deliver interrupts to this CPU. |
---|
92 | | - */ |
---|
93 | | - |
---|
94 | | -static inline void |
---|
95 | | -min_xtp (void) |
---|
96 | | -{ |
---|
97 | | - if (smp_int_redirect & SMP_IRQ_REDIRECTION) |
---|
98 | | - writeb(0x00, ipi_base_addr + XTP_OFFSET); /* XTP to min */ |
---|
99 | | -} |
---|
100 | | - |
---|
101 | | -static inline void |
---|
102 | | -normal_xtp (void) |
---|
103 | | -{ |
---|
104 | | - if (smp_int_redirect & SMP_IRQ_REDIRECTION) |
---|
105 | | - writeb(0x08, ipi_base_addr + XTP_OFFSET); /* XTP normal */ |
---|
106 | | -} |
---|
107 | | - |
---|
108 | | -static inline void |
---|
109 | | -max_xtp (void) |
---|
110 | | -{ |
---|
111 | | - if (smp_int_redirect & SMP_IRQ_REDIRECTION) |
---|
112 | | - writeb(0x0f, ipi_base_addr + XTP_OFFSET); /* Set XTP to max */ |
---|
113 | 78 | } |
---|
114 | 79 | |
---|
115 | 80 | /* Upping and downing of CPUs */ |
---|