Revision history   OpenPOWER Library

 4.1. Dedicated-Process Programming Model

 The dedicated-process programming model is implementation specific. Figure 4.1, “Accelerator Invocation Process in the Dedicated Process Model ” shows how an application invokes an accelerator under the dedicated-process programming model.

 In this model, a single process owns the AFU. Because the AFU is dedicated to a single process, the programming model is not defined in this document. For more information, see the documentation for the specific implementation.

 Because the AFU is owned by a single process, the hypervisor initializes the PSL for the owning partition and the operating system initializes the PSL for the owning process at the time when the AFU is assigned. The following information is initialized:

 The following registers are initialized by the hypervisor:

  •  PSL Slice Control Register (PSL_SCNTL_An)

  •  Real Address (RA) Scheduled Processes Area Pointer (PSL_SPAP_An)

  •  PSL Authority Mask Override Register (PSL_AMOR_An)

  •  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 (PSL_LPID_An)

  •  Real address (RA) Hypervisor Accelerator Utilization Record Pointer (HAURP_An) {This pointer should be disabled.}

  •  PSL Storage Description Register (PSL_SDR_An)

 The following registers are initialized by the operating system:

  •  PSL Process and Thread Identification (PSL_PID_TID_An)

  •  Effective Address (EA) Context Save/Restore Pointer (CSRP_An) {This pointer should be disabled.}

  •  Virtual Address (VA) Accelerator Utilization Record Pointer (AURP0_An) and (AURP1_An) {This pointer should be disabled.}

  •  Virtual Address (VA) Storage Segment Table Pointer (SSTP0_An) and (SSTP1_An)

  •  PSL Authority Mask (PSL_AMR_An)

  •  PSL Work Element Descriptor (PSL_WED_An)


loading table of contents...