From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BLR9L-000518-LP for qemu-devel@nongnu.org; Wed, 05 May 2004 14:29:43 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BLR8j-0004Gc-2Z for qemu-devel@nongnu.org; Wed, 05 May 2004 14:29:36 -0400 Received: from [193.252.22.26] (helo=mwinf0503.wanadoo.fr) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BLR8d-0004FZ-HU for qemu-devel@nongnu.org; Wed, 05 May 2004 14:28:59 -0400 Received: from bellard.org (ATuileries-112-1-2-164.w80-14.abo.wanadoo.fr [80.14.188.164]) by mwinf0503.wanadoo.fr (SMTP Server) with ESMTP id 8BE896801150 for ; Wed, 5 May 2004 20:28:58 +0200 (CEST) Message-ID: <409932ED.10409@bellard.org> Date: Wed, 05 May 2004 20:31:09 +0200 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: Host <-> guest interface port? References: <4098154B.1050804@bellard.org> <409827F1.7050209@aclaro.com> In-Reply-To: <409827F1.7050209@aclaro.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org I would prefer a network based solution first. Changing the interface to use a CPU specific hack won't be difficult in the future. Fabrice. Matthew Mastracci wrote: > Fabrice Bellard wrote: > >> Matthew Mastracci wrote: >> >>> Would it be possible to add a host/guest interface port, akin to how >>> VMWare handles this? It's a convenient way to get/set various >>> properties from the host while running the guest operating system. >>> This also allows a smoother mouse interface - ie: auto >>> capture/release of the mouse as it hits the screen boundaries, >>> clipboard synchronization as well as synchronization of the guest's >>> clock with the host's. >>> >>> Some more info on the VMWare port is here: >>> http://chitchat.at.infoseek.co.jp/vmware/backdoor.html >> >> >> >> Of course it is possible to add that, but first we must define the >> features we want and implement the necessary support in the guest >> OSes, which seems to be the most difficult AFAIK. Clipboard support >> would be interesting. Does anyone know how to implement it for Linux >> and Windows guests ? >> > I can implement text-clipboard-passing for a windows guest without much > effort. If the CPU protection for the IO port is disabled, even when > running at IOPL3, it could be implemented entirely in userspace. > > It would be nice to define standard register values for the different > features, as well as add functionality to query the availability of the > feature. For instance, the first two registers could define the > supported interface: > > Register 0: Returns the maximum supported register index by the current > version of QEMU > Register 1: Write to the register with a given register index - returns > 1 if supported or 0 if unsupported or disabled. > > Possible register functionality (off the top of my head): > - Get host clock: returns the host clock time in UTC (useful for clock > sync between guest/host) > - Get host clock TZ: returns the host clock offset relative to UTC > - Set host's clipboard > - Get host's clipboard > - Attach/detach virtual device (floppy/cd/etc) > - Transfer file (?) > - Read guest filesystem