lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100208224236.27954.4358.stgit@bob.kio>
Date:	Mon, 08 Feb 2010 15:44:18 -0700
From:	Bjorn Helgaas <bjorn.helgaas@...com>
To:	Jesse Barnes <jbarnes@...tuousgeek.org>
Cc:	Matthew Garrett <mjg59@...f.ucam.org>,
	Tony Luck <tony.luck@...el.com>, linux-pci@...r.kernel.org,
	Peter Haight <peterh@...ros.com>,
	Gary Hade <garyhade@...ibm.com>, linux-kernel@...r.kernel.org,
	linux-acpi@...r.kernel.org, Yinghai Lu <yinghai@...nel.org>,
	Ingo Molnar <mingo@...e.hu>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Larry Finger <Larry.Finger@...inger.net>
Subject: [PATCH v2 0/7] PCI: try "pci=use_crs" again

Historically, Linux has assumed a single PCI host bridge, with that bridge
claiming all the address space left after RAM and legacy devices are taken out.

If the system contains multiple host bridges, we can no longer operate under
that assumption.  We have to know what parts of the address space are claimed
by each bridge so that when we assign resources to a PCI device, we take them
from a range claimed by the upstream host bridge.

We use ACPI to enumerate all the PCI host bridges in the system, and part of
the host bridge description is the "_CRS" (current resource settings" property,
which lists the address space used by the bridge.  On x86, we currently ignore
most of the _CRS information.  This patch series changes this, so we will use
_CRS to learn about the host bridge windows.

Since most x86 machines with multiple host bridges are relatively new, this
series only turns this on for machines with BIOS dates of 2010 or newer and for
a few machines we know to require it.

These apply on be6e9f7853e.  I added an initial patch to clean up the
formatting of the disabled window printk.

Changes since v1:
    - rebase to be6e9f7853e
    - add patch to clean up "disabled window" printk
    - add bugzilla reference comment in use_crs DMI quirk

---

Bjorn Helgaas (7):
      PCI: make disabled window printk style match the enabled ones
      PCI: break out primary/secondary/subordinate for readability
      PCI: split up pci_read_bridge_bases()
      PCI: read bridge windows before filling in subtractive decode resources
      PCI: replace bus resource table with a list
      x86/PCI: use host bridge _CRS info by default on 2010 and newer machines
      PCI: reference bridge window resources explicitly


 Documentation/kernel-parameters.txt |    8 +-
 arch/ia64/include/asm/acpi.h        |    1 
 arch/ia64/pci/pci.c                 |   20 ++--
 arch/x86/include/asm/pci_x86.h      |    1 
 arch/x86/pci/acpi.c                 |  105 +++++++++++++++-------
 arch/x86/pci/bus_numa.c             |    9 +-
 arch/x86/pci/common.c               |    3 +
 drivers/acpi/pci_root.c             |    1 
 drivers/pci/bus.c                   |   50 ++++++++++
 drivers/pci/hotplug/shpchp_sysfs.c  |   15 ++-
 drivers/pci/pci.c                   |    6 +
 drivers/pci/probe.c                 |  108 +++++++++++++++--------
 drivers/pci/quirks.c                |    4 -
 drivers/pci/setup-bus.c             |  168 ++++++++++++++++++-----------------
 drivers/pcmcia/rsrc_nonstatic.c     |    7 +
 drivers/pcmcia/yenta_socket.c       |   46 ++++++----
 include/acpi/acpi_drivers.h         |    1 
 include/linux/pci.h                 |   27 ++++--
 18 files changed, 370 insertions(+), 210 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ