Revision history   OpenPOWER Library

 4.4.1.1. Software Procedure

  1.  Determine if there is room in the linked list for the new process element.

     Note: The method that system software uses to calculate the free space in the linked list is implementation specific.

  2.  Write the new process state to a free process element location in the linked list area. The free process element can be obtained from a linked list of free processes or by some other implementation-specific means.

  3.  Set the valid flag in the software state to '1' (Software_State[V] = '1').

    Store x'80000000' to the 31st word of the process element to add.

  4.  Ensure that the terminate status is visible to all processes.

    System software running on the host processor must perform a sync instruction.

  5.  Write an add_element command to the software command/status field in the linked list area.

    Store (x'00050000' || first_psl_id || link_of_element_to_add) to address sw_command_status.

  6.  Update the system-software implementation-dependent free list and the process-element linked list structures to reflect the added process element.

  7.  Ensure that the new process element is visible to all processes.

    System software running on the host processor must perform a sync instruction.

  8.  Issue the add_element MMIO command to the first PSL.

    System software performs an MMIO to the PSL Linked List Command Register with the add_element command and the link to the new process being added.

    (PSL_LLCMD_An = x'000500000000' || link_of_element_to_add).

  9.  Wait for the PSLs to acknowledge the process element.

    • The process element is added when a load from sw_command_status returns

  10. (x'00050005' || first_psl_id || link_of_element_to_add).

If a value of all 1's is returned for the status, an error has occurred. An implementation-dependent recovery procedure should be initiated by hardware.


loading table of contents...