• Bjorn Helgaas's avatar
    ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource · 240504ad
    Bjorn Helgaas authored
    A struct resource contains CPU physical addresses, not virtual addresses.
    But sn_acpi_slot_fixup() and sn_io_slot_fixup() stored the virtual address
    of a shadow ROM copy in the resource.  To compensate, pci_map_rom() had a
    special case that returned the resource address directly rather than
    calling ioremap() on it.
    
    When we're using a shadow copy in RAM or PROM, disable the ROM BAR and
    release the address space it was consuming.
    
    Store the CPU physical (not virtual) address in the shadow ROM resource,
    and mark the resource as IORESOURCE_ROM_SHADOW so we use the normal
    pci_map_rom() path that ioremaps the copy.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    240504ad
io_init.c 7.96 KB