On Sun, Feb 7, 2010 at 1:22 AM, Jamie Lokier <ja...@shareable.org> wrote:
[...]
>>
>> How would you achieve that?  Your guest OS
>> doesn't necessarily have the code mapped.  I
>> think this has to be considered as other syscalls,
>> though slightly different.
>
> There is no guest OS when doing -user emulation.
> Only qemu.

I meant that the vsyscall page doesn't exist on
other guest systems but x86_64 running Linux.
So if one wants to have it somehow mapped
then it would have to be installed by QEMU,
and QEMU can't install such a page due to
limitations in the way it handles virtual
addresses.

>> > My favorite solution would be a vsyscall page mapped
>> > to the correct fixed address and filled with QEMU
>> > generated specific code, for example code which calls the
>> > normal syscalls to do the work. This would only
>> > need modifications for linux-user code.
>>
>> You mean you'd explicitly put somewhere x86_64
>> code that simulates the behaviour of vsyscall?
>
> That seems like a good idea to me.

Why not indeed.  But someone will first have
to fix virtual memory management.


Laurent


Reply via email to