[EXTERNAL] how to get pci config space

Neeraj Ladkani neladk at microsoft.com
Wed Dec 18 18:18:36 AEDT 2019


IMO, we only need DeviceID and VendorID fields from PCIe Config space and we can let system firmware send this information during boot or preprogram the information to BMC using EntityManager. 

Regarding BMC-CPU(via PECI), BMC needs to send PECI command to CPU. CPU should support RdPCICfg as supported PECI command and thus respond with data.

Neeraj


-----Original Message-----
From: Brad Bishop <bradleyb at fuzziesquirrel.com> 
Sent: Tuesday, December 17, 2019 2:51 PM
To: Neeraj Ladkani <neladk at microsoft.com>
Cc: OpenBMC Maillist <openbmc at lists.ozlabs.org>
Subject: Re: [EXTERNAL] how to get pci config space

Thanks for the reply Neeraj!

> On Dec 17, 2019, at 4:15 PM, Neeraj Ladkani <neladk at microsoft.com> wrote:
> 
> Is there any broader use case for this?

I want to report mfg/model/pn/sn for pcie devices via the pciedevice Redfish schema.  I assumed the config space is where this information would originate.  Good assumption?

I’m also aware of a need to dynamically tune fan control parameters when cards that are known to run hot are installed.  Are there better ways to do something like this?

> I am not sure on Power

Similar to PECI we have something called FSI.

> but on x86 it really depends on how the CPU PECI is router to BMC. If its wired to ME then BMC->ME->CPU( via PECI over DMI or serial PECI) but if its wired to CPU then BMC->CPU( via serial PECI). 

This helps, thanks.  If we assume the second case for a moment - is the entire path in hardware? - e.g. does PECI give the BMC direct access to the address space and the BMC just reads it?  Or is there a message passing interface?

thx - brad


More information about the openbmc mailing list