qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Stuff.


From: Fabrice Bellard
Subject: Re: [Qemu-devel] Stuff.
Date: Wed, 05 May 2004 20:28:07 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

David Woodhouse wrote:
Has anyone considered the possibility of emulating libc, rather than
emulating system calls? That's what em86 used to do for emulating i386
code on Alpha -- rather than letting it run a 'real' non-native libc and
then emulating only syscalls.
I appreciate that syscalls are a far more stable ABI to be emulating,
and there are far fewer structures to convert -- but wouldn't it be
faster to emulate the library itself? Especially if we can extend that
to emulate libX11 too :)

Emulating libc would be _very_ difficult (there are thousands of calls to convert). There were provisions in em86 to do that, but it was never really used. Moreover, I think the speed up would be small compared to the complexity of the task.

It's cute that I have i386 acroread running in a Mozilla window through
mozplugger. It'd be cuter if I could get Mozilla plugins running in the
_same_ process, rather than in a separate process.

----

Also, why do we do what we do in linux-user/path.c? What does it give us
that couldn't be achieved by stat("$prefix/$filename") in a trivial
path() function? Other than taking for ever to start up when
/usr/gnemul/i386-linux is actually an nfs-mounted root file system from
elsewhere. (When I say forever I mean that literally. We keep following
symlinks recursively).

The goal was to avoid making too many syscalls.

Fabrice.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]