On 28 March 2014 19:38, Michael Casadevall michael.casadevall@linaro.org wrote:
On 03/28/2014 02:09 PM, Christoffer Dall wrote:
On Fri, Mar 28, 2014 at 04:26:59AM -0400, Michael Casadevall wrote:
Previous attempts to debug assets shows that EFI does "odd" things to the stack when we hit an exception, making walking it with GDB impossible. I need to figure out what madness EFI does with my SP so I can get the entire stack on an explosion, but this remains at best hopeful thinking.
This sounds very strange - could it be that because you take an exception, you use a SP from a different mode and everything just messes up?
This could be GDB just being unhappy. I've had issues walking the stack in KVM in general, but even if I walk the stack by hand, I don't see a pointer to the next frame when we're in an exception. To my knowledge, UEFI uses the standard AArch64 C ABI, but this might be a faulty exception on my part.
There's a bug in QEMU's AArch64 KVM support which means we don't do the right thing with SP on syncing state to/from the kernel, so don't trust that.... (Fixed either in master or in my a64-system patchset, I forget which).
thanks -- PMM