From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60842) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWtxF-0003gS-7n for qemu-devel@nongnu.org; Wed, 24 Sep 2014 17:18:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XWtx9-0005jS-3z for qemu-devel@nongnu.org; Wed, 24 Sep 2014 17:18:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40615) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWtx8-0005ib-SE for qemu-devel@nongnu.org; Wed, 24 Sep 2014 17:18:23 -0400 Message-ID: <54233512.6040409@redhat.com> Date: Wed, 24 Sep 2014 23:18:10 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1411588026.24563.153.camel@ul30vt.home> <54232A2F.9020107@redhat.com> <1411592242.24563.177.camel@ul30vt.home> In-Reply-To: <1411592242.24563.177.camel@ul30vt.home> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [IGDVFIO] [PATCH 3/8] RFC and help completing: Intel IGD Direct Assignment with VFIO List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: intel-gfx@lists.freedesktop.org, Andrew Barnes , qemu-devel@nongnu.org Il 24/09/2014 22:57, Alex Williamson ha scritto: > Right, that's the physical mapping, Andy's patches are mimicking that > behavior virtually. Seabios reserves memory, creates e820 entries, and > "maps" the hardware by writing to these registers. That triggers QEMU > to adjust the MemoryRegion in the guest address space which is an mmap > to the host address space, using /dev/mem for now, but hopefully the > vfio file descriptor in the future (I should be careful what I hope > for). Yeah, I remember discussing that with Andrew on IRC. So he did implement that idea. > The opregion is pretty trivial because the write is to the IGD itself. > The others are to the host bridge, so we need to figure out what sort of > abstraction makes sense to get that back into vfio code. Do we have to support all chipsets? IIUC the more recent devices need fewer and fewer "backdoors". Paolo > Perhaps vfio creates all the memory regions and registers them into an > igd service and the host bridge can make calls like: > > gtt = igd_get_gtt_mr(); > > which returns NULL and nothing happens or the registered MemoryRegion > and the host bridge places it into the address space. Thanks,