<emphasis>ibm,suspend-me</emphasis> RTAS Call The ibm,suspend-me RTAS call provides the calling OS the ability to suspend processing. Suspension of processing is required as part of OS hibernation or migration to another platform. This RTAS call is made by the last active processor thread of a partition. The OS uses the H_JOIN hcall() (see ) to deactivate other processing threads. Processing treads may exit H_JOIN due to an unmaskable interrupt; if a thread has exited H_JOIN, ibm,suspend-me fails with a status of “multiple processor threads active”. The wake up from suspension is triggered by partition state change (see and ). The ibm,suspend-me RTAS call returns only on the calling virtual processor. Other virtual processors that were inactive when ibm,suspend-me was called remain so until they are proded by the OS. While the logical configuration of a suspended partition remains static, the physical properties may change; the OS may wish to issue ibm,update-nodes (see ) to determine if any device tree nodes changed, and then refresh its view of the device tree physical properties using ibm,update-properties (see ) and/or ibm,configure-connector (see ). Also during suspension, some system parameters may have changed. See , for details. The OS may want to re-scan selected system parameters. R1--1. For the Partition Suspension option: The platform must implement the Logical Partitioning option (see ) . R1--2. For the Partition Suspension option: RTAS must implement the ibm,suspend-me call within a logical partition using the argument call buffer defined by . <emphasis>ibm,suspend-me</emphasis> Argument Call Buffer Parameter Type Name Values In Token Token for ibm,suspend-me Number Inputs 0 Number Outputs 1 Out Status 9000: Suspension Aborted 0: Success -- expected return on function resume -1: Hardware Error   -9004: Partition not suspendable -9005: Multiple processor threads active -9006: Outstanding COP Operations
R1--3. For the Partition Suspension option: The ibm,suspend-me RTAS call must determine that the calling partition is in the “suspendable state”, else return a status of -9004 “Partition not suspendable”. R1--4. For the Partition Suspension option: The ibm,suspend-me RTAS call must determine that the calling partition has no other active processor thread, else return a status of -9005 “Multiple processor threads active”. R1--5. For the Partition Suspension option: The platform must implement the Thread Join option (see ). R1--6. For the Partition Suspension option: The platform must restore all partition state as of the time of the call to ibm,suspend-me prior to returning from the ibm,suspend-me RTAS call, except for the values of those Open Firmware Device tree properties as reported using the Update OF Tree option, and the system parameters given in . R1--7. For the Partition Suspension option: The platform must be prepared to respond to OS requests for updated device tree information immediately after returning from the ibm,suspend-me RTAS call. R1--8. For the Partition Suspension option: The platform must support the “update OF tree” option. R1--9. For the Partition Suspension option: The platform must support the “Partner partition suspended” CRQ Transport Event (See ). R1--10. For the Partition Suspension option: The ibm,suspend-me RTAS call must cause the platform to deliver “Partner partition suspended” CRQ Transport Events to both CRQs of all CRQ connections associated with the partition calling ibm,suspend-me. Note: The transport events are visible to the partition calling ibm,suspend-me after the subsequent resume from suspension, while the transport events are immediately visible to the partner partitions of the caller at the time of the suspend. R1--11. For the Partition Suspension option: The ibm,suspend-me RTAS call must cause the platform to set the state of all of the caller’s CRQs to disabled. R1--12. For the Partition Suspension option: The platform must implement the H_ENABLE_CRQ hcall() using the syntax and semantics described in . R1--13. For platforms that implement the Partition Suspension and VSCSI options: The “compatible” property of the platform’s v-scsi and v-scsi-host nodes must include “IBM,v-scsi-2” and “IBM,v-scsi-host-2” respectively indicating the platform supports the “Partner partition suspended” CRQ Transport Event. R1--14. For the Partition Suspension option: If the OS is participating in OS surveillance, to avoid a surveillance time out, the OS must disable surveillance (see ) prior to calling ibm,suspend-me. R1--15. For the Partition Suspension option: The platform must implement the LRDR option (See ). R1--16. For the Partition Suspension option: The logical configuration of a partition, including its view of the rtas-display-device, and rtas tone facility must not change while a partition is suspended. R1--17. For the Partition Suspension option: The platform must not change the support for a system parameter during suspension. NOTE: If RTAS returns a status of -3 (System parameter not supported) prior to suspension, it returns a Status of -3 for accesses to that same system parameter after suspension. Similarly if RTAS does not return a Status of -3 prior to suspension for a given system parameter, it does not do so after suspension. R1--18. For the Partition Suspension option: The platform must limit the system parameters that change values during suspension to those specified in (all system parameters not specified are preserved). R1--19. For the Partition Suspension option: The platform must preserve up to the first 32 SLB entries for each partition processor during the suspension. Other SLB entries are subject to loss. R1--20. For the Partition Suspension option with the Platform Facilities Option: The ibm,suspend-me RTAS call must determine that the calling partition has no outstanding coprocessor operations else return a status of -9005 “Outstanding COP Operations”. System Parameters that May Change During Partition Migration and Hibernation System Parameter Token Name   0-15 HMC   18-19 Legacy processor CoD   20   SPLPAR characteristics Only specified SPLPAR keywords may change value   DesiredEntitledCapacity   DesiredMemory   DesiredNumberOfProcessors   DesiredVariableCapacityWeight   DispatchWheelRotationPeriod   MinimumEntitledCapacityPerVP Platform prevents migration where current Entitled Capacity/VCPU ratio would be below the target's minimum. MaximumPlatformProcessors   22 platform_auto_power_restart   23 sp-remote-pon   24 sp-rb4-pon   25 sp-snoop-str   30 sp-call-home   31 sp-current-flash-image   33 epow3-quiesce-time   34 memory-preservation-boot-time   35 SCSI initiator identifier   36 AIX support The keyword “support” may not change to the value “no” for an AIX client. 37 enhanced processor CoD   38 enhanced memory CoD   39 CoD Options   41 firmware boot options   43 processor module information