Support "GenerationInUse" PCIe device property

This commit adds support for PCIe device property "GenerationInUse",
and let management APIs like redfish can expose the information.

New property:
GenerationInUse   : The PCIe interface generation in use by the device.

Tested:
Ensure DBus is created and the value is correct of new property.

Dbus Sample output:
NAME                                TYPE      SIGNATURE RESULT/VALUE     FLAGS
[...]
xyz.openbmc_project.PCIe.Device     interface -         -                -
.DeviceType                         property  s         "SingleFunction" emits-change
.Function0ClassCode                 property  s         "0x060400"       emits-change
[...]
.GenerationInUse                    property  s         "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Gen2" emits-change

Signed-off-by: Spencer Ku <Spencer.Ku@quantatw.com>
Change-Id: I2273b9529a16ca0229c5d0ad17befcd3f764a188
2 files changed
tree: 2fa2a1db5302afd6c80fbc15a941e43e234147d9
  1. include/
  2. service_files/
  3. src/
  4. utils/
  5. .clang-format
  6. CMakeLists.txt
  7. LICENSE
  8. MAINTAINERS
  9. OWNERS
  10. README.md
README.md

peci-pcie

The peci-pcie application uses the CPU PECI interface to get PCIe Device information for the system and shares it on D-Bus. The information from D-Bus is used by bmcweb to populate the PCIe Device resources in Redfish.