From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58432 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OPVal-0001Tl-P8 for qemu-devel@nongnu.org; Fri, 18 Jun 2010 03:02:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OPVak-0003HS-Mk for qemu-devel@nongnu.org; Fri, 18 Jun 2010 03:02:19 -0400 Received: from mail.valinux.co.jp ([210.128.90.3]:53200) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OPVak-0003Gu-Dk for qemu-devel@nongnu.org; Fri, 18 Jun 2010 03:02:18 -0400 From: Isaku Yamahata Date: Fri, 18 Jun 2010 15:58:32 +0900 Message-Id: Subject: [Qemu-devel] [PATCH v3 0/3] pci: multi-function bit fixes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blauwirbel@gmail.com, yamahata@valinux.co.jp, mst@redhat.com Changes v2 -> v3: Make this bug fix patch independent. added test description. patch description: When pci devices are populated as multi-function, OS can fail to probe function > 0. It's because multi function bit of header type register in configuration space isn't set, so OS probes only function 0 skipping function > 0 as optimization. This patch set make qemu set multi function bit when function > 0 is populated. Isaku Yamahata (3): pci: remove PCIDeviceInfo::header_type pci: set PCI multi-function bit appropriately. pci: don't overwrite multi functio bit in pci header type. hw/ac97.c | 1 - hw/acpi_piix4.c | 1 - hw/apb_pci.c | 4 +--- hw/dec_pci.c | 2 +- hw/grackle_pci.c | 1 - hw/ide/cmd646.c | 1 - hw/ide/piix.c | 1 - hw/macio.c | 1 - hw/ne2000.c | 1 - hw/openpic.c | 1 - hw/pci.c | 42 +++++++++++++++++++++++++++++++++++------- hw/pci.h | 9 +++++++-- hw/pcnet.c | 1 - hw/piix4.c | 3 +-- hw/piix_pci.c | 4 +--- hw/prep_pci.c | 1 - hw/rtl8139.c | 1 - hw/sun4u.c | 1 - hw/unin_pci.c | 4 ---- hw/usb-uhci.c | 1 - hw/vga-pci.c | 1 - hw/virtio-pci.c | 1 - hw/vmware_vga.c | 1 - hw/wdt_i6300esb.c | 1 - 24 files changed, 46 insertions(+), 39 deletions(-)