aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/cpudata.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-17 11:38:06 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:13:24 -0500
commitebd8c56c5ae154e2c6cfb7453a76a4e7265b2377 (patch)
tree155df85100a1316ac103dcaed140d20ddc72c855 /include/asm-sparc64/cpudata.h
parent101d5c18a928ef82b6c7bf99a9eaa536b5ccf593 (diff)
[SPARC64]: Fix uniprocessor IRQ targetting on SUN4V.
We need to use the real hardware processor ID when targetting interrupts, not the "define to 0" thing the uniprocessor build gives us. Also, fill in the Node-ID and Agent-ID fields properly on sun4u/Safari. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/cpudata.h')
-rw-r--r--include/asm-sparc64/cpudata.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h
index 771aa94dfd95..84656f1895cd 100644
--- a/include/asm-sparc64/cpudata.h
+++ b/include/asm-sparc64/cpudata.h
@@ -80,7 +80,6 @@ extern struct trap_per_cpu trap_block[NR_CPUS];
80extern void init_cur_cpu_trap(struct thread_info *); 80extern void init_cur_cpu_trap(struct thread_info *);
81extern void setup_tba(void); 81extern void setup_tba(void);
82 82
83#ifdef CONFIG_SMP
84struct cpuid_patch_entry { 83struct cpuid_patch_entry {
85 unsigned int addr; 84 unsigned int addr;
86 unsigned int cheetah_safari[4]; 85 unsigned int cheetah_safari[4];
@@ -89,7 +88,6 @@ struct cpuid_patch_entry {
89 unsigned int sun4v[4]; 88 unsigned int sun4v[4];
90}; 89};
91extern struct cpuid_patch_entry __cpuid_patch, __cpuid_patch_end; 90extern struct cpuid_patch_entry __cpuid_patch, __cpuid_patch_end;
92#endif
93 91
94struct sun4v_1insn_patch_entry { 92struct sun4v_1insn_patch_entry {
95 unsigned int addr; 93 unsigned int addr;
@@ -123,8 +121,6 @@ extern struct sun4v_2insn_patch_entry __sun4v_2insn_patch,
123 121
124#include <asm/scratchpad.h> 122#include <asm/scratchpad.h>
125 123
126#ifdef CONFIG_SMP
127
128#define __GET_CPUID(REG) \ 124#define __GET_CPUID(REG) \
129 /* Spitfire implementation (default). */ \ 125 /* Spitfire implementation (default). */ \
130661: ldxa [%g0] ASI_UPA_CONFIG, REG; \ 126661: ldxa [%g0] ASI_UPA_CONFIG, REG; \
@@ -156,6 +152,8 @@ extern struct sun4v_2insn_patch_entry __sun4v_2insn_patch,
156 nop; \ 152 nop; \
157 .previous; 153 .previous;
158 154
155#ifdef CONFIG_SMP
156
159#define TRAP_LOAD_TRAP_BLOCK(DEST, TMP) \ 157#define TRAP_LOAD_TRAP_BLOCK(DEST, TMP) \
160 __GET_CPUID(TMP) \ 158 __GET_CPUID(TMP) \
161 sethi %hi(trap_block), DEST; \ 159 sethi %hi(trap_block), DEST; \