Revision history   OpenPOWER Library

 4.3.3. Software Command/Status Field Format

 There are two command/status words in the scheduled processes area; the sw_command_status word and the psl_chained_command word. These commands are used by system software and the PSLs to either terminate or to safely remove a process element.

 Updates of the sw_command_status word by the PSL must be performed using a caching-inhibited write operation. In some implementations, a special write operation must be used. The special write operation allows the system to continue normal operation in the scenario where the CAIA-compliant device abnormally terminates while in the middle of the update operation.

Access Type

sw_command_status:

Read/write by both system software and PSL.

Note: The PSL must never cache the line containing the sw_command_status word in a modified state.

 

psl_chained_command:

Read/write by only the PSL.

 Base Address Offset

 sw_command_status:

SPA_Base + ((n + 3) × 128);

where n = maximum number of process elements supported.

 

psl_chained_command:

SPA_Base + ((n+4) × 128) +

(( ((n × 8) + 127) >> 7) × 128) + 128;

where n = maximum number of process elements supported.

Command

Status

 0

 1

 2

 3

 4

 5

 6

 7

 8

 9

 10

 11

 12

 13

 14

 15

 16

 17

 18

 19

 20

 21

 22

 23

 24

 25

 26

 27

 28

 29

 30

 31

PSL_ID

Link

 32

 33

 34

 35

 36

 37

 38

 39

 40

 41

 42

 43

 44

 45

 46

 47

 48

 49

 50

 51

 52

 53

 54

 55

 56

 57

 58

 59

 60

 61

 62

 63

Bits

Field Name

Description

 0:15

 Command

 Command.

x'0000'

No command.

x'0001'

terminate_element: Terminate the process element at the link provided.

x'0002'

remove_element: Remove the process element at the link provided.

x'0003'

suspend_element: Stop executing the process element at the link provided.

x'0004'

resume_element: Resume executing the process element at the link provided.

x'0004'

add_element: Software is adding a process element at the link provided.

x'0006'

update_element: Software is updating the process element state at the link provided.

All other values are reserved.

  Note: The most significant bit of the command is reserved and must always be set to '0'.

 16:31

 Status

 Status.

The status field in the sw_command_status word must always be set to x'0000' by system software. The PSL should only update this field when setting the completion status. If the most significant bit is set, it indicates an error. For example, a status of 0x8001 indicates an error terminated a process element.

x'0000'

Operation pending.

x'0001'

Process element terminated.

x'0002'

Safe to remove process element from the linked list.

x'0003'

Process element suspended and all outstanding operations are complete.

x'0004'

Execution of the process element resumed.

x'0005'

PSL acknowledgment of an added process element.

x'0006'

PSL acknowledgment of an updated process element.

'1ccc cccc cccc cccc' Indicates an error with the requested command indicated by the "c" field.

All other values are reserved.

 32:47

 PSL_ID

 PSL identifier.

 The PSL identifier is used to select which PSL assigned to service the scheduled processes must perform the operation. When the sw_command_status word is written by system software, the PSL_ID must be the first in the list of PSLs assigned to service the processes. Each PSL has the ID of the next PSL in the list and forwards the command to the next PSL in the psl_chained_command if required.

 48:63

 Link

 Process element link.

 The process element link is the offset from the SPA_Base, shifted right by 7 bits, of the process element to operate on.


loading table of contents...