]> git.proxmox.com Git - qemu.git/commit
pci: don't overwrite multi functio bit in pci header type.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Wed, 23 Jun 2010 07:15:27 +0000 (16:15 +0900)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 11 Jul 2010 17:00:56 +0000 (20:00 +0300)
commitb80d4a9887fa4b6cc63f8c3a13ab2a45054d3e5c
tree652384d69555ce92fddcb9bd2fbe7abb8e91f67b
parent6fa84913eccec4266a27c81ae88465f6790742b9
pci: don't overwrite multi functio bit in pci header type.

Don't overwrite pci header type.
Otherwise, multi function bit which pci_init_header_type() sets
appropriately is lost.
Anyway PCI_HEADER_TYPE_NORMAL is zero, so it is unnecessary to zero
which is already zero cleared.

how to test:
run qemu and issue info pci to see whether a device in question is
normal device, not pci-to-pci bridge.
This is handy because guest os isn't required.

tested changes:
The following files are covered by using following commands.
sparc64-softmmu
  apb_pci.c, vga-pci.c, cmd646.c, ne2k_pci.c, sun4u.c
ppc-softmmu
  grackle_pci.c, cmd646.c, ne2k_pci.c, vga-pci.c, macio.c
ppc-softmmu -M mac99
  unin_pci.c(uni-north, uni-north-agp)
ppc64-softmmu
  pci-ohci, ne2k_pci, vga-pci, unin_pci.c(u3-agp)
x86_64-softmmu
  acpi_piix4.c, ide/piix.c, piix_pci.c
  -vga vmware vmware_vga.c
  -watchdog i6300esb wdt_i6300esb.c
  -usb usb-uhci.c
  -sound ac97 ac97.c
  -nic model=rtl8139 rtl8139.c
  -nic model=pcnet pcnet.c
  -balloon virtio virtio-pci.c:

untested changes:
The following changes aren't tested.
prep_pci.c: ppc-softmmu -M prep should cover, but core dumped.
unin_pci.c(uni-north-pci): the caller is commented out.
openpic.c: the caller is commented out in ppc_prep.c

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
20 files changed:
hw/ac97.c
hw/acpi_piix4.c
hw/apb_pci.c
hw/grackle_pci.c
hw/ide/cmd646.c
hw/ide/piix.c
hw/macio.c
hw/ne2000.c
hw/openpic.c
hw/pcnet.c
hw/piix_pci.c
hw/prep_pci.c
hw/rtl8139.c
hw/sun4u.c
hw/unin_pci.c
hw/usb-uhci.c
hw/vga-pci.c
hw/virtio-pci.c
hw/vmware_vga.c
hw/wdt_i6300esb.c