Re: [Qemu-devel] [PATCH v2 00/19] bsd-user: Add system call and mips/arm support.
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.
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.
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.
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.
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.
[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 +