1. 19 May, 2022 1 commit
    • Hans de Goede's avatar
      x86/PCI: Add kernel cmdline options to use/ignore E820 reserved regions · fa6dae5d
      Hans de Goede authored
      Some firmware supplies PCI host bridge _CRS that includes address space
      unusable by PCI devices, e.g., space occupied by host bridge registers or
      used by hidden PCI devices.
      
      To avoid this unusable space, Linux currently excludes E820 reserved
      regions from _CRS windows; see 4dc2287c ("x86: avoid E820 regions when
      allocating address space").
      
      However, this use of E820 reserved regions to clip things out of _CRS is
      not supported by ACPI, UEFI, or PCI Firmware specs, and some systems have
      E820 reserved regions that cover the entire memory window from _CRS.
      4dc2287c clips the entire window, leaving no space for hot-added or
      uninitialized PCI devices.
      
      For example, from a Lenovo IdeaPad 3 15IIL 81WE:
      
        BIOS-e820: [mem 0x4bc50000-0xcfffffff] reserved
        pci_bus 0000:00: root bus resource [mem 0x65400000-0xbfffffff window]
        pci 0000:00:15.0: BAR 0: [mem 0x00000000-0x00000fff 64bit]
        pci 0000:00:15.0: BAR 0: no space for [mem size 0x00001000 64bit]
      
      Future patches will add quirks to enable/disable E820 clipping
      automatically.
      
      Add a "pci=no_e820" kernel command line option to disable clipping with
      E820 reserved regions.  Also add a matching "pci=use_e820" option to enable
      clipping with E820 reserved regions if that has been disabled by default by
      further patches in this patch-set.
      
      Both options taint the kernel because they are intended for debugging and
      workaround purposes until a quirk can set them automatically.
      
      [bhelgaas: commit log, add printk]
      Link: https://bugzilla.redhat.com/show_bug.cgi?id=1868899 Lenovo IdeaPad 3
      Link: https://lore.kernel.org/r/20220519152150.6135-2-hdegoede@redhat.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: Benoit Grégoire <benoitg@coeus.ca>
      Cc: Hui Wang <hui.wang@canonical.com>
      fa6dae5d
  2. 08 Apr, 2022 2 commits
  3. 04 Apr, 2022 1 commit
  4. 03 Apr, 2022 8 commits
  5. 02 Apr, 2022 28 commits