Revision history   OpenPOWER Library

 B.1.1. Allocation and Initialization Procedure

 A high-level procedure on how an AFU might be assigned to an application in a managed system follows:

  1. System administrator assigns a slice of a CAIA-compliant device to a logical partition (that is a single operating-system image). In the case of a single-slice implementation or where all slices are assigned to the same operating-system image, the full CAIA-compliant device will be assigned to the logical partition.

  2. Hypervisor initializes the state of the PSL for the operating-system context.

    • PCIe Configuration Space to assign MMIO region to operating system

    • PSL Slice Control Register (PSL_SCNTL_An) to set the programming model

    • Interrupt Vector Table Entry Offset (PSL_IVTE_Offset_An)

    • Interrupt Vector Table Entry Limit (PSL_IVTE_Limit_An)

    • PSL State Register (PSL_SR_An)

    • PSL Logical Partition ID Register (PSL_LPID_An)

    • PSL Storage Description Register (PSL_SDR_An)

    • PSL Authority Mask Override Register (PSL_AMOR_An)

  3. Hypervisor builds a device tree for the AFU slice (or CAIA-compliant device).

    • Contains information about the CAIA-compliant device (for example, MMIO base, logical interrupt numbers, and so on).

  4. Application or user library performs system calls to:

    • Query available acceleration resources.

    • Create and register event handlers for AFU interrupts.

    • Get user-space MMIO base.

    • Download and start an accelerator with a pointer to the application's job queue (that is, the WED).

      Note: The job queue is application dependent and not defined by the CAIA.

  5. Operating system initializes the state of the PSL for the application's process and starts the AFU.

    • PSL Process and Thread Identification Register (PSL_PID_TID_An)

    • Virtual address (VA) Storage Segment Table Pointer Zero Register (SSTP0_An) and Storage Segment Table Pointer One Register (SSTP1_An)

    • PSL Authority Mask Register (PSL_AMR_An)

    • PSL Work Element Descriptor PSL WED Register (PSL_WED_An)

  6. AFU is now running and monitoring the application's job queue.


loading table of contents...