Revision history   OpenPOWER Library

 4.4.4.3. PSL Procedure for AFU-Directed Programming Models

  Operations Performed by the First PSL (PSL_ID[L,F] = '01')

When the remove_element MMIO command is received by the first PSL, the PSL notifies the AFU that the process element is being removed and sends the remove_element command to the next PSL.

  1. The PSL notifies the AFU of the process element removal. The AFU performs any necessary operations to remove the process and then acknowledges the removal of the process element. When the acknowledgment is received, the PSL continues with the next substep.

  2. The PSL sets the completion status in the software command/status field to indicate that it is now safe to remove the process element from the linked list.

    • Write the value (x'00020000' || next_psl_id || link_of_element_to_remove) to the psl_chained_command.

    • The PSL does not start any process with a software state of complete, suspend, or terminate. A process element with the suspend flag set can be added to the PSL queue.

  Operations Performed by the Next PSL (PSL_ID[L,F] = '00')

When the remove_element command is detected by the next PSL, the PSL notifies the AFU that the process element is being removed and sends the remove_element command to the next PSL. The remove_element command is detected by monitoring the psl_chained_command doubleword.

  1. The PSL notifies the AFU of the process element removal. The AFU performs any necessary operations to remove the process and then acknowledges the removal of the process element. When the acknowledgment is received, the PSL continues with the next substep.

  2. The PSL sets the completion status in the software command/status field to indicate that it is now safe to remove the process element from the linked list.

    • Write the value (x'00020000' || next_psl_id || link_of_element_to_remove) to the psl_chained_command.

    • The PSL does not start any process with a software state of complete, suspend, or terminate. A process element with the suspend flag set can be added to the PSL queue.

  Operations Performed by the Last PSL (PSL_ID[L] = '1')

When the suspend_element MMIO command is received or the suspend_element command is detected by the last PSL, the PSL checks to see if the process element being terminated is currently running. It performs any operations necessary, and sets the completion status in the software command/status word. The suspend_element command is detected by monitoring the psl_chained_command doubleword.

  1. The PSL notifies the AFU of the process element removal. The AFU performs any necessary operations to remove the process and then acknowledges the removal of the process element. When the acknowledgment is received, the PSL continues with the next substep.

  2. The PSL sets the completion status in the software command/status field to indicate that the process has been successfully removed.

    • The status field in sw_command_status is set to x'0002' using a caching-inhibited DMA or special memory-update operation that is guaranteed not to corrupt memory if the operation fails.


loading table of contents...