aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/genx2apic_uv_x.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kernel/genx2apic_uv_x.c b/arch/x86/kernel/genx2apic_uv_x.c
index 6adb5e6f4d92..89b84e004f04 100644
--- a/arch/x86/kernel/genx2apic_uv_x.c
+++ b/arch/x86/kernel/genx2apic_uv_x.c
@@ -114,16 +114,15 @@ int uv_wakeup_secondary(int phys_apicid, unsigned int start_rip)
114 114
115static void uv_send_IPI_one(int cpu, int vector) 115static void uv_send_IPI_one(int cpu, int vector)
116{ 116{
117 unsigned long val, apicid, lapicid; 117 unsigned long val, apicid;
118 int pnode; 118 int pnode;
119 119
120 apicid = per_cpu(x86_cpu_to_apicid, cpu); 120 apicid = per_cpu(x86_cpu_to_apicid, cpu);
121 lapicid = apicid & 0x3f; /* ZZZ macro needed */
122 pnode = uv_apicid_to_pnode(apicid); 121 pnode = uv_apicid_to_pnode(apicid);
123 122
124 val = ( 1UL << UVH_IPI_INT_SEND_SHFT ) | 123 val = (1UL << UVH_IPI_INT_SEND_SHFT) |
125 ( lapicid << UVH_IPI_INT_APIC_ID_SHFT ) | 124 (apicid << UVH_IPI_INT_APIC_ID_SHFT) |
126 ( vector << UVH_IPI_INT_VECTOR_SHFT ); 125 (vector << UVH_IPI_INT_VECTOR_SHFT);
127 126
128 uv_write_global_mmr64(pnode, UVH_IPI_INT, val); 127 uv_write_global_mmr64(pnode, UVH_IPI_INT, val);
129} 128}