From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: direct mmio for passthrough - kernel part Date: Fri, 18 Apr 2008 19:02:14 +0300 Message-ID: <4808C606.9040402@qumranet.com> References: <1208352331-27201-1-git-send-email-benami@il.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel@lists.sourceforge.net, andrea@qumranet.com, allen.m.kay@intel.com To: benami@il.ibm.com Return-path: In-Reply-To: <1208352331-27201-1-git-send-email-benami@il.ibm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org benami@il.ibm.com wrote: > This patch for PCI passthrough devices enables a guest to access a device's > memory mapped I/O regions directly, without requiring the host to trap and > emulate every MMIO access. > > Updated from last version: we create a memory slot for each MMIO region of the > guest's devices, and then use the /sys/bus/pci/.../resource# mapping to find the > hfn for that MMIO region. The kernel part and the userspace part of this > patchset apply to Amit's pv-dma tree. Tested on a Lenovo M57p with an e1000 NIC > assigned directly to an FC8 guest. > > Comments are appreciated. > I see no support for cache attributes in the page attributes table or mtrr. I guess for most devices this will work (as they will be set as uncachable by the mtrrs), but for display cards we'd need to set the vram as write-combining to get reasonable performance. This requires mtrr and pat emulation in kvm so we detect the guest's intentions. -- Any sufficiently difficult bug is indistinguishable from a feature. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone