From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dor Laor Subject: Re: [PATCH 1/1] QEMU/KVM: Support for PCI Passthrough Date: Sun, 13 Apr 2008 15:49:16 +0300 Message-ID: <1208090956.17832.89.camel@localhost.localdomain> References: <1207817334-31775-1-git-send-email-amit.shah@qumranet.com> <1207817334-31775-2-git-send-email-amit.shah@qumranet.com> <1207817334-31775-3-git-send-email-amit.shah@qumranet.com> <1207817334-31775-4-git-send-email-amit.shah@qumranet.com> Reply-To: dor.laor@qumranet.com Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: chrisw@redhat.com, kvm-devel@lists.sourceforge.net, allen.m.kay@intel.com, avi@qumranet.com, gcosta@redhat.com, virtualization@lists.linux-foundation.org, BENAMI@il.ibm.com To: Amit Shah Return-path: In-Reply-To: <1207817334-31775-4-git-send-email-amit.shah@qumranet.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 On Thu, 2008-04-10 at 11:48 +0300, Amit Shah wrote: > We can assign a device from the host machine to a guest. > > A new command-line option, -pcidevice is added. > For example, to invoke it for an Ethernet device sitting at > PCI bus:dev.fn 04:08.0 with host IRQ 18, use this: > > -pcidevice Ethernet/04:08.0-18 > > The host ethernet driver is to be removed before doing the passthrough. > > If kvm uses the in-kernel irqchip, interrupts are routed to > the guest via the kvm module (accompanied kernel changes are necessar). > If -no-kvm-irqchip is used, the 'irqhook' module, also included here, > is to be used. > IMO we can drop the pci pass through support in userspace and only keep the in-kenel chip path. Normally we do want the option of running w/o kernel devices but it's only to test for regressions against userspace. In this case it's all new code so there is no point to compare, it's just lots of complicated code (userspace apic, irqhook module) that only helpful for qemu. Since it's not likely qemu will merge it, let's stick with the main path. Comments? Dor > Signed-off-by: Amit Shah > --- > Makefile | 10 +- > irqhook/Kbuild | 3 + > irqhook/Makefile | 25 ++ > irqhook/irqhook_main.c | 215 ++++++++++++++ > kernel/Makefile | 4 + > libkvm/libkvm-x86.c | 14 +- > libkvm/libkvm.h | 24 ++ > qemu/Makefile.target | 1 + > qemu/hw/apic.c | 2 + > qemu/hw/isa.h | 2 + > qemu/hw/pc.c | 4 + > qemu/hw/pci-passthrough.c | 677 +++++++++++++++++++++++++++++++++++++++++++++ > qemu/hw/pci-passthrough.h | 102 +++++++ > qemu/hw/pci.c | 11 + > qemu/hw/pci.h | 1 + > qemu/hw/piix_pci.c | 19 ++ > qemu/vl.c | 16 + > tools/pci_barsize.c | 53 ++++ > tools/pci_mmio.c | 82 ++++++ > 19 files changed, 1260 insertions(+), 5 deletions(-) > ------------------------------------------------------------------------- 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