[EXTERNAL] how to get pci config space

Bills, Jason M jason.m.bills at linux.intel.com
Thu Jun 18 09:37:34 AEST 2020


Hi Brad,

On 4/30/2020 2:14 PM, Bills, Jason M wrote:
> 
> 
> On 12/19/2019 12:45 AM, Neeraj Ladkani wrote:
>> It depends on requirements like in our use case, our PCIe devices are 
>> fixed so we can preprogram a array in JSON file to include all PCI 
>> functions from a device but for someone else for example OEM who is 
>> selling the servers, it not possible to predict all PCI device can be 
>> connected on PCIe slot so we can let system firmware send this 
>> information or do RdPCIRd via PECI.
> 
> Sorry for not replying earlier.  I had some legal questions that I was 
> waiting to be resolved.
> 
> Intel has a downstream solution that uses PECI to get the PCIe 
> information onto D-Bus which is then published to Redfish.  I can now 
> share what we have upstream if there is interest.
> 
> If so, I guess I'd need a new 'peci-pcie' repo to check into?
Not sure if anyone saw this or if there is just no interest. :)

Could you please create a peci-pcie repo for this application?

Thanks!
-Jason

> 
> Thanks,
> -Jason>
>> I am not aware of any standards on "Implementation". I have seen 
>> typical implementations where system firmware sends post PCIe data ( 
>> exact schema) to BMC using redfish and BMC produces this data over 
>> redfish ( just act like passthrough).
>>
>> Neeraj
>>
>> -----Original Message-----
>> From: Brad Bishop <bradleyb at fuzziesquirrel.com>
>> Sent: Wednesday, December 18, 2019 4:35 AM
>> 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 Neeraj
>>
>>> On Dec 18, 2019, at 2:18 AM, Neeraj Ladkani <neladk at microsoft.com> 
>>> wrote:
>>>
>>> IMO, we only need DeviceID and VendorID fields from PCIe Config space
>>
>> This would probably meet my need to dynamically tune fan control 
>> parameters.  Is it possible to populate instances of the pciedevice 
>> schema based on devid and vendorid alone?
>>
>>> and we can let system firmware send this information during boot
>>
>> This is how it works on Power systems before OpenBMC, but we have a 
>> custom protocol with a proprietary implementation.  The purpose of my 
>> note was to find out if there are typical implementations or even 
>> standards out there for doing this.
>>
>>> or preprogram the information to BMC using EntityManager.
>>
>> Can you elaborate on how this would work?  Given the number of pcie 
>> devices out there this seems like it would be hard to do it this way 
>> without a huge database of some kind on the bmc?
>>
>>> 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.
>>
>> Ok - that sounds like its all in hardware.  But above it sounded like 
>> you suggest we skip RdPCICfg and instead let system firmware push this 
>> information down to the BMC - do I have it right?  If so why do you 
>> prefer that mechanism?
>>
>> thx!
>>
>> -brad
>>


More information about the openbmc mailing list