Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c466ed2e authored by Dimitri Sivanich's avatar Dimitri Sivanich Committed by Ingo Molnar
Browse files

x86, UV: set full apicid in uv_hub_send_ipi



The uv_hub_send_ipi() function needs to set the full apicid in the
UVH_IPI_INT mmr.

Signed-off-by: default avatarDimitri Sivanich <sivanich@sgi.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent f8a6b2b9
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -114,15 +114,14 @@ int uv_wakeup_secondary(int phys_apicid, unsigned int start_rip)

static void uv_send_IPI_one(int cpu, int vector)
{
	unsigned long val, apicid, lapicid;
	unsigned long val, apicid;
	int pnode;

	apicid = per_cpu(x86_cpu_to_apicid, cpu);
	lapicid = apicid & 0x3f; /* ZZZ macro needed */
	pnode = uv_apicid_to_pnode(apicid);

	val = (1UL << UVH_IPI_INT_SEND_SHFT) |
	      ( lapicid << UVH_IPI_INT_APIC_ID_SHFT ) |
	      (apicid << UVH_IPI_INT_APIC_ID_SHFT) |
	      (vector << UVH_IPI_INT_VECTOR_SHFT);

	uv_write_global_mmr64(pnode, UVH_IPI_INT, val);