Hi Laurent, On Mon, Aug 26, 2019 at 12:58 PM Max Filippov <jcmvb...@gmail.com> wrote: > > Xtensa binaries built for call0 ABI don't rotate register window on > function calls and returns. Invocation of signal handlers from the > kernel is therefore different in windowed and call0 ABIs. > There's currently no way to determine xtensa ELF binary ABI from the > binary itself. Add handler for the -xtensa-abi-call0 command line > parameter/QEMU_XTENSA_ABI_CALL0 envitonment variable to the qemu-user > and record ABI choice. Use it to initialize PS.WOE in xtensa_cpu_reset. > Check PS.WOE in setup_rt_frame to determine how a signal should be > delivered. > > Signed-off-by: Max Filippov <jcmvb...@gmail.com> > --- > Changes v2->v3: > > - revert to checking PS.WOE in the setup_rt_frame > > Changes v1->v2: > > - move handling of QEMU_XTENSA_ABI_CALL0 to linux-user/main.c > - check xtensa_abi_call0 instead of PS.WOE in the setup_rt_frame > > linux-user/main.c | 17 +++++++++++++++++ > linux-user/xtensa/signal.c | 25 +++++++++++++++++-------- > target/xtensa/cpu.c | 24 ++++++++++++++++++++---- > target/xtensa/cpu.h | 3 +++ > 4 files changed, 57 insertions(+), 12 deletions(-)
Could you please take a look at the most recent (v3) version of this change? The corresponding linux change is queued here: https://github.com/jcmvbkbc/linux-xtensa/commit/09f8a6db20e6ed8eab1b2b23d09d2458f6e15062 -- Thanks. -- Max