All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kyle Evans <kevans@freebsd.org>
To: Warner Losh <imp@bsdimp.com>
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [PATCH 14/14] bsd-user/signal: Create a dummy signal queueing function
Date: Fri, 24 Sep 2021 15:30:18 -0500	[thread overview]
Message-ID: <CACNAnaF4dPDy6xuXeT1RhzhJ-R2Ep8Mc=8Xy7ADT1pB_EJarSg@mail.gmail.com> (raw)
In-Reply-To: <CANCZdfpNFhFQk0inNhtb6Ft4vdKtar3jBBjpL6_KfTpf9yj4dA@mail.gmail.com>

On Fri, Sep 24, 2021 at 3:11 PM Warner Losh <imp@bsdimp.com> wrote:
>
>
>
> On Fri, Sep 24, 2021 at 6:00 AM Richard Henderson <richard.henderson@linaro.org> wrote:
>>
>> On 9/21/21 11:14 PM, Warner Losh wrote:
>> > Create dummy signal queueing function so we can start to integrate other
>> > architectures (at the cost of signals remaining broken) to tame the
>> > dependency graph a bit and to bring in signals in a more controlled
>> > fashion.
>> >
>> > Signed-off-by: Warner Losh <imp@bsdimp.com>
>> > ---
>> >   bsd-user/qemu.h   | 1 +
>> >   bsd-user/signal.c | 8 ++++++++
>> >   2 files changed, 9 insertions(+)
>> >
>> > diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
>> > index 5a2fd87e44..85d1f8fd2a 100644
>> > --- a/bsd-user/qemu.h
>> > +++ b/bsd-user/qemu.h
>> > @@ -209,6 +209,7 @@ void process_pending_signals(CPUArchState *cpu_env);
>> >   void signal_init(void);
>> >   long do_sigreturn(CPUArchState *env);
>> >   long do_rt_sigreturn(CPUArchState *env);
>> > +int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info);
>> >   abi_long do_sigaltstack(abi_ulong uss_addr, abi_ulong uoss_addr, abi_ulong sp);
>> >
>> >   /* mmap.c */
>> > diff --git a/bsd-user/signal.c b/bsd-user/signal.c
>> > index ad6d935569..4e7f618944 100644
>> > --- a/bsd-user/signal.c
>> > +++ b/bsd-user/signal.c
>> > @@ -19,6 +19,14 @@
>> >   #include "qemu/osdep.h"
>> >
>> >   #include "qemu.h"
>> > +/*
>>
>> Whacky whitespace.
>
>
> fixed.
>
>>
>> > + * Queue a signal so that it will be send to the virtual CPU as soon as
>> > + * possible.
>> > + */
>> > +int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
>> > +{
>> > +    return 1;
>> > +}
>>
>> Both here and in linux-user, there are no error conditions.  We should change the return
>> to void.
>
>
> I'll prep a patch to follow up for both linux and bsd user.
>
>>
>> Also, consider folding in the signal-common.h cleanup soon.
>> But don't let either hold you up too much with rebasing.
>
>
> It's on my list. This 'dummy' routine is just to get things linking to
> help simplify the rather tangled dependency tree to get things
> in, still have them compile and still have at least simple hello
> world continue to work. Behind these reviews are three streams
> of patches for 3 more architectures: arm, aarch64 and riscv64.
>
> I'll create a patch for both linux-user and fix in bsd-user as part of the
> signal.c upstreaming I'm working on.
>
> It brings to mind something else... There's times it might be easier
> to refactor between bsd-user and linux-user rather than upstream
> something that's largely copied from linux-user. Is there a good
> way to do that and talk about the design before I sink a ton of time
> into something that's the wrong direction?
>

I had a proposal on this list a long while back to refactor some stuff
into a top-level qemu-user that could be shared between the two,
starting with safe_syscall (which syscall can be substantially
shared), but it hadn't received any traction at that time.

Thanks,

Kyle Evans


  reply	other threads:[~2021-09-24 20:37 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-22  6:14 [PATCH 00/14] bsd-user: misc cleanup for aarch64 import Warner Losh
2021-09-22  6:14 ` [PATCH 01/14] bsd-user/target_os-user.h: Remove support for FreeBSD older than 12.0 Warner Losh
2021-09-22  6:14 ` [PATCH 02/14] bsd-user/strace.list: Remove support for FreeBSD versions " Warner Losh
2021-09-23 17:57   ` Richard Henderson
2021-09-22  6:14 ` [PATCH 03/14] bsd-user: TARGET_RESET define is unused, remove it Warner Losh
2021-09-23 17:57   ` Richard Henderson
2021-09-25 10:30   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 04/14] bsd-user: export get_errno and is_error from syscall.c Warner Losh
2021-09-23 17:58   ` Richard Henderson
2021-09-25 10:33   ` Philippe Mathieu-Daudé
2021-09-26 17:14     ` Warner Losh
2021-09-22  6:14 ` [PATCH 05/14] bsd-user/errno_defs.h: Add internal error numbers Warner Losh
2021-09-23 17:59   ` Richard Henderson
2021-09-22  6:14 ` [PATCH 06/14] bsd-user: move TARGET_MC_GET_CLEAR_RET to target_os_signal.h Warner Losh
2021-09-23 18:00   ` Richard Henderson
2021-09-25 10:35   ` Philippe Mathieu-Daudé
2021-09-26 17:16     ` Warner Losh
2021-09-22  6:14 ` [PATCH 07/14] bsd-user/target_os_elf.h: Remove fallback ELF_HWCAP and reorder Warner Losh
2021-09-23 18:01   ` Richard Henderson
2021-09-25 10:36   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 08/14] bsd-user/target_os_elf: If ELF_HWCAP2 is defined, publish it Warner Losh
2021-09-23 18:01   ` Richard Henderson
2021-09-25 10:37   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 09/14] bsd-user: Remove used from TaskState Warner Losh
2021-09-23 18:02   ` Richard Henderson
2021-09-25 10:38   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 10/14] bsd-user: Add stop_all_tasks Warner Losh
2021-09-23 18:04   ` Richard Henderson
2021-09-22  6:14 ` [PATCH 11/14] bsd-user/sysarch: Move to using do_freebsd_arch_sysarch interface Warner Losh
2021-09-23 18:07   ` Richard Henderson
2021-09-24 15:25     ` Warner Losh
2021-09-22  6:14 ` [PATCH 12/14] bsd-user/sysarch: Provide a per-arch framework for sysarch syscall Warner Losh
2021-09-23 18:08   ` Richard Henderson
2021-09-25 10:46   ` Philippe Mathieu-Daudé
2021-09-26 17:21     ` Warner Losh
2021-09-22  6:14 ` [PATCH 13/14] bsd-user: Rename sigqueue to qemu_sigqueue Warner Losh
2021-09-23 18:09   ` Richard Henderson
2021-09-25 10:46   ` Philippe Mathieu-Daudé
2021-09-22  6:14 ` [PATCH 14/14] bsd-user/signal: Create a dummy signal queueing function Warner Losh
2021-09-23 18:13   ` Richard Henderson
2021-09-24 20:11     ` Warner Losh
2021-09-24 20:30       ` Kyle Evans [this message]
2021-09-24 23:51       ` Richard Henderson
2021-09-26 18:14     ` Warner Losh
2021-09-26 18:34       ` Philippe Mathieu-Daudé
2021-09-26 19:00         ` Warner Losh
2021-09-26 19:13           ` Philippe Mathieu-Daudé
2021-09-25 10:50   ` Philippe Mathieu-Daudé
2021-09-25 14:53     ` Warner Losh
2021-09-26  3:06       ` Warner Losh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACNAnaF4dPDy6xuXeT1RhzhJ-R2Ep8Mc=8Xy7ADT1pB_EJarSg@mail.gmail.com' \
    --to=kevans@freebsd.org \
    --cc=f4bug@amsat.org \
    --cc=imp@bsdimp.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.