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