Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-12-13 Thread Paolo Bonzini
Il 12/12/2013 20:57, Ed Maste ha scritto:
  This is a large change in an area that hasn't had a lot of activity of
  late; what are the next steps here?
 
  We're now in hard freeze, so the next step is to wait for 1.8 to be
  released.
 
  I reviewed the parts out of bsd-user, and had only one question.
 Ok, 1.7's now out, and we'll sort out the HOST_ABI vs. HOST_VARIANT
 question.  What's our next step after that?

Post the patches.  I'll review the non-bsd-user parts again.  And then
the next step is to find someone who commits them...  shouldn't be hard
since you probably know much more about this code than anyone else.

Paolo



Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-12-12 Thread Ed Maste
On 27 November 2013 06:29, Paolo Bonzini pbonz...@redhat.com wrote:
 Il 26/11/2013 22:01, Ed Maste ha scritto:
 On 8 November 2013 11:33, Stacey Son s...@freebsd.org wrote:
 [v2]

 - Rebases to 1.7.0-rc0. (Requires, however, Andreas Tobler's patch to
   build: see
   http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg0.html)
 - Fixes deadlock in the _umtx_op() system call handler.
 - Fixes race condition in mmap() system call handler.
 - Makes qemu-mips (o32) usable.
 - A small code clean up to the ARM cpu_loop().
 - Fixes comment in arm-bsd-user.mak to match filename.
 - Fixes symbol conflicts with FreeBSD's libcrypto for static link.

 Ping.

 This is a large change in an area that hasn't had a lot of activity of
 late; what are the next steps here?

 We're now in hard freeze, so the next step is to wait for 1.8 to be
 released.

 I reviewed the parts out of bsd-user, and had only one question.

Ok, 1.7's now out, and we'll sort out the HOST_ABI vs. HOST_VARIANT
question.  What's our next step after that?



Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-12-12 Thread Stacey Son

On Dec 12, 2013, at 1:57 PM, Ed Maste ema...@freebsd.org wrote:

 On 27 November 2013 06:29, Paolo Bonzini pbonz...@redhat.com wrote:
 Il 26/11/2013 22:01, Ed Maste ha scritto:
 
 Ping.
 
 This is a large change in an area that hasn't had a lot of activity of
 late; what are the next steps here?
 
 We're now in hard freeze, so the next step is to wait for 1.8 to be
 released.
 
 I reviewed the parts out of bsd-user, and had only one question.
 
 Ok, 1.7's now out, and we'll sort out the HOST_ABI vs. HOST_VARIANT
 question.  What's our next step after that?

FYI, I have some addition bug fixes that I will be adding in a new patch set 
(v3) and will be rebasing to HEAD.

Also, I'll make the change from HOST_ABI_DIR to HOST_VARIANT_DIR.  The idea is 
if someone wanted to run, say, OpenBSD targets on a FreeBSD host it would use 
the code in the bsd-user/freebsd directory to do that.   The code would need to 
support emulation for OpenBSD system calls that are not already natively 
supported by FreeBSD. 

Best Regards,

-stacey.


Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-11-27 Thread Paolo Bonzini
Il 26/11/2013 22:01, Ed Maste ha scritto:
 On 8 November 2013 11:33, Stacey Son s...@freebsd.org wrote:
 [v2]

 - Rebases to 1.7.0-rc0. (Requires, however, Andreas Tobler's patch to
   build: see
   http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg0.html)
 - Fixes deadlock in the _umtx_op() system call handler.
 - Fixes race condition in mmap() system call handler.
 - Makes qemu-mips (o32) usable.
 - A small code clean up to the ARM cpu_loop().
 - Fixes comment in arm-bsd-user.mak to match filename.
 - Fixes symbol conflicts with FreeBSD's libcrypto for static link.
 
 Ping.
 
 This is a large change in an area that hasn't had a lot of activity of
 late; what are the next steps here?

We're now in hard freeze, so the next step is to wait for 1.8 to be
released.

I reviewed the parts out of bsd-user, and had only one question.

Paolo




Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-11-26 Thread Ed Maste
On 8 November 2013 11:33, Stacey Son s...@freebsd.org wrote:
 [v2]

 - Rebases to 1.7.0-rc0. (Requires, however, Andreas Tobler's patch to
   build: see
   http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg0.html)
 - Fixes deadlock in the _umtx_op() system call handler.
 - Fixes race condition in mmap() system call handler.
 - Makes qemu-mips (o32) usable.
 - A small code clean up to the ARM cpu_loop().
 - Fixes comment in arm-bsd-user.mak to match filename.
 - Fixes symbol conflicts with FreeBSD's libcrypto for static link.

Ping.

This is a large change in an area that hasn't had a lot of activity of
late; what are the next steps here?

-Ed



[Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.

2013-11-11 Thread Stacey Son
[v2]

- Rebases to 1.7.0-rc0. (Requires, however, Andreas Tobler's patch to
  build: see
  http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg0.html)
- Fixes deadlock in the _umtx_op() system call handler.
- Fixes race condition in mmap() system call handler.
- Makes qemu-mips (o32) usable.
- A small code clean up to the ARM cpu_loop().
- Fixes comment in arm-bsd-user.mak to match filename.
- Fixes symbol conflicts with FreeBSD's libcrypto for static link.

[v1]

This patch series adds a significant number of system calls and mips/arm
support for bsd-user.  In its current state it can emulate most
FreeBSD mips/mips64 and arm target binaries on a x86 host in a simple
chroot environment. (see https://wiki.freebsd.org/QemuUserModeHowTo for
the details.)

Besides adding a lot of shims and other support code this change
restructures the code significantly to reduce the amount of C
preprocessor conditionals for the various target and host arch/OS's.
In general, the target cpu depedent code has been moved into into
the various arch directories and the host OS dependent code (ie.
FreeBSD, NetBSD, OpenBSD) has been moved into the OS directories as
much as possible.

I would like to recognize Olivier Houchard for a lot of the arm
dependent code and Juergen Lock, the maintainer of the FreeBSD
Qemu port, for their contributions.

Best Regards,

Stacey D. Son
---

Stacey Son (19):
  bsd-user: refresh freebsd system call numbers
  bsd-user: add HOST_ABI_DIR for the various *BSD dependent code.
  bsd-user: move OS/arch dependent code for strace into separate
directories
  bsd-user: move target arch and host OS dependent code out of main.c
  bsd-user: move target arch and host OS dependent code out of
syscall.c
  bsd-user: add support for freebsd time related system calls
  bsd-user: add support for freebsd signal related system calls
  bsd-user: move target arch and host OS dependent code out of
elfload.c
  bsd-user: add support for freebsd process related system calls
  bsd-user: add support for file system related system calls
  bsd-user: add support for stat, directory, and file control related
system calls
  bsd-user: add support for memory management related system calls
  bsd-user: add support for socket related system calls
  bsd-user: add support for thread related system calls
  bsd-user: add support for the ioctl system call
  bsd-user: add support for extended attribute and ACL related syscalls
  bsd-user: add support for miscellaneous system calls
  bsd-user: add arm, mips and mips64 options to configure target-list
  bsd-user: fix linking conflicts with FreeBSD libcrypto

 Makefile.target |5 +-
 bsd-user/Makefile.objs  |6 +-
 bsd-user/arm/syscall.h  |   36 +
 bsd-user/arm/target_arch.h  |   10 +
 bsd-user/arm/target_arch_cpu.c  |   27 +
 bsd-user/arm/target_arch_cpu.h  |  375 ++
 bsd-user/arm/target_arch_elf.h  |   54 +
 bsd-user/arm/target_arch_signal.h   |  257 +
 bsd-user/arm/target_arch_sigtramp.h |   33 +
 bsd-user/arm/target_arch_sysarch.h  |   78 ++
 bsd-user/arm/target_arch_thread.h   |   67 ++
 bsd-user/arm/target_arch_vmparam.h  |   51 +
 bsd-user/bsd-file.h |  ++
 bsd-user/bsd-ioctl.c|  448 
 bsd-user/bsd-ioctl.h|   27 +
 bsd-user/bsd-mem.c  |  122 ++
 bsd-user/bsd-mem.h  |  393 +++
 bsd-user/bsd-misc.c |  209 
 bsd-user/bsd-misc.h |  339 ++
 bsd-user/bsd-proc.c |  160 +++
 bsd-user/bsd-proc.h |  434 +++
 bsd-user/bsd-signal.h   |  232 
 bsd-user/bsd-socket.c   |  108 ++
 bsd-user/bsd-socket.h   |  266 +
 bsd-user/bsdload.c  |  170 ++-
 bsd-user/elfload.c  |  956 -
 bsd-user/errno_defs.h   |   13 +-
 bsd-user/freebsd/host_os.h  |   46 +
 bsd-user/freebsd/os-extattr.c   |  119 ++
 bsd-user/freebsd/os-extattr.h   |  644 +++
 bsd-user/freebsd/os-ioctl-cmds.h|   47 +
 bsd-user/freebsd/os-ioctl-filio.h   |   45 +
 bsd-user/freebsd/os-ioctl-ioccom.h  |   54 +
 bsd-user/freebsd/os-ioctl-ttycom.h  |  257 +
 bsd-user/freebsd/os-ioctl-types.h   |7 +
 bsd-user/freebsd/os-misc.h  |  442 
 bsd-user/freebsd/os-proc.c  |  234 
 bsd-user/freebsd/os-proc.h  |  428 +++
 bsd-user/freebsd/os-signal.h|   43 +
 bsd-user/freebsd/os-socket.c|  149 +++
 bsd-user/freebsd/os-socket.h|  548 +
 bsd-user/freebsd/os-stat.c  |  234 
 bsd-user/freebsd/os-stat.h  |  437 +++
 bsd-user/freebsd/os-strace.h|   29 +