This patchset adds support for FSP EPOW (Early Power Off Warning) and DPO (Delayed Power Off) events support for PowerNV platform. EPOW events are generated by SPCN/FSP due to various critical system conditions that need system shutdown. Few examples of these conditions are high ambient temperature or system running on UPS power with low UPS battery. DPO event is generated in response to admin initiated system shutdown request. This patchset enables host kernel on PowerNV platform to handle OPAL notifications for these events and initiate system poweroff. Since EPOW notifications are sent in advance of impending shutdown event and thus functionality is also added to wait for EPOW condition to return to normal. EPOW events timeout values are available via OPAL exported device tree values under EPOW node. Host kernel allows MAX_POWEROFF_SYS_TIME (600 seconds) as system poweroff time (time for host + guests shutdown) and waits for remaining time for EPOW condition to return to normal. If EPOW condition doesn't return to normal in calculated time it proceeds with graceful system shutdown. For EPOW events with smaller timeouts values than MAX_POWEROFF_SYS_TIME it proceeds with system shutdown without any wait for EPOW condition to return to normal. System admin can also add systemd service shutdown scripts to perform any specific actions like graceful guest shutdown upon system poweroff. libvirt-guests is systemd service available on recent distros for management of guests at system stat/shutdown time.
Changes in v2: - Made code changes to improve code as per previous review comments. - Added patch to obtain EPOW event timeout values from OPAL device-tree. Vipin K Parashar (2): powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform powerpc/powernv: Extract EPOW events timeout values from OPAL device tree arch/powerpc/include/asm/opal-api.h | 30 ++ arch/powerpc/include/asm/opal.h | 3 +- arch/powerpc/platforms/powernv/opal-power.c | 440 +++++++++++++++++++++++-- arch/powerpc/platforms/powernv/opal-wrappers.S | 1 + 4 files changed, 452 insertions(+), 22 deletions(-) -- 1.9.3 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev