Skip to content
  • Peter Maydell's avatar
    5cbe6411
    Merge remote-tracking branch 'remotes/bsdimp/tags/bsd-user-arm-2022q1-pull-request' into staging · 5cbe6411
    Peter Maydell authored
    bsd-user: upstream signal implementation
    
    Upstream the bsd-user fork signal implementation, for the most part.  This
    series of commits represents nearly all of the infrastructure that surround
    signals, except the actual system call glue (that was also reworked in the
    fork and needs its own series). In addition, this adds the sigsegv and sigbus
    code to arm. Even in the fork, we don't have good x86 signal implementation,
    so there's little to upstream for that at the moment.
    
    bsd-user's signal implementation is similar to linux-user's. The full context
    can be found in the bsd-user's fork's 'blitz branch' at
    https://github.com/qemu-bsd-user/qemu-bsd-user/tree/blitz which shows how these
    are used to implement various system calls. Since this was built from
    linux-user's stack stuff, evolved for BSD with the passage of a few years, it
    no-doubt missed some bug fixes from linux-user (though nothing obvious stood out
    in the quick comparison I made). After the first round of reviews, many of these
    improvements have been incorporated.
    
    Patchew history: https://patchew.org/QEMU/20220125012947.14974-1-imp@bsdimp.com/
    
    
    
    # gpg: Signature made Mon 31 Jan 2022 19:55:51 GMT
    # gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
    # gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
    # gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
    # gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
    # gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
    # gpg:                 aka "Warner Losh <wlosh@bsdimp.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100
    
    * remotes/bsdimp/tags/bsd-user-arm-2022q1-pull-request: (40 commits)
      bsd-user/freebsd/target_os_ucontext.h: Prefer env as arg name for CPUArchState args
      bsd-user: Rename arg name for target_cpu_reset to env
      MAINTAINERS: Add tests/vm/*bsd to the list to get reviews on
      bsd-user/signal.c: do_sigaltstack
      bsd-user/signal.c: implement do_sigaction
      bsd-user/signal.c: implement do_sigreturn
      bsd-user/signal.c: process_pending_signals
      bsd-user/signal.c: tswap_siginfo
      bsd-user/signal.c: handle_pending_signal
      bsd-user/signal.c: setup_frame
      bsd-user/signal.c: sigset manipulation routines.
      bsd-user/signal.c: Fill in queue_signal
      bsd-user/signal.c: Implement dump_core_and_abort
      bsd-user/strace.c: print_taken_signal
      bsd-user/signal.c: Implement host_signal_handler
      bsd-user/signal.c: Implement rewind_if_in_safe_syscall
      bsd-user/signal.c: host_to_target_siginfo_noswap
      bsd-user: Add trace events for bsd-user
      bsd-user: Add host signals to the build
      bsd-user/host/x86_64/host-signal.h: Implement host_signal_*
      ...
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    5cbe6411
    Merge remote-tracking branch 'remotes/bsdimp/tags/bsd-user-arm-2022q1-pull-request' into staging
    Peter Maydell authored
    bsd-user: upstream signal implementation
    
    Upstream the bsd-user fork signal implementation, for the most part.  This
    series of commits represents nearly all of the infrastructure that surround
    signals, except the actual system call glue (that was also reworked in the
    fork and needs its own series). In addition, this adds the sigsegv and sigbus
    code to arm. Even in the fork, we don't have good x86 signal implementation,
    so there's little to upstream for that at the moment.
    
    bsd-user's signal implementation is similar to linux-user's. The full context
    can be found in the bsd-user's fork's 'blitz branch' at
    https://github.com/qemu-bsd-user/qemu-bsd-user/tree/blitz which shows how these
    are used to implement various system calls. Since this was built from
    linux-user's stack stuff, evolved for BSD with the passage of a few years, it
    no-doubt missed some bug fixes from linux-user (though nothing obvious stood out
    in the quick comparison I made). After the first round of reviews, many of these
    improvements have been incorporated.
    
    Patchew history: https://patchew.org/QEMU/20220125012947.14974-1-imp@bsdimp.com/
    
    
    
    # gpg: Signature made Mon 31 Jan 2022 19:55:51 GMT
    # gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
    # gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
    # gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
    # gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
    # gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
    # gpg:                 aka "Warner Losh <wlosh@bsdimp.com>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100
    
    * remotes/bsdimp/tags/bsd-user-arm-2022q1-pull-request: (40 commits)
      bsd-user/freebsd/target_os_ucontext.h: Prefer env as arg name for CPUArchState args
      bsd-user: Rename arg name for target_cpu_reset to env
      MAINTAINERS: Add tests/vm/*bsd to the list to get reviews on
      bsd-user/signal.c: do_sigaltstack
      bsd-user/signal.c: implement do_sigaction
      bsd-user/signal.c: implement do_sigreturn
      bsd-user/signal.c: process_pending_signals
      bsd-user/signal.c: tswap_siginfo
      bsd-user/signal.c: handle_pending_signal
      bsd-user/signal.c: setup_frame
      bsd-user/signal.c: sigset manipulation routines.
      bsd-user/signal.c: Fill in queue_signal
      bsd-user/signal.c: Implement dump_core_and_abort
      bsd-user/strace.c: print_taken_signal
      bsd-user/signal.c: Implement host_signal_handler
      bsd-user/signal.c: Implement rewind_if_in_safe_syscall
      bsd-user/signal.c: host_to_target_siginfo_noswap
      bsd-user: Add trace events for bsd-user
      bsd-user: Add host signals to the build
      bsd-user/host/x86_64/host-signal.h: Implement host_signal_*
      ...
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading