From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ModzW-0002NG-Tc for qemu-devel@nongnu.org; Fri, 18 Sep 2009 09:59:14 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ModzS-0002LN-Az for qemu-devel@nongnu.org; Fri, 18 Sep 2009 09:59:14 -0400 Received: from [199.232.76.173] (port=40662 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ModzR-0002LD-TY for qemu-devel@nongnu.org; Fri, 18 Sep 2009 09:59:10 -0400 Received: from mail2.shareable.org ([80.68.89.115]:46857) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1ModzQ-0005t3-Px for qemu-devel@nongnu.org; Fri, 18 Sep 2009 09:59:09 -0400 Date: Fri, 18 Sep 2009 14:59:07 +0100 From: Jamie Lokier Subject: Re: [Qemu-devel] [RFC][PATCH] File-backed memory maps Message-ID: <20090918135906.GB1631@shareable.org> References: <1253275896.11717.239.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1253275896.11717.239.camel@localhost.localdomain> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Nathan Baum Cc: qemu-devel@nongnu.org Nathan Baum wrote: > makes two files named "prefix.vga" and "prefix.bios" which contain the > respective memory regions. The maps I've named are 640k, before_4g, > after_4g, vga, bios and option_rom. > > I'm mainly interested in the idea of moving the VNC server into its own > process. It would listen for connections as usual and then send > framebuffer updates from the file. Doing that also requires a > side-channel for communicating graphics mode updates and peripheral > input between QEMU and the VNC server. (Something like "-mouse > -keyboard ", perhaps?) Are there any cache coherency issues? On architectures other than x86, sometimes data written by one process is not visible to another process mapping the same file, until the writing process flushes it's cache for those pages. Whether that's necessary depends on the address that pages are mapped to. Afaik, normally Linux chooses an address where this issue is avoided, but if you specify it with MAP_FIXED (or whatever KVM does to map pages), then there's cache coherency to deal with. -- Jamie