qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/3] tests/tcg/ppc64le: change signal_save_restore_xer to


From: Laurent Vivier
Subject: Re: [PATCH v3 2/3] tests/tcg/ppc64le: change signal_save_restore_xer to use SIGTRAP
Date: Fri, 4 Mar 2022 14:28:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

Le 13/01/2022 à 18:04, matheus.ferst@eldorado.org.br a écrit :
From: Matheus Ferst <matheus.ferst@eldorado.org.br>

Now that linux-user delivers the signal on tw, we can change
signal_save_restore_xer to use SIGTRAP instead of SIGILL.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
---
  tests/tcg/ppc64le/signal_save_restore_xer.c | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/tcg/ppc64le/signal_save_restore_xer.c 
b/tests/tcg/ppc64le/signal_save_restore_xer.c
index e4f8a07dd7..9227f4f455 100644
--- a/tests/tcg/ppc64le/signal_save_restore_xer.c
+++ b/tests/tcg/ppc64le/signal_save_restore_xer.c
@@ -11,7 +11,7 @@
uint64_t saved; -void sigill_handler(int sig, siginfo_t *si, void *ucontext)
+void sigtrap_handler(int sig, siginfo_t *si, void *ucontext)
  {
      ucontext_t *uc = ucontext;
      uc->uc_mcontext.regs->nip += 4;
@@ -23,14 +23,14 @@ int main(void)
  {
      uint64_t initial = XER_CA | XER_CA32, restored;
      struct sigaction sa = {
-        .sa_sigaction = sigill_handler,
+        .sa_sigaction = sigtrap_handler,
          .sa_flags = SA_SIGINFO
      };
- sigaction(SIGILL, &sa, NULL);
+    sigaction(SIGTRAP, &sa, NULL);
asm("mtspr 1, %1\n\t"
-        ".long 0x0\n\t"
+        "trap\n\t"
          "mfspr %0, 1\n\t"
          : "=r" (restored)
          : "r" (initial));

Applied to my linux-user-for-7.0 branch.

Thanks,
Laurent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]