Implement processor throttle dbus properties
- create processor throttle dbus objects for each OCC (processor)
- update throttle properties based on OCC poll response data
or safe mode status.
Throttle data will be made available via Redfish
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Control.Power.Throttle interface - - -
.ThrottleCauses property as 0 emits-change
.Throttled property b false emits-change
Example of throttled processor (due to a power limit):
as 1 "xyz.openbmc_project.Control.Power.Throttle.ThrottleReasons.PowerLimit"
Change-Id: I0af9d82fab9d694427d0adaa45f4a372d25fbc12
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/app.cpp b/app.cpp
index a7e5f63..1d0ece3 100644
--- a/app.cpp
+++ b/app.cpp
@@ -37,6 +37,7 @@
// Attach the bus to sd_event to service user requests
bus.attach_event(eventP.get(), SD_EVENT_PRIORITY_NORMAL);
+ // Add object manager interfaces (for mapper)
sdbusplus::server::manager_t objManager(bus, OCC_CONTROL_ROOT);
#ifdef READ_OCC_SENSORS
sdbusplus::server::manager_t objManagerXyz(bus, OCC_SENSORS_ROOT);
@@ -45,6 +46,8 @@
sdbusplus::server::manager_t objManagerXyzControl(
bus, "/xyz/openbmc_project/control");
#endif
+ sdbusplus::server::manager_t objManagerXyzInventory(
+ bus, "/xyz/openbmc_project/inventory");
open_power::occ::Manager mgr(eventP);
// Claim the bus since all the house keeping is done now