Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Tony Camuso
Date: Sunday, January 13, 2008 - 8:29 pm

To all ...

Well, here is what I perceive we've got so far.

. Some PCI Northbridges do not work with MMCONFIG.

. Some PCI BARs can overlap the MMCONFIG area during bus sizing.
   It is hoped that new BIOSes will locate MMCONFIG in an area
   safely out of the way of bus sizing code, but there can be
   no guarantees.

. conf1 is going away in newer x86 implementations in the not
   too distant future.

. The PCI express spec requires platforms to provide access to
   the extended config area, and there are express devices today
   using that area for AER.

. There is no need to provide different PCI config access
   mechanisms at device granularity, since the PCI config access
   mechanism between the CPU and the Northbridge is opaque to
   the devices. PCI config mechanisms only need to differ at
   the Northbridge level.

. We have a flurry of patches all claiming to solve all or some
   of these problems.


Arjan,

I realize it may not be possible for you to answer this question,
but I feel compelled to ask it anyway. Is it possible that future
x86 architectures will be implementing a SAL-like interface to
abstract PCI config access altogether?

Or can we condense these patches down to a set that does the
following?

. If the system is capable of conf1, then PCI config access
   at offsets < 256 should be confined to conf1. This solution
   is most effective for existing and legacy systems.

. If the system does not support MMCONFIG, of if MMCONFIG is
   not working, then accesses to offsets > 256 return -1 and an
   error status.

. For systems, where the conf1 mechanism is NOT available,
   then MMCONFIG should be the PCI access mechanism for all
   offsets. For such systems, we must assume that the BIOS has
   become smart enough to locate MMCONFIG in a region safe from
   encroachment by bus sizing code.



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:09 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:40 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:54 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sat Jan 12, 10:45 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Benjamin Herrenschmidt, (Sun Jan 13, 12:08 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:01 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:03 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 11:41 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Tony Camuso, (Sun Jan 13, 8:29 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:05 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Øyvind Vågen Jægtnes, (Tue Jan 15, 5:58 am)
[PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Mon Jan 28, 8:03 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 3, 12:30 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Tony Camuso, (Thu Feb 7, 8:54 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Arjan van de Ven, (Thu Feb 7, 9:28 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Tony Camuso, (Thu Feb 7, 9:36 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Grant Grundler, (Thu Feb 7, 7:28 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sat Feb 9, 5:41 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sat Feb 9, 11:25 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 7:51 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Grant Grundler, (Sun Feb 10, 12:13 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 12:37 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:16 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:19 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Linus Torvalds, (Sun Feb 10, 1:24 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:25 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:32 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:45 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:47 pm)
raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Sun Feb 10, 4:02 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 6:49 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Robert Hancock, (Sun Feb 10, 7:53 pm)
Re: raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Sun Feb 10, 10:04 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 10:59 pm)
Re: raw_pci_read in quirk_intel_irqbalance, Grant Grundler, (Mon Feb 11, 12:49 am)
Re: raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Mon Feb 11, 9:15 am)
Re: raw_pci_read in quirk_intel_irqbalance, Linus Torvalds, (Mon Feb 11, 10:18 am)
Re: raw_pci_read in quirk_intel_irqbalance, Grant Grundler, (Mon Feb 11, 12:38 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Andrew Morton, (Mon Feb 11, 3:10 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Ingo Molnar, (Mon Feb 11, 3:38 pm)