On 2017-08-30 12:34, 'Lokesh Vutla' via Jailhouse wrote: > Get affinity levels 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 | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/hypervisor/arch/arm-common/control.c > b/hypervisor/arch/arm-common/control.c > index c5476b2..c861dd2 100644 > --- a/hypervisor/arch/arm-common/control.c > +++ b/hypervisor/arch/arm-common/control.c > @@ -38,8 +38,12 @@ void arm_cpu_park(void) > void arm_cpu_kick(unsigned int cpu_id) > { > struct sgi sgi = {}; > + u64 mpidr = per_cpu(cpu_id)->mpidr;
Also here: this line should come before the shorter existing one. > > - sgi.targets = 1 << cpu_id; > + sgi.targets = 1 << MPIDR_AFFINITY_LEVEL(mpidr, 0); > + sgi.aff1 = MPIDR_AFFINITY_LEVEL(mpidr, 1); > + sgi.aff2 = MPIDR_AFFINITY_LEVEL(mpidr, 2); > + sgi.aff3 = MPIDR_AFFINITY_LEVEL(mpidr, 3); > sgi.id = SGI_EVENT; > irqchip_send_sgi(&sgi); > } > Looks good otherwise. Where you able to run this successfully on your target? Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux -- 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.
