[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VE
From: |
Richard Henderson |
Subject: |
Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT |
Date: |
Wed, 27 Feb 2019 16:17:47 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 2/27/19 11:37 AM, David Hildenbrand wrote:
> #define CHECK_SIGILL(STATEMENT) \
> do { \
> if (signal(SIGILL, sig_sigill) == SIG_ERR) { \
> check("SIGILL not registered", false); \
> } \
> if (setjmp(jmp_env) == 0) { \
> STATEMENT; \
> check("SIGILL not triggered", false); \
> } \
> if (signal(SIGILL, SIG_DFL) == SIG_ERR) { \
> check("SIGILL not registered", false); \
> } \
> } while (0)
>
>
> However it only works once. During the second signal, QEMU decides to
> set the default handler.
>
> 1. In a signal handler that signal is blocked. We leave that handler via
> a longjump. So after the first signal, the signal is blocked.
And this is why we use sigaction not signal.
You can set action.sa_flags |= SA_RESETHAND to avoid needing the explicit reset
(or leave it clear to avoid the reset action that you are seeing).
You can set action.sa_flags |= SA_NODEFER to avoid having the signal added to
the signal mask of the thread, to avoid neeing to use sigsetjmp/siglongjmp. Or
you can just use sigsetjmp/siglongjmp. ;-)
r~
- [qemu-s390x] [PATCH RFC 0/2] tests/tcg: Vector instruction tests for target/s390x, David Hildenbrand, 2019/02/27
- [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, Alex Bennée, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, Alex Bennée, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, Richard Henderson, 2019/02/27
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/28
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT,
Richard Henderson <=
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, David Hildenbrand, 2019/02/28
- Re: [qemu-s390x] [PATCH RFC 2/2] tests/tcg: target/s390: Add test for VECTOR LOAD GR FROM VR ELEMENT, Richard Henderson, 2019/02/28
[qemu-s390x] [PATCH RFC 1/2] tests/tcg: Allow targets to set the optimization level, David Hildenbrand, 2019/02/27
Re: [qemu-s390x] [Qemu-devel] [PATCH RFC 1/2] tests/tcg: Allow targets to set the optimization level, Richard Henderson, 2019/02/27