From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37023 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGxhJ-0004Ay-6y for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:46:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PGxhF-0004UA-AZ for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:46:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:40236) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PGxhF-0004Ts-1L for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:45:57 -0500 From: Alex Williamson Date: Fri, 12 Nov 2010 10:45:54 -0700 Message-ID: <20101112173929.3169.47618.stgit@s20.home> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH v2 0/9] PCI capability and device assignment improvements List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org, mst@redhat.com Cc: chrisw@redhat.com, alex.williamson@redhat.com, qemu-devel@nongnu.org v2: - Fixed the function name in 1/8 per Michael's suggestion. - Removed capability specific config read/write registration - Added more checks to add_capability - Added capability lookup table to PCIDevice I've dropped the RFC patch to add more capabilities to device assignment while I do some more work on it. Please feel free to comment on the v1 version though. Patches still against qemu-kvm, but I hope some of this makes it easier to bring qemu & qemu-kvm closer here. Thanks, Alex v1: This series attempts to clean up capability support between common code and device assignment. In doing so, we can move existing MSI & MSI-X capabilities to offsets matching real hardware, and further enable more capabilities to be exposed. The last patch is only for RFC, I'd like some input on what we should pass directly and where we should only provide read-only/emulated access. Patches 1-7 are submitted for commit. Thanks, Alex --- Alex Williamson (9): pci: Store capability offsets in PCIDevice pci: Remove capability read/write config handlers pci: Pass ID for capability read/write handlers device-assignment: Move PCI capabilities to match physical hardware pci: Remove cap.length, cap.start, cap.supported pci: Replace used bitmap with capability byte map device-assignment: Use PCI capabilities support pci: Remove pci_enable_capability_support() pci: pci_default_cap_write_config ignores wmask hw/device-assignment.c | 157 +++++++++++++++++++++++++----------------------- hw/msix.c | 15 ++--- hw/pci.c | 132 +++++++++++++++------------------------- hw/pci.h | 39 ++---------- 4 files changed, 145 insertions(+), 198 deletions(-)