From: Konrad Rzeszutek Wilk Date: Thu, 2 Feb 2012 19:21:59 +0000 (-0500) Subject: Merge branch 'stable/xen-pciback-0.6.3.bugfixes' into stable/for-linus-3.3.rebased X-Git-Tag: v2.6.39-400.9.0~595^2~14^2~11 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3669f59f5dd66c7d4ef6fff31955a665aafb413a;p=users%2Fjedix%2Flinux-maple.git Merge branch 'stable/xen-pciback-0.6.3.bugfixes' into stable/for-linus-3.3.rebased * stable/xen-pciback-0.6.3.bugfixes: (22 commits) xen/pciback: Check if the device is found instead of blindly assuming so. xen/pciback: Do not dereference psdev during printk when it is NULL. xen/pciback: double lock typo xen/pciback: use mutex rather than spinlock in vpci backend xen/pciback: Use mutexes when working with Xenbus state transitions. xen/pciback: miscellaneous adjustments xen/pciback: use mutex rather than spinlock in passthrough backend xen/pciback: use resource_size() xen/pciback: remove duplicated #include xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI xen/pciback: Remove the DEBUG option. xen/pciback: Drop two backends, squash and cleanup some code. xen/pciback: Print out the MSI/MSI-X (PIRQ) values xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices. xen: rename pciback module to xen-pciback. xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases. xen/pciback: Allocate IRQ handler for device that is shared with guest. xen/pciback: Disable MSI/MSI-X when reseting a device xen/pciback: guest SR-IOV support for PV guest xen/pciback: Register the owner (domain) of the PCI device. ... Conflicts: drivers/xen/Kconfig drivers/xen/Makefile --- 3669f59f5dd66c7d4ef6fff31955a665aafb413a diff --cc drivers/xen/Kconfig index 11ab5934ea05,9b700b4a987a..c825a23be962 --- a/drivers/xen/Kconfig +++ b/drivers/xen/Kconfig @@@ -96,10 -105,26 +96,32 @@@ config SWIOTLB_XE depends on PCI select SWIOTLB + +config XEN_PRIVCMD + tristate + depends on XEN + default m + + config XEN_PCIDEV_BACKEND + tristate "Xen PCI-device backend driver" + depends on PCI && X86 && XEN + depends on XEN_BACKEND + default m + help + The PCI device backend driver allows the kernel to export arbitrary + PCI devices to other guests. If you select this to be a module, you + will need to make sure no other driver has bound to the device(s) + you want to make visible to other guests. + + The parameter "passthrough" allows you specify how you want the PCI + devices to appear in the guest. You can choose the default (0) where + PCI topology starts at 00.00.0, or (1) for passthrough if you want + the PCI devices topology appear the same as in the host. + + The "hide" parameter (only applicable if backend driver is compiled + into the kernel) allows you to bind the PCI devices to this module + from the default device drivers. The argument is the list of PCI BDFs: + xen-pciback.hide=(03:00.0)(04:00.0) + + If in doubt, say m. endmenu diff --cc drivers/xen/Makefile index 51ba5d582154,35a72ef3afac..917d1886d075 --- a/drivers/xen/Makefile +++ b/drivers/xen/Makefile @@@ -14,10 -14,10 +14,11 @@@ obj-$(CONFIG_XEN_GNTDEV) += xen-gntdev obj-$(CONFIG_XEN_GRANT_DEV_ALLOC) += xen-gntalloc.o obj-$(CONFIG_XENFS) += xenfs/ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o -obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o +obj-$(CONFIG_XEN_PVHVM) += platform-pci.o obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o obj-$(CONFIG_XEN_DOM0) += pci.o +obj-$(CONFIG_XEN_PRIVCMD) += xen-privcmd.o + obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback/ xen-evtchn-y := evtchn.o xen-gntdev-y := gntdev.o