From mboxrd@z Thu Jan 1 00:00:00 1970 From: Muli Ben-Yehuda Subject: Re: VT-d support for device assignment Date: Fri, 22 Aug 2008 21:23:29 +0300 Message-ID: <20080822182329.GG6885@il.ibm.com> References: <1219389054-15332-1-git-send-email-amit.shah@qumranet.com> <20080822160854.GF6885@il.ibm.com> <48AF0190.3010103@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Byron Stanoszek , Amit Shah , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mtagate4.uk.ibm.com ([195.212.29.137]:40674 "EHLO mtagate4.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756566AbYHVSXg (ORCPT ); Fri, 22 Aug 2008 14:23:36 -0400 Received: from d06nrmr1407.portsmouth.uk.ibm.com (d06nrmr1407.portsmouth.uk.ibm.com [9.149.38.185]) by mtagate4.uk.ibm.com (8.13.8/8.13.8) with ESMTP id m7MINZTP177184 for ; Fri, 22 Aug 2008 18:23:35 GMT Received: from d06av01.portsmouth.uk.ibm.com (d06av01.portsmouth.uk.ibm.com [9.149.37.212]) by d06nrmr1407.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v9.0) with ESMTP id m7MINYb04243600 for ; Fri, 22 Aug 2008 19:23:34 +0100 Received: from d06av01.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av01.portsmouth.uk.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m7MINY5Q017031 for ; Fri, 22 Aug 2008 19:23:34 +0100 Content-Disposition: inline In-Reply-To: <48AF0190.3010103@qumranet.com> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Aug 22, 2008 at 09:12:32PM +0300, Avi Kivity wrote: > Muli Ben-Yehuda wrote: > > With PCI passthrough It is possible in theory to log mmio's and pio's > > executed by the guest, as well as interrupts delivered to the guest, > > although it will have a performance impact. It is not possible to log > > DMAs in a simple manner, but you could hook up a PCI analyzer to get > > the missing bits. > > > > Well, with a pci analyzer you can log anything going in and out of > the device; you don't need a virtual machine monitor. Yep, that's true. I was thinking along the lines of doing the bulk of reverse engineering without a PCI analyzer (if you understand the device well enough, looking at the DMA data may not be all that important) and then using a PCI analyzer just for any remaining bits. By the way, with effort we should be able to capture some DMAs too, either by taking "before" and "after" snapshots of VM memory (for DMA write to memory) and/or by triggering DMA faults (by not mapping the VM's memory in an isolation-capable IOMMU and enabling the IOMMU). Cheers, Muli -- Workshop on I/O Virtualization (WIOV '08) Co-located with OSDI '08, Dec 2008, San Diego, CA http://www.usenix.org/wiov08