1.1 PF_SYSTEM_SERVICES Core Overview

System controller actions are initiated by the fabric logic through the System Service Interface (SSI) of the System Controller. The fabric logic requires the PF_SYSTEM_SERVICES core for initiating the system services. A service request interrupt to the system controller is triggered when the fabric user logic writes a 16-bit system service descriptor to the SSI. The lower seven bits of the descriptor specify the service to be performed. The upper nine bits specify the address offset (0–511) in the 2 KB mailbox RAM. The mailbox address specifies the service-specific data structure used for any additional inputs or outputs for the service. The fabric logic must write additional parameters to the mailbox before requesting a system service.

The following table lists the system service descriptor bits.

Table 1-2. System Services Descriptor
Descriptor BitValue
15:7MBOXADDR
6:0SERVICEID

SSI consists of an asynchronous command-response interface that transfers a system service command from the fabric master to the system controller and the status from the system controller to the fabric master. The following figure shows how the PF_SYSTEM_SERVICES interfaces with the fabric logic.

Figure 1-1. Core System Services IP Interfacing with Fabric User Logic
The system services driver and the sample SoftConsole project are available in driver-examples/CoreSysServices-PF folder in the Bare Metal Examples on GitHub. For more information on sNVM secure access, see the following:

In this demo, the sample SoftConsole project is migrated to SoftConsole and the application file main.c is modified to provide the user options.