[PATCH v1 00/12] PCI: Rework shadow ROM handling

From: Bjorn Helgaas
Date: Thu Mar 03 2016 - 11:54:00 EST


The purpose of this series is to:

- Fix the "BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment"
messages reported by Linus [1], Andy [2], and others.

- Move arch-specific shadow ROM location knowledge, e.g.,
0xC0000-0xDFFFF, from PCI core to arch code.

- Fix the ia64 and MIPS Loongson 3 oddity of keeping virtual
addresses in shadow ROM struct resource (resources should always
contain *physical* addresses).

- Remove now-unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY
flags.

This series is based on v4.5-rc1, and it's available on my
pci/resource git branch (along with a couple tiny unrelated patches)
at [3].

Bjorn


[1] http://lkml.kernel.org/r/CA+55aFyVMfTBB0oz_yx8+eQOEJnzGtCsYSj9QuhEpdZ9BHdq5A@xxxxxxxxxxxxxx
[2] http://lkml.kernel.org/r/CALCETrV+RwNPzxyL8UVNsrAGu-6cCzD_Cc9PFJT2NCTJPLZZiw@xxxxxxxxxxxxxx
[3] https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/log/?h=pci/resource


---

Bjorn Helgaas (12):
PCI: Mark shadow copy of VGA ROM as IORESOURCE_PCI_FIXED
PCI: Don't assign or reassign immutable resources
PCI: Don't enable/disable ROM BAR if we're using a RAM shadow copy
PCI: Set ROM shadow location in arch code, not in PCI core
PCI: Clean up pci_map_rom() whitespace
ia64/PCI: Use temporary struct resource * to avoid repetition
ia64/PCI: Use ioremap() instead of open-coded equivalent
ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource
MIPS: Loongson 3: Use temporary struct resource * to avoid repetition
MIPS: Loongson 3: Keep CPU physical (not virtual) addresses in shadow ROM resource
PCI: Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY
PCI: Simplify sysfs ROM cleanup


arch/ia64/pci/fixup.c | 21 +++++++--
arch/ia64/sn/kernel/io_acpi_init.c | 22 ++++++----
arch/ia64/sn/kernel/io_init.c | 51 ++++++++--------------
arch/mips/pci/fixup-loongson3.c | 19 +++++---
arch/x86/pci/fixup.c | 21 +++++++--
drivers/pci/pci-sysfs.c | 13 +-----
drivers/pci/remove.c | 1
drivers/pci/rom.c | 83 +++++++++++-------------------------
drivers/pci/setup-res.c | 6 +++
include/linux/ioport.h | 4 --
10 files changed, 111 insertions(+), 130 deletions(-)