On 2018-04-06 13:33, Nikhil Devshatwar wrote:
> Hi all,
> 
> I am writing a baremetal Jailhouse loader[1] on QEMU platform.
> Right now SGIs are not working between CPU cores (possibly some GIC
> config missing).
> 

Means we are talking about bare-metal code running directly in QEMU, no
Jailhouse involved at that point, right?

> Also, I picked up the psci series from Ralf[2] which has a psci-demo to
> send SGIs from inmate.
> With the CONFIG_BARE_METAL, I am able to build this as a baremetal
> application.
> 
> Even with baremetal psci-demo application, I am facing the same issue
> where the SGIs sent from one core do not fire interrupts on the other core.
> Ralf confirmed that the same application works on real platforms, but
> fails on QEMU.
> 
> Is there anything specific that I need to do to enable SGIs **specially
> on QEMU**?
> 
> My QEMU cmdline is https://pastebin.ubuntu.com/p/BrvyCm88dS/
> 
> Also, as part of my debug, I enabled QEMU traces for GICv3 for Linux
> kernel[3]
> 
> Even after reverse engineering[4] the traces and adding the
> generated GIC config code[5] in the psci-demo, still no luck in getting
> SGIs working.
> 
> I don't know somehow kernel is able to use SGIs but the baremetal app is
> not.
> Any help on this will be much appreciated.

How do the traces of the non-working bare-metal SGI transmission differ
from those issued by Linux guests?

And then I would use gdb on qemu, stepping through the SGI transmission
code to see where it branches differently under bare-metal workload.
Usually, this reveals rather quickly why QEMU decides not to deliver
some interrupt because of bit X having the wrong value or state Y not
being reached.

Jan

> 
> [1]
> https://gist.github.com/nikhildevshatwar/e17121c1355422a61fddaa52615fc7a9
> [2] https://github.com/lfd/jailhouse/tree/arm-psci
> [3] https://pastebin.ubuntu.com/p/jQKsshVJSp/
> [4] https://pastebin.ubuntu.com/p/q7y64645v2/
> [5] https://pastebin.ubuntu.com/p/RMwySvW4bK/
> 
> Thanks & Regards,
> Nikhil Devshatwar

-- 
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 jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to