From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: [PATCH 0/9] pci-assign: 64bit MMIO + better MSI-X table support Date: Sat, 28 Jan 2012 07:21:33 -0700 Message-ID: <20120128142104.25681.93072.stgit@bling.home> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: alex.williamson@redhat.com, jan.kiszka@siemens.com, shashidhar.patil@gmail.com To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:53637 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753459Ab2A1OVh (ORCPT ); Sat, 28 Jan 2012 09:21:37 -0500 Sender: kvm-owner@vger.kernel.org List-ID: Patch 1 & 2 here are independent of the rest, but I include them here to avoid conflicts. The first patch enables exposing MMIO BARs as their native width to the guest. I added a config option for this with the default to use the existing behavior as I suspect we may have some latent issues there. Patch 2 is just some trivial debug build warning fixes. The rest of the patches work on improving MSI-X table support. Particularly, vectors can now be updated by the guest after MSI-X is enabled to support things like irqbalance for SMP affinity tuning. We also now update MSI-X configuration as new vectors are unmasked, which enables assignment of MSI-X devices on FreeBSD. I was able to assign and use an 82576 (PF & VF) on a FreeBSD 9.0 guest with this series. Hopefully Shashidhar can report whether this improves the behavior he as seeing with an 82599. I wasn't able to get masking to work reliably, so I left that as is for now. Perhaps someone has suggestions on getting that to work. Thanks, Alex --- Alex Williamson (9): pci-assign: Update MSI-X config based on table writes pci-assign: Use MSIX_PAGE_SIZE pci-assign: Allocate entries for all MSI-X vectors pci-assign: Proper initialization for MSI-X table pci-assign: Only calculate maximum MSI-X vector entries once pci-assign: Use struct for MSI-X table pci-assign: Update MSI-X MMIO to Memory API pci-assign: Fix warnings with DEBUG enabled pci-assign: Optionally enable 64bit BARs in guest hw/device-assignment.c | 272 ++++++++++++++++++++++++++++++------------------ hw/device-assignment.h | 12 ++ 2 files changed, 179 insertions(+), 105 deletions(-)