On Thu, Jan 13, 2022 at 4:04 PM Kyle Evans <kev...@freebsd.org> wrote:
> On Thu, Jan 13, 2022 at 2:53 PM Peter Maydell <peter.mayd...@linaro.org> > wrote: > > > > On Thu, 13 Jan 2022 at 20:29, Peter Maydell <peter.mayd...@linaro.org> > wrote: > > > > > > On Sun, 9 Jan 2022 at 16:44, Warner Losh <i...@bsdimp.com> wrote: > > > > > > > > Force delivering a signal and generating a core file. > > > > > > +/* Abort execution with signal. */ > > > > +void QEMU_NORETURN force_sig(int target_sig) > > > > > > In linux-user we call this dump_core_and_abort(), which is > > > a name that better describes what it's actually doing. > > > > > > (Today's linux-user's force_sig() does what the Linux kernel's > > > function of that name does -- it's a wrapper around > > > queue_signal() which delivers a signal to the guest with > > > .si_code = SI_KERNEL , si_pid = si_uid = 0. > > > Whether you want one of those or not depends on what BSD > > > kernels do in that kind of "we have to kill this process" > > > situation.) > > > > It looks like the FreeBSD kernel uses sigexit() as its equivalent > > function to Linux's force_sig(), incidentally. Not sure if > > you/we would prefer the bsd-user code to follow the naming that > > FreeBSD's kernel uses or the naming linux-user takes from > > the Linux kernel. > > > > My $.02: let's go with linux-inherited linux-user names and drop in a > comment with the FreeBSD name, if they're functionally similar enough > (in general, not just for this specific case). My gut feeling is that > it'll be more useful in the long run if we can more quickly identify > parallels between the two, so changes affecting linux-user that may > benefit bsd-user are more easily identified and exchanged (and > vice-versa). > OK. I've updated the patches to do the renaming. There was one bad call to force_sig (do_sigreturn should just return EFAULT instead of generating a core). I've also fixed the SIGILL on BSD as well. The rest all look like they should be renamed. None look like they were copied from linux-user and should be the linux version :). Warner