Get cluster_id from mpidr and populate it in sgi before
sending sgi in arm_cpu_kick().

Signed-off-by: Lokesh Vutla <[email protected]>
---
 hypervisor/arch/arm-common/control.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hypervisor/arch/arm-common/control.c 
b/hypervisor/arch/arm-common/control.c
index c5476b2..54f0de8 100644
--- a/hypervisor/arch/arm-common/control.c
+++ b/hypervisor/arch/arm-common/control.c
@@ -37,9 +37,11 @@ void arm_cpu_park(void)
 
 void arm_cpu_kick(unsigned int cpu_id)
 {
+       u64 mpidr = per_cpu(cpu_id)->mpidr;
        struct sgi sgi = {};
 
-       sgi.targets = 1 << cpu_id;
+       sgi.targets = 1 << MPIDR_AFFINITY_LEVEL(mpidr, 0);
+       sgi.cluster_id = mpidr & MPIDR_CLUSTERID_MASK;
        sgi.id = SGI_EVENT;
        irqchip_send_sgi(&sgi);
 }
-- 
2.13.0

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to