[PULL 00/36] 2023q3 bsd user patches

Warner Losh posted 36 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230828233821.43074-1-imp@bsdimp.com
Maintainers: Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>
bsd-user/arm/target_arch_elf.h    |   1 -
bsd-user/elfload.c                |   4 +-
bsd-user/freebsd/meson.build      |   1 +
bsd-user/freebsd/os-stat.c        | 262 ++++++++++++
bsd-user/freebsd/os-stat.h        | 663 ++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c     | 122 +++++-
bsd-user/freebsd/qemu-os.h        |  50 +++
bsd-user/i386/target_arch_elf.h   |   1 -
bsd-user/main.c                   |   2 -
bsd-user/qemu.h                   |  85 ++--
bsd-user/signal.c                 |   5 +-
bsd-user/syscall_defs.h           | 221 +++++++++-
bsd-user/x86_64/target_arch_elf.h |   1 -
include/qemu/compiler.h           |  30 ++
include/qemu/osdep.h              |  13 +
15 files changed, 1384 insertions(+), 77 deletions(-)
create mode 100644 bsd-user/freebsd/os-stat.c
create mode 100644 bsd-user/freebsd/os-stat.h
create mode 100644 bsd-user/freebsd/qemu-os.h
[PULL 00/36] 2023q3 bsd user patches
Posted by Warner Losh 1 year, 3 months ago
The following changes since commit 50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4:

  Merge tag 'pull-target-arm-20230824' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-08-24 10:08:33 -0400)

are available in the Git repository at:

  git@gitlab.com:bsdimp/qemu.git tags/2023q3-bsd-user-pull-request

for you to fetch changes up to f51e7c41acb4b17d28fc74f9f10df50a4a65fbcc:

  bsd-user: Add missing break after do_bsd_preadv (2023-08-28 12:16:18 -0600)

----------------------------------------------------------------
Pull request for bsd-user 2023 Q3 (first batch)

First batch of commits submitted by my GSoC student Karim Taha

These implement	the stat, statfs, statfh and dirents system calls.

In addition, fix a missing break statment, and submit Richard Henderson's
elf stat mmap cleansup.
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIzBAABCgAdFiEEIDX4lLAKo898zeG3bBzRKH2wEQAFAmTtL6EACgkQbBzRKH2w
EQALHQ//WOoHYxpNS1hy+oYIAvjW0JOqz9gCSFR0d56mDBShm7WO/9FZA6eGAzYQ
i5kBSVFwEBlM76K5vLTbRvCbCbAwlpAdMgI7HXValjspNhvu/66DNWmdil6GnXKu
4QRaM/QGrobmYrNmf4SdgyjlMVH7wGyTrCTpXfvPfktZLAbQq7dCyNPTsOYXJP2V
LASk8j2gyW6fDi3z1AxTNVfS7BJX6DWMhPhlvC/aUOLVVGgj9Hw9uxPaKXC1t47D
bpZ+wJb4GMkcsmuiGJ40CXowjQ+M1lBrA4rN+lTMJNttZJ+TUYmizTFkYhX+B28h
Q2JZy5eLXlsxxRByOkOwFczfDT6jlG4BlK4jmDOvKlrTPLaWIHjezztTavWIZDlU
ce1oXQo3KEdWoa/QEsuxLeBbE+uZpu5+NqLeCk1cU4GPks8nbAcD7BGl6dDHKXM4
8vCcOMZLwO+xi5Etgcf/MtTPMpSO0rD9fTq2VSdYX0H197mkOdyCDAXjfKPsBUIE
VLAnCFfajMNRc5ITobEbz4GiMD/xy5s8eDZNeefG8lgySpl9XB2Lvw7SWDz1imsL
nBgQH6RHznU65wEvVGtnCGMj5kIMbohY2AGR75iGkRdgR+t2zMjUIiaU/qivD+6z
IEJ2jqDWqtQb81jFNrFzJlsim+GYRl0HcaEmyye2bgf5LHRSSNM=
=ORJ7
-----END PGP SIGNATURE-----

----------------------------------------------------------------

Karim Taha (1):
  bsd-user: Add os-stat.c to the build

Kyle Evans (2):
  bsd-user: Disable clang warnings
  bsd-user: Define safe_fcntl macro in bsd-user/syscall_defs.h

Michal Meloun (8):
  bsd-user: Add struct target_stat to bsd-user/syscall_defs.h
  bsd-user: Add struct target_statfs
  bsd-uesr: Implement h2t_freebsd_stat and h2t_freebsd_statfs functions
  bsd-user: Implement freebsd11 stat related syscalls
  bsd-user: Implement freebsd11 fstat and fhstat related syscalls
  bsd-user: Implement freebsd11 statfs related syscalls
  bsd-user: Implement freebsd11 getdirents related syscalls
  bsd-user: Implement freebsd11 netbsd stat related syscalls

Mikaël Urankar (1):
  bsd-user: Implement do_freebsd_realpathat syscall

Richard Henderson (3):
  bsd-user: Remove ELF_START_MMAP and image_info.start_mmap
  bsd-user: Remove image_info.mmap
  bsd-user: Remove image_info.start_brk

Stacey Son (13):
  bsd-user: Declarations of h2t and t2h conversion functions.
  bsd-user: Add struct target_freebsd11_stat to bsd-user/syscall_defs
  bsd-user: Add structs target_freebsd11_{nstat,statfs}
  bsd-user: Add struct target_freebsd_fhandle and fcntl flags
  bsd-user: Implement h2t_freebsd11_stat h2t_freebsd_nstat
  bsd-user: Implement h2t_freebsd_fhandle t2h_freebsd_fhandle
  bsd-user: Implement h2t_freebds11_statfs
  bsd-user: Implement target_to_host_fcntl_cmd
  bsd-user: Implement stat related syscalls
  bsd-user: Implement statfh related syscalls
  bsd-user: Implement statfs related syscalls
  bsd-user: Implement getdents related syscalls
  bsd-user: Implement stat related syscalls

Warner Losh (8):
  bsd-user: Move _WANT_FREEBSD macros to include/qemu/osdep.h
  bsd-user; Update the definitions of __put_user and __get_user macros
  bsd-user: Rename target_freebsd_time_t to target_time_t
  bsd-user: Add glue for the freebsd11_stat syscalls
  bsd-user: Add glue for getfh and related syscalls
  bsd-user: Add glue for statfs related system calls
  bsd-user: Add getdents and fcntl related system calls
  bsd-user: Add missing break after do_bsd_preadv

 bsd-user/arm/target_arch_elf.h    |   1 -
 bsd-user/elfload.c                |   4 +-
 bsd-user/freebsd/meson.build      |   1 +
 bsd-user/freebsd/os-stat.c        | 262 ++++++++++++
 bsd-user/freebsd/os-stat.h        | 663 ++++++++++++++++++++++++++++++
 bsd-user/freebsd/os-syscall.c     | 122 +++++-
 bsd-user/freebsd/qemu-os.h        |  50 +++
 bsd-user/i386/target_arch_elf.h   |   1 -
 bsd-user/main.c                   |   2 -
 bsd-user/qemu.h                   |  85 ++--
 bsd-user/signal.c                 |   5 +-
 bsd-user/syscall_defs.h           | 221 +++++++++-
 bsd-user/x86_64/target_arch_elf.h |   1 -
 include/qemu/compiler.h           |  30 ++
 include/qemu/osdep.h              |  13 +
 15 files changed, 1384 insertions(+), 77 deletions(-)
 create mode 100644 bsd-user/freebsd/os-stat.c
 create mode 100644 bsd-user/freebsd/os-stat.h
 create mode 100644 bsd-user/freebsd/qemu-os.h

-- 
2.41.0


Re: [PULL 00/36] 2023q3 bsd user patches
Posted by Stefan Hajnoczi 1 year, 3 months ago
Applied, thanks. In the future, please invoke git-request-pull(1) with
the public HTTPS repo URL to make it easier for anyone to fetch the
changes:

> are available in the Git repository at:
>
>  git@gitlab.com:bsdimp/qemu.git tags/2023q3-bsd-user-pull-request
   ^^^^^^^^^^^^^^

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.

Thanks!
Re: [PULL 00/36] 2023q3 bsd user patches
Posted by Peter Maydell 1 year, 3 months ago
On Tue, 29 Aug 2023 at 14:51, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> Applied, thanks. In the future, please invoke git-request-pull(1) with
> the public HTTPS repo URL to make it easier for anyone to fetch the
> changes:
>
> > are available in the Git repository at:
> >
> >  git@gitlab.com:bsdimp/qemu.git tags/2023q3-bsd-user-pull-request
>    ^^^^^^^^^^^^^^

Hi; it looks like this broke the clang-user build. Here's
a gitlab CI run on my local branch:
https://gitlab.com/pm215/qemu/-/jobs/4975956600

In file included from ../../linux-user/arm/cpu_loop.c:21:
../../linux-user/qemu.h:210:9: error: 'PRAGMA_DISABLE_PACKED_WARNING'
macro redefined [-Werror,-Wmacro-redefined]
#define PRAGMA_DISABLE_PACKED_WARNING                                   \
        ^
/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/include/qemu/compiler.h:42:9:
note: previous definition is here
#define PRAGMA_DISABLE_PACKED_WARNING                                   \
        ^
1 error generated.

Looks like commit 15b950ecd16ecc added definitions
of PRAGMA_DISABLE_PACKED_WARNING and PRAGMA_REENABLE_PACKED_WARNING
to compiler.h without reconciling them with the
slightly different ones in linux-user/qemu.h.

Can we have a revert (or a quick fix), please ?

thanks
-- PMM
Re: [PULL 00/36] 2023q3 bsd user patches
Posted by Warner Losh 1 year, 3 months ago
On Tue, Aug 29, 2023 at 11:30 AM Peter Maydell <peter.maydell@linaro.org>
wrote:

> On Tue, 29 Aug 2023 at 14:51, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> >
> > Applied, thanks. In the future, please invoke git-request-pull(1) with
> > the public HTTPS repo URL to make it easier for anyone to fetch the
> > changes:
> >
> > > are available in the Git repository at:
> > >
> > >  git@gitlab.com:bsdimp/qemu.git tags/2023q3-bsd-user-pull-request
> >    ^^^^^^^^^^^^^^
>
> Hi; it looks like this broke the clang-user build. Here's
> a gitlab CI run on my local branch:
> https://gitlab.com/pm215/qemu/-/jobs/4975956600
>
> In file included from ../../linux-user/arm/cpu_loop.c:21:
> ../../linux-user/qemu.h:210:9: error: 'PRAGMA_DISABLE_PACKED_WARNING'
> macro redefined [-Werror,-Wmacro-redefined]
> #define PRAGMA_DISABLE_PACKED_WARNING                                   \
>         ^
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/include/qemu/compiler.h:42:9:
> note: previous definition is here
> #define PRAGMA_DISABLE_PACKED_WARNING                                   \
>         ^
> 1 error generated.
>
> Looks like commit 15b950ecd16ecc added definitions
> of PRAGMA_DISABLE_PACKED_WARNING and PRAGMA_REENABLE_PACKED_WARNING
> to compiler.h without reconciling them with the
> slightly different ones in linux-user/qemu.h.
>
> Can we have a revert (or a quick fix), please ?
>

I'll look into right now. I think the solution is simple and I can have
something quickly (1-2 hours tops)

Warner
Re: [PULL 00/36] 2023q3 bsd user patches
Posted by Warner Losh 1 year, 3 months ago
On Tue, Aug 29, 2023, 7:50 AM Stefan Hajnoczi <stefanha@redhat.com> wrote:

> Applied, thanks. In the future, please invoke git-request-pull(1) with
> the public HTTPS repo URL to make it easier for anyone to fetch the
> changes:
>
> > are available in the Git repository at:
> >
> >  git@gitlab.com:bsdimp/qemu.git tags/2023q3-bsd-user-pull-request
>    ^^^^^^^^^^^^^^
>

Will do. Sorry about that...

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any
> user-visible changes.
>

Once the mmap branch lands... I'll update to include hello world working...
soon I hope...

Warner

Thanks!
>