mbox series

[v2,0/2] linux-user/ppc: Deliver SIGTRAP on tw[i]/td[i]

Message ID 20220104210015.457468-1-matheus.ferst@eldorado.org.br (mailing list archive)
Headers show
Series linux-user/ppc: Deliver SIGTRAP on tw[i]/td[i] | expand

Message

Matheus K. Ferst Jan. 4, 2022, 9 p.m. UTC
From: Matheus Ferst <matheus.ferst@eldorado.org.br>

In the review of 66c6b40aba1, Richard Henderson suggested[1] using
"trap" instead of ".long 0x0" to generate the signal to test XER
save/restore behavior. However, linux-user aborts when a trap
exception is raised, so we kept the patch with SIGILL.

This patch series is a follow-up to remove the cpu_abort call, deliver
SIGTRAP instead (using TRAP_BRKPT as si_code), and apply the suggestion
to the signal_save_restore_xer test.

This change removes the "qemu: fatal: Tried to call a TRAP" reported in
issue #588[2], but we still have the "Unknown privilege violation (03)"
error.

I had some problems building with
--static, so I couldn't test if it solves the problem.

Based-on: https://lists.gnu.org/archive/html/qemu-devel/2021-12/msg03454.html

[1] https://lists.gnu.org/archive/html/qemu-ppc/2021-10/msg00143.html

v2:
 - Based-on rth's patch to use force_sig_fault and avoid merge conflicts

Matheus Ferst (2):
  linux-user/ppc: deliver SIGTRAP on POWERPC_EXCP_TRAP
  tests/tcg/ppc64le: change signal_save_restore_xer to use SIGTRAP

 linux-user/ppc/cpu_loop.c                   | 3 ++-
 tests/tcg/ppc64le/signal_save_restore_xer.c | 8 ++++----
 2 files changed, 6 insertions(+), 5 deletions(-)