From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> This is based on Hans' extensive debugging and patch at https://lore.kernel.org/r/20220228105259.230903-1-hdegoede@xxxxxxxxxx and applies on 7e57714cd0ad ("Linux 5.17-rc6"). This is basically the same idea (applying the 4dc2287c1805 workaround only when an E820 region *partially* overlaps a host bridge window), but I think it's a little simpler. This also adds a little dmesg output when clipping, which should make future debugging easier. I bcc'd several folks who didn't have public email addresses in the RedHat bugzilla or Launchpad. If you review or test this, I'd be happy to acknowledge that. Bjorn Helgaas (3): x86/PCI: Eliminate remove_e820_regions() common subexpressions x86/PCI: Log host bridge window clipping for E820 regions x86/PCI: Preserve host bridge windows completely covered by E820 arch/x86/include/asm/e820/api.h | 5 +++++ arch/x86/kernel/resource.c | 34 ++++++++++++++++++++++++++------- arch/x86/pci/acpi.c | 5 +++++ 3 files changed, 37 insertions(+), 7 deletions(-) -- 2.25.1