qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 1ed771: bsd-user/freebsd/os-syscall.c: lock_i


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 1ed771: bsd-user/freebsd/os-syscall.c: lock_iovec
Date: Sat, 11 Jun 2022 21:12:32 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1ed771b21cdb86486bd8b840d1b91bb1cd9d945e
      
https://github.com/qemu/qemu/commit/1ed771b21cdb86486bd8b840d1b91bb1cd9d945e
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/freebsd/os-syscall.c: lock_iovec

lock_iovec will lock an I/O vec and the memory to which it refers and
create a iovec in the host space that refers to it, with full error
unwinding. Add helper_iovec_unlock to unlock the partially locked iovec
in case there's an error. The code will be used in iovec_unlock when
that is committed.

Note: memory handling likely could be rewritten to use q_autofree. That
will be explored in the future since what we have now works well enough.

Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 883808d84895804a3a98e211001c3edf42355b66
      
https://github.com/qemu/qemu/commit/883808d84895804a3a98e211001c3edf42355b66
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/freebsd/os-syscall.c: unlock_iovec

Releases the references to the iovec created by lock_iovec.

Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: db69788703c5fdc590c96815c0eeeebc6a32d3e7
      
https://github.com/qemu/qemu/commit/db69788703c5fdc590c96815c0eeeebc6a32d3e7
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/freebsd/os-syscall.c: Tracing and error boilerplate

Add in the tracing and this system call not implemented boilerplate. Do
this by moving the guts of do_freebsd_syscall to freebsd_syscall. Put
the tracing in the wrapper function. Since freebsd_syscall is a
singleton static function, it will almost certainly be inlined. Fix
comments that referred to do_syscall since that was renamed some tie
ago.

Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 80da1b00886782520286e26f39ce8e21c1855072
      
https://github.com/qemu/qemu/commit/80da1b00886782520286e26f39ce8e21c1855072
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M bsd-user/bsd-file.h
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/bsd-file.h: Add implementations for read, pread, readv and preadv

Implement do_bsd_{read,pread,readv,preadv}. Connect them to the system
call table.

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 770d8abae736535c9bff17ee82bd48aea0e5fea4
      
https://github.com/qemu/qemu/commit/770d8abae736535c9bff17ee82bd48aea0e5fea4
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M bsd-user/bsd-file.h
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/bsd-file.h: Meat of the write system calls

Implement write, writev, pwrite and pwritev and connect them to the
system call dispatch routine.

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9554d33076771dcc284dc3fa1a87cd0e24b91d9d
      
https://github.com/qemu/qemu/commit/9554d33076771dcc284dc3fa1a87cd0e24b91d9d
  Author: Warner Losh <imp@bsdimp.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    A bsd-user/bsd-proc.h
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  bsd-user/freebsd/os-syscall.c: Implement exit

Implement the exit system call. Bring in bsd-proc.h to contain all the
process system call implementation and helper routines.

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Kyle Evans <kevans@FreeBSD.org>


  Commit: b871cc83d69a4463ac641286eef7d773ad5b5aaa
      
https://github.com/qemu/qemu/commit/b871cc83d69a4463ac641286eef7d773ad5b5aaa
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-06-11 (Sat, 11 Jun 2022)

  Changed paths:
    M bsd-user/bsd-file.h
    A bsd-user/bsd-proc.h
    M bsd-user/freebsd/os-syscall.c

  Log Message:
  -----------
  Merge tag 'bsd-user-preen-2022q2-pull-request' of 
ssh://github.com/qemu-bsd-user/qemu-bsd-user into staging

bsd-user upstreaming: read, write and exit

This series of patches continues the effort to get system calls working
upstream. This series was cleaved off a prior series to give me time to rework
based on the feedback from the first time I posted these. read, write and exit
are implemented, along with a few helper functions and tracing.

# -----BEGIN PGP SIGNATURE-----
# Comment: GPGTools - https://gpgtools.org
#
# iQIzBAABCgAdFiEEIDX4lLAKo898zeG3bBzRKH2wEQAFAmKknqsACgkQbBzRKH2w
# EQDJFhAA3ARnphfxKUvKHzi6ARza8YRFNJs/X48l78xugW8Fx2+UFxn/oPzVYuM3
# TUIIRNIXQxYDWP5rNN4zNfYjn1F32qx4PrLzzHw4t/0pNvNDvbVKyw+OB1pNUVI9
# 6hNH7jTLczi4OwZFPC4bJdFFHI55t4PCHxPaMQQO76lEsFzz3+9OcNNj3/j5aTBH
# kY3FsmOIKFEFuqDANjdn13lBlkNNWj5WMIsEQd+k1TPTfG3EWDlfHVJVezx9j5uH
# KMUjRRqBANLVJuqhog7sVAdkR6o/aKuq16nPVAgkLeJrsjwljoO1bGL3DTFWzhAo
# v3+S3a5gCReLXA/Z+dGCuJysmimsm+XdJWHyNIwDCV/UUg9tXc9/BI/eBSK7MLbz
# hvURY3cRSSVY+xiu5ts1OCp1bbqMaYbpIrv1mLZMA/32Y1KNv0LwSI0ClGag0MJ1
# rSVC3i/TGYn8Dk7TlfKkrKn751ZCCDsxZGROEcPlTV84Mc7080lpgYZKlgLCPJNT
# WWaVSBs9YhHhmoG3R3GurfsHnnRr8Y8iZkmndoCJdeSlmZh/1oD31PWKhnydsPa9
# jQCENkAM0dOM/r+hV+paFxOPkgklu7KLtjqGnVRxgB4j37jA9KDyw+UXLmjipP0K
# IwPlsNIfk1LujID3o5nJVgf/K+TJpXS7JDcUsuB9+FvlkeEMWm8=
# =nOc2
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 11 Jun 2022 06:54:51 AM PDT
# 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

* tag 'bsd-user-preen-2022q2-pull-request' of 
ssh://github.com/qemu-bsd-user/qemu-bsd-user:
  bsd-user/freebsd/os-syscall.c: Implement exit
  bsd-user/bsd-file.h: Meat of the write system calls
  bsd-user/bsd-file.h: Add implementations for read, pread, readv and preadv
  bsd-user/freebsd/os-syscall.c: Tracing and error boilerplate
  bsd-user/freebsd/os-syscall.c: unlock_iovec
  bsd-user/freebsd/os-syscall.c: lock_iovec

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/8b7f856e9dca...b871cc83d69a



reply via email to

[Prev in Thread] Current Thread [Next in Thread]