[Barrelfish-users] Initializing pci & pcie

Baumann Andrew andrewb at inf.ethz.ch
Tue Aug 23 00:13:31 CEST 2011


In case you are wondering why the Barrelfish MCFG code is so hairy, we discovered that some devices don't appear in the PCIe memory-mapped configuration area. Specifically, the AMD HyperTransport configuration registers are accessed via PCI-like configuration space reads and writes, but only through the legacy IO ports. This led to some ad-hoc code in the PCI driver, which in hindsight would probably have best been avoided by giving up on the pretence that the HyperTransport configuration is a PCI device, and just implementing a special-purpose driver and associated discovery mechanism for it.

Hope this helps clarify things.


-----Original Message-----
From: Timothy Roscoe [mailto:troscoe at inf.ethz.ch] 
Sent: Monday, 22 August, 2011 14:24
To: hilfi alkaff
Cc: barrelfish-users at lists.inf.ethz.ch
Subject: Re: [Barrelfish-users] Initializing pci & pcie


PCIe is a strict superset of PCI.

If you want to understand that code, or write similar code yourself,
you *really* need to understand the PCIe spec (and, for that matter, the
ACPI spec) - our code is certainly written on the assumption that
anyone who needs to maintain it already groks PCIe on a reasonably
deep level (and, indeed, CLP).

In addition to the specs, there is a high-level description of the PCI
programming problem in our ASPLOS paper earlier this year - if you are
having trouble understanding the PCIe specification (or the MindShare
translation of it), this might be a useful gentle introduction.  

 -- Mothy

At Mon, 22 Aug 2011 12:50:29 -0700, hilfi alkaff <hilfialkaff at berkeley.edu> wrote:
> Hi,
> I would like to know about how do you guys distinguish the above mentioned
> things. From what I gathered from reading your code (correct me if I'm
> wrong), there's no significant difference except the MCFG table in the acpi
> and the commented capability pointer code for pcie. I barely find any
> information online about this, so if it's ok with you, I would like to know
> more about them since I'm very lost at this.
> Thanks in advance,
> Hilfi Alkaff

Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch

More information about the Barrelfish-users mailing list