On Mon, Oct 28, 2019 at 7:08 PM Kyle Evans <kev...@freebsd.org> wrote: > > Hi, > > We're working on improving bsd-user in a local tree and rebasing forward > to get our work suitable for upstreaming. I'm porting the safe_syscall stuff > over to bsd-user, and would like to get some design guidance as it may best > be implemented with some refactoring of linux-user. > > Below is an example of the refactoring my initial approach takes. I'm > omitting !x86_64 in this e-mail because it's all along the same lines and > only including the part relevant to linux-user. Effectively, linux-user/host > is moved to qemu-user/host along with ^/linux-user/safe-syscall.S. > > Some bits specific to FreeBSD, also likely other *BSD but I've not yet > verified, are sprinkled throughout host/*/* parts; this is the main point I > suspect may be objectionable. FreeBSD indicates syscall error differently > than Linux, and *context bits are also different. Other OS-specific bits > for other arch are similar to the diff below. > > A full version of this can be found in my tree, currently only available on > GitHub: https://github.com/kevans91/qemu-bsd-user/tree/safe_syscall -- this > is applied to our version, currently based on qemu 3.1. > > Thoughts? >
We've settled on duplicating the linux-user side over to bsd-user for now to make progress, and make another attempt to solicit design feedback later when we've rebased the rest of our work forward to modern qemu. Thanks, Kyle Evans