1.1 PF_SYSTEM_SERVICES Core Overview
(Ask a Question)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.
Descriptor Bit | Value |
---|---|
15:7 | MBOXADDR |
6:0 | SERVICEID |
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.
- The “Secure Non-Volatile Memory” section in PolarFire FPGA and PolarFire SoC FPGA Security User Guide.
- The
CoreSysServices-PF
driver example in the Bare Metal Examples on GitHub.
In this demo, the sample SoftConsole project is migrated to SoftConsole
and the application file main.c
is modified to provide the user
options.