From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ne42O-0007Dk-EN for qemu-devel@nongnu.org; Sun, 07 Feb 2010 05:06:44 -0500 Received: from [199.232.76.173] (port=59504 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ne42M-0007DB-Th for qemu-devel@nongnu.org; Sun, 07 Feb 2010 05:06:42 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Ne42H-0004Op-Vh for qemu-devel@nongnu.org; Sun, 07 Feb 2010 05:06:42 -0500 Received: from mail-px0-f189.google.com ([209.85.216.189]:41847) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ne42G-0004NP-R4 for qemu-devel@nongnu.org; Sun, 07 Feb 2010 05:06:37 -0500 Received: by pxi27 with SMTP id 27so2874425pxi.4 for ; Sun, 07 Feb 2010 02:06:28 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20100207002215.GA19430@shareable.org> References: <761ea48b1002061550o54a940bfo438fb5f052c5e06e@mail.gmail.com> <20100207002215.GA19430@shareable.org> Date: Sun, 7 Feb 2010 11:06:28 +0100 Message-ID: <761ea48b1002070206s533b4df4t72d3894f688a491@mail.gmail.com> Subject: Re: [Qemu-devel] [PATCH] User mode: Handle x86_64 vsyscall From: Laurent Desnogues Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jamie Lokier Cc: qemu-devel@nongnu.org On Sun, Feb 7, 2010 at 1:22 AM, Jamie Lokier wrote: [...] >> >> How would you achieve that? =A0Your guest OS >> doesn't necessarily have the code mapped. =A0I >> 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