[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 11/30] bsd-user/host/arm/host-signal.h: Implement host_signal
From: |
Peter Maydell |
Subject: |
Re: [PATCH 11/30] bsd-user/host/arm/host-signal.h: Implement host_signal_* |
Date: |
Thu, 13 Jan 2022 19:32:47 +0000 |
On Sun, 9 Jan 2022 at 16:33, Warner Losh <imp@bsdimp.com> wrote:
>
> Implement host_signal_pc, host_signal_set_pc and host_signal_write for
> arm.
>
> Signed-off-by: Kyle Evans <kevans@freebsd.org>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> +static inline bool host_signal_write(siginfo_t *info, ucontext_t *uc)
> +{
> + /*
> + * In the FSR, bit 11 is WnR. FreeBSD returns this as part of the
> + * si_info.si_trapno which we don't have access to here. We assume that
> uc
> + * is part of a trapframe and reach around to get to the si_info that's
> in
> + * the sigframe just before it, though this may be unwise.
> + */
Yeah, that's pretty nasty. But this function is passed a
siginfo_t pointer -- isn't that the one you need ?
> + siginfo_t *si;
> + si = &((siginfo_t *)uc)[-1];
> + uint32_t fsr = si->si_trapno;
> +
> + return extract32(fsr, 11, 1);
> +}
thanks
-- PMM
- Re: [PATCH 10/30] bsd-user/signal.c: Implement signal_init(), (continued)
- [PATCH 13/30] bsd-user/host/x86_64/host-signal.h: Implement host_signal_*, Warner Losh, 2022/01/09
- [PATCH 12/30] bsd-user/host/i386/host-signal.h: Implement host_signal_*, Warner Losh, 2022/01/09
- [PATCH 11/30] bsd-user/host/arm/host-signal.h: Implement host_signal_*, Warner Losh, 2022/01/09
- Re: [PATCH 11/30] bsd-user/host/arm/host-signal.h: Implement host_signal_*,
Peter Maydell <=
- [PATCH 14/30] bsd-user: Add host signals to the build, Warner Losh, 2022/01/09
- [PATCH 21/30] bsd-user/signal.c: force_sig, Warner Losh, 2022/01/09
[PATCH 17/30] bsd-user/signal.c: Implement rewind_if_in_safe_syscall, Warner Losh, 2022/01/09