[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c)
From: |
J. Mayer |
Subject: |
Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c) |
Date: |
Sun, 04 Nov 2007 02:35:25 +0100 |
On Sat, 2007-11-03 at 19:16 -0600, Thayne Harbaugh wrote:
> On Sat, 2007-11-03 at 20:13 +0100, Fabrice Bellard wrote:
> > Thayne Harbaugh wrote:
> > > On Sat, 2007-11-03 at 13:52 +0100, J. Mayer wrote:
> > >> On Sat, 2007-11-03 at 01:21 +0000, Thiemo Seufer wrote:
> > >> [...]
> > >> But it could be great to group the syscalls by
> > >> categories, or so. For example, putting all POSIX compliant syscalls in
> > >> a single file and using a syscall table could make quite easy to develop
> > >> a BSD-user target (I did this in the past, not in Qemu though...). POSIX
> > >> compliant interfaces can mostly be shared with Linux ones and a lot of
> > >> other syscalls are common to the 3 BSD flavors (Net, Open and Free..).
> > >> Being able to add a BSD target sharing the same code would be a proof
> > >> the code is flexible and well organized; I guess large parts of the
> > >> Darwin user target could also be merged with a FreeBSD user target...
> > >
> > > That's a reasonable strategy as well. I've looked through some of the
> > > darwin code and have considered how common code could be merged.
> >
> > I am strongly against such merges.
> >
> > Different OS emulation must be handled in different directories (and
> > maybe even in different projects) as they are likely to have subtle
> > differences which makes impossible to test a modification made for one
> > OS without testing all the other OSes.
>
> Agreed.
If you take a close look, you'll find more variations between Linux ABIs
for different CPUs than between all BSD implementations: common syscalls
of all BSD flavors do the same thing (and have the same ABI whatever the
CPU...). You'll also find very few variations between the syscalls
common to BSD & Linux because most of those directly map POSIX defined
functions.
Then, following the given argument, we never should try to share any
code between linux-user for different targets, as the Linux ABI and
behavior is different for different CPUs...
--
J. Mayer <address@hidden>
Never organized
- [Qemu-devel] [RFC] linux-user (mostly syscall.c), Thayne Harbaugh, 2007/11/02
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), Thiemo Seufer, 2007/11/02
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), J. Mayer, 2007/11/03
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), Thayne Harbaugh, 2007/11/03
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), Fabrice Bellard, 2007/11/03
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), Thayne Harbaugh, 2007/11/03
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c),
J. Mayer <=
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), Paul Brook, 2007/11/03
- Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), J. Mayer, 2007/11/04
Re: [Qemu-devel] [RFC] linux-user (mostly syscall.c), TJ, 2007/11/03