From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35201) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YssBL-0007u3-SJ for qemu-devel@nongnu.org; Thu, 14 May 2015 08:24:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YssBG-0001y6-7N for qemu-devel@nongnu.org; Thu, 14 May 2015 08:24:07 -0400 Received: from mail-la0-f52.google.com ([209.85.215.52]:35396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YssBG-0001xe-0N for qemu-devel@nongnu.org; Thu, 14 May 2015 08:24:02 -0400 Received: by labbd9 with SMTP id bd9so64853038lab.2 for ; Thu, 14 May 2015 05:24:01 -0700 (PDT) Date: Thu, 14 May 2015 14:24:13 +0200 From: Christoffer Dall Message-ID: <20150514122413.GV32765@cbox> References: <1431516714-25816-1-git-send-email-drjones@redhat.com> <20150514103018.GM32765@cbox> <5554826E.1040706@redhat.com> <20150514112910.GR32765@cbox> <55548777.9000702@redhat.com> <20150514113634.GS32765@cbox> <5554893E.4030105@redhat.com> <20150514120039.GU32765@cbox> <55549051.1090007@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55549051.1090007@redhat.com> Subject: Re: [Qemu-devel] [RFC/RFT PATCH v2 0/3] KVM: Introduce KVM_MEM_UNCACHED List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: peter.maydell@linaro.org, Andrew Jones , ard.biesheuvel@linaro.org, marc.zyngier@arm.com, catalin.marinas@arm.com, "Michael S. Tsirkin" , qemu-devel@nongnu.org, agraf@suse.de, j.fanguede@virtualopensystems.com, Laszlo Ersek , kvmarm@lists.cs.columbia.edu, m.smarduch@samsung.com On Thu, May 14, 2015 at 02:08:49PM +0200, Paolo Bonzini wrote: > > > On 14/05/2015 14:00, Christoffer Dall wrote: > > So, getting back to my original question. Is the point then that UEFI > > must assume (from ACPI/DT) the cache-coherency properties of the PCI > > controller which exists in hardware on the system you're running on, > > even for the virtual PCI bus because that will be the semantics for > > assigned devices? > > > > And in that case, we have no way to distinguish between passthrough > > devices and virtual devices plugged into the virtual PCI bus? > > Well, we could use the subsystem id. But it's a hack, and may cause > incompatibilities with some drivers. Michael, any ideas? > > > What about the idea of having two virtual PCI buses on your system where > > one is always cache-coherent and uses for virtual devices, and the other > > is whatever the hardware is and used for passthrough devices? > > I think that was rejected before. > Do you remember where? I just remember Catalin mentioning the idea to me verbally. Besides the slightly heavy added use of resources etc. it seems like it would address some of our issues in a good way. But I'm still not sure why UEFI/Linux currently sees our PCI bus as being non-coherent when in fact it is and we have no passthrough issues currently. Are all PCI controllers always non-coherent for some reason and therefore we model it as such too? -Christoffer