[PATCH v2 0/2] Poweroff (EPOW, DPO) events support for PowerNV platform

Vipin K Parashar vipin at linux.vnet.ibm.com
Thu May 7 19:30:18 AEST 2015


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



More information about the Linuxppc-dev mailing list