IPMI_CHASSIS_PWR_DOWNs multiple uses

Andrew Geissler geissonator at gmail.com
Sat Feb 15 02:08:02 AEDT 2020

We've been working on standardizing our Redfish -> IPMI -> OpenBMC State
Management mappings[1].

One issue I'm running into is the dual use of the IPMI_CHASSIS_PWR_DOWN chassis
control command[2]. This command in its standard use case, is used to indicate
the chassis power should be removed from the system (non-graceful power down).
The issue I've been hitting is that it is also used by the BIOS firmware to
indicate once it has completed it's shutdown. For example in the IPMI Soft Off
chassis command path, the IPMI Chassis Power Down command is sent once the
BIOS has completed its shutdown.

The problem with this is that there are use cases for shutting down the host
but also keeping the chassis power on. For example a GracefulRestart is a
graceful shutdown of the BIOS and then a reboot of the system without removing
chassis power.

Is this dual use of IPMI_CHASSIS_PWR_DOWN something specific to our systems?
Is there a solution to this that doesn't involve special code on the BMC side
that tracks the current BMC state request and does some special handling


[1]: https://github.com/openbmc/docs/blob/master/designs/state-management-and-external-interfaces.md 
[2]: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-ipmid/+/29051/1/chassishandler.cpp#1093

More information about the openbmc mailing list