Skip to content

Collecting host bridge resources

[email protected] linux-acpi lkml 1 version In review

Get series with b4
b4 am 20050521004239.581618000@csdlinux-1

Versions newest first

  1. v1 Latest2 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2i386: collect host bridge resourcesarch/i386/kernel/setup.c arch/i386/pci/acpi.c include/asm-i386/acpi.h+165 -10 replies
2/2x86_64: Collect host bridge resourcesarch/x86_64/kernel/setup.c include/asm-x86_64/acpi.h+9 -08 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 0/2] Collecting host bridge resources

ACPI hotplug code now uses the PCI core to allocate and manage resources for hot-plug devices. To work correctly, this requires all bridges to report resources they are decoding in their pci_bus structure. We already do this for PCI-PCI bridges, but not for host bridges. This patchset reads and stores host bridge resources reported by ACPI BIOS for i386 and x86_64 systems. Without this, we currently assume that all host bridges decode all unused resources in iomem_resource and ioport_resource. This patchset also adds a boot parameter (acpi=root_resources), and the code to collect resources does not trigger unless it is enabled via this boot option. This fixes hotplug failures on some IBM (xseries) systems, and has been previously discussed on the pci hotplug mailing list.

The current pci_bus structure can only store 4 resource descriptors for a bus, but many host bridges decode more than 4 ranges. Storing incomplete host bridges resource ranges could lead to resource-not-available errors for devices that were otherwise properly configured by BIOS. Hence, this code triggers only when it is explicitly enabled using the acpi=root_resources boot option. For now, I expect that only systems that have PCI hotplug slots directly under a host bridge will enable this option.

Rajesh

--