1description: >
2    Implement the Soft Power Off function. On receiving the SMS_ATTN from BMC,
3    Host will respond with a GetMessageFlags command and the BMC will respond
4    with a static data indicating that Event Message Buffer is full. Host then
5    sends 'ReadEvent' command and BMC responds with an architected packet
6    mentioning that the type is SOFT_OFF. Host then goes ahead and starts to
7    quiesce. Once that is done, Host will send a hard power off command to BMC
8    and then BMC will issue a hard power off.
9
10properties:
11    - name: ResponseReceived
12      type: enum[self.HostResponse]
13      default: NotApplicable
14      description: >
15          When the response is received for 'SMS_ATN', this is set to
16          'SoftOffReceived' and is set to 'HostShutdown' when Host sends a Power
17          Off request.
18
19enumerations:
20    - name: HostResponse
21      description: >
22          Possible response types from Host for a Soft Power Off function.
23      values:
24          - name: NotApplicable
25            description: >
26                Default initial value.
27          - name: SoftOffReceived
28            description: >
29                Host has received the SMS_ATN from BMC indicating that Host
30                needs to do a Soft Power Off.
31          - name: HostShutdown
32            description: >
33                Host has sufficiently quiesced and acknowledged the shutdown
34                request such that the hardware shutdown sequence can safely be
35                performed.
36