diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2009-05-22 09:57:32 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-05-22 10:50:37 -0500 |
commit | 00070396b06392fadcee0e19d499a43b81c63c45 (patch) | |
tree | a12b5fbcfefb3cebda262a78f7a65dcef7ba5cb9 | |
parent | a23978077ba006c8afdd842a448d5ac7106827ff (diff) | |
download | qemu-00070396b06392fadcee0e19d499a43b81c63c45.zip qemu-00070396b06392fadcee0e19d499a43b81c63c45.tar.gz qemu-00070396b06392fadcee0e19d499a43b81c63c45.tar.bz2 |
bios: Use the correct mask to size the PCI option ROM BAR
Bit 0 is the enable bit, which we not only don't want to set, but
it will stick and make us think it's an I/O port resource.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch | 33 | ||||
-rw-r--r-- | pc-bios/bios-pq/series | 1 | ||||
-rw-r--r-- | pc-bios/bios.bin | bin | 131072 -> 131072 bytes |
3 files changed, 34 insertions, 0 deletions
diff --git a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch new file mode 100644 index 0000000..556a0bd --- /dev/null +++ b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch @@ -0,0 +1,33 @@ +Subject: [PATCH] bios: Use the correct mask to size the PCI option ROM BAR +From: Alex Williamson <alex.williamson@hp.com> + +Bit 0 is the enable bit, which we not only don't want to set, but +it will stick and make us think it's an I/O port resource. + +Signed-off-by: Alex Williamson <alex.williamson@hp.com> +Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> +--- + +diff --git a/bios/rombios32.c b/bios/rombios32.c +index d7e18e9..f861f81 100644 +--- a/bios/rombios32.c ++++ b/bios/rombios32.c +@@ -985,11 +985,13 @@ static void pci_bios_init_device(PCIDevice *d) + int ofs; + uint32_t val, size ; + +- if (i == PCI_ROM_SLOT) ++ if (i == PCI_ROM_SLOT) { + ofs = 0x30; +- else ++ pci_config_writel(d, ofs, 0xfffffffe); ++ } else { + ofs = 0x10 + i * 4; +- pci_config_writel(d, ofs, 0xffffffff); ++ pci_config_writel(d, ofs, 0xffffffff); ++ } + val = pci_config_readl(d, ofs); + if (val != 0) { + size = (~(val & ~0xf)) + 1; + + diff --git a/pc-bios/bios-pq/series b/pc-bios/bios-pq/series index aa5a375..c7c7f67 100644 --- a/pc-bios/bios-pq/series +++ b/pc-bios/bios-pq/series @@ -13,3 +13,4 @@ 0013_fix-non-acpi-timer-interrupt-routing.patch 0014_add-srat-acpi-table-support.patch 0015_enable-power-button-even-generation.patch +0016-use-correct-mask-to-size-pci-option-rom-bar.patch diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin Binary files differindex 8aa5b71..6c8bc9f 100644 --- a/pc-bios/bios.bin +++ b/pc-bios/bios.bin |