Inferensys

Glossary

Power State Coordination Interface (PSCI)

The Power State Coordination Interface (PSCI) is an ARM standard that defines a firmware interface for power management operations, such as core idle, hotplug, and system suspend/resume, facilitating coordination between an operating system and trusted firmware on ARM-based systems.
Operations room with a large monitor wall for system visibility and control.
ARM STANDARD

What is Power State Coordination Interface (PSCI)?

A firmware interface standard for power management on ARM-based systems.

The Power State Coordination Interface (PSCI) is an ARM standard that defines a firmware interface for system-wide power management operations, enabling coordination between an operating system and trusted firmware (e.g., ARM Trusted Firmware). It provides a unified API for critical functions like CPU idle (core suspend), hotplug (dynamic core on/off), and system suspend/resume, abstracting hardware-specific details to ensure OS portability across diverse ARM System-on-Chip (SoC) implementations.

PSCI operates at the highest privilege level (EL3 in the ARMv8-A architecture), typically implemented within the secure monitor firmware. This allows it to safely orchestrate power state transitions for both secure and non-secure worlds. By standardizing these low-level controls, PSCI simplifies OS development, enables robust power-aware scheduling, and is a foundational component for implementing advanced Dynamic Voltage and Frequency Scaling (DVFS) and power gating policies on modern ARM processors and accelerators.

ARM STANDARD

Core PSCI Functions

The Power State Coordination Interface (PSCI) is an ARM-defined firmware interface for system-wide power management. It provides a standardized set of functions that an operating system or hypervisor calls to coordinate power state transitions across cores, clusters, and the entire system.

01

CPU_SUSPEND

The CPU_SUSPEND function places a specific CPU core into a low-power idle state. The calling core provides a power state parameter defining the target C-state (e.g., WFI, retention, power down). The firmware saves the core's context and powers down components before entering the state. Upon a wake-up event, firmware restores context and returns control.

  • Key Use: Managing core idle during OS scheduler inactivity.
  • State Coordination: Must be coordinated with other cores to maintain cache coherency.
  • Wake-up Sources: Can be configured for interrupts, timers, or inter-processor interrupts from other cores.
02

CPU_ON

The CPU_ON function is used to power on and boot a secondary CPU core that is currently in a powered-down state. The calling core (typically the boot CPU) specifies the target core's MPIDR (Multiprocessor Affinity Register) and the entry point address for its execution. The trusted firmware handles the power sequencing, initializes the core, and starts it executing at the given address.

  • Core Hotplug: Enables dynamic addition of CPU cores to the operating system's scheduler.
  • Asynchronous Operation: The call returns immediately; completion is signaled via a separate mechanism.
  • Boot Protocol: Follows the ARM boot architecture for initializing cores from a reset state.
03

SYSTEM_SUSPEND

The SYSTEM_SUSPEND function initiates a system-wide low-power state, such as suspend-to-RAM (STR). The OS prepares all devices and drivers, then calls this function. Firmware saves the entire system state to a predefined memory location, places DRAM into self-refresh, and powers down most SoC components. Resume is triggered by an external event (e.g., RTC alarm, button press), after which firmware restores the full system context.

  • Deepest System State: Achieves the lowest power consumption while maintaining volatile memory.
  • OS Coordination: Requires the OS to quiesce all I/O and save device states beforehand.
  • Entry Address: The resume entry point (often in firmware) is specified in the call.
04

SYSTEM_RESET & SYSTEM_OFF

These functions manage system shutdown and restart. SYSTEM_RESET triggers a warm reset, rebooting the system. SYSTEM_OFF performs a cold shutdown, powering the system down completely; it requires an external event (like a power button) to restart.

  • SYSTEM_RESET: Used for software-initiated reboots. Firmware may log the reset reason before re-initializing hardware.
  • SYSTEM_OFF: The final power management call. Firmware signals the PMIC to remove main power rails. No state is preserved.
  • PSCI 1.0+: These functions supersede the older SYSTEM_REBOOT and SYSTEM_SHUTDOWN calls.
05

AFFINITY_INFO & CPU_FREEZE

AFFINITY_INFO queries the power state of a CPU core or a cluster of cores, reporting if it is ON, OFF, or ON_PENDING. CPU_FREEZE is a precursor to SYSTEM_SUSPEND that requests all cores to enter a coordinated, platform-specific low-power state without a full context save, useful for very low-latency sleep modes.

  • Topology Discovery: AFFINITY_INFO helps the OS map the power domain hierarchy.
  • Latency-Sensitive Sleep: CPU_FREEZE enables rapid system sleep/wake cycles for always-on applications.
  • State Coordination: Both functions are essential for managing power domains above the individual core level.
06

PSCI Features & SMCCC

PSCI functions are invoked via the Secure Monitor Call (SMC) or Hypervisor Call (HVC) instruction, depending on the system's exception level (EL) configuration. The calling convention is defined by the ARM Secure Monitor Call Calling Convention (SMCCC). The PSCI_FEATURES function allows a caller to check if a specific PSCI function is implemented and query its capabilities.

  • Standardized Invocation: SMCCC defines register usage for function IDs and return values.
  • Version Discovery: PSCI_VERSION returns the implemented interface version (e.g., 1.0, 1.1, 2.0).
  • Extensibility: PSCI_FEATURES enables forward compatibility, allowing new functions to be queried safely.
ARCHITECTURE

How PSCI Works: The Software Stack

The Power State Coordination Interface (PSCI) defines a layered software architecture that enables power management on ARM-based systems, from the operating system down to the physical hardware.

The PSCI software stack is anchored by a standardized firmware interface implemented in the ARM Trusted Firmware (ATF) layer. This provides a set of SMC (Secure Monitor Call) functions that an operating system's kernel or hypervisor can invoke to request power operations like CPU idle, hotplug, or system suspend. The firmware acts as the system-wide coordinator, ensuring these requests are executed safely and atomically across all cores and clusters.

Beneath the firmware interface, vendor-specific power controller firmware or a dedicated Power Management Unit (PMU) translates PSCI commands into low-level hardware sequences. This involves managing clock gating, power gating, and voltage regulator control for specific cores or domains. The stack's design cleanly separates OS policy from platform-specific implementation, enabling portable software while allowing hardware vendors to optimize for their System-on-Chip (SoC) power architecture.

POWER AND THERMAL MANAGEMENT

Frequently Asked Questions

Essential questions about the Power State Coordination Interface (PSCI), the ARM standard firmware interface for system-wide power management on multi-core processors.

The Power State Coordination Interface (PSCI) is an ARM-defined standard firmware interface that provides a set of function calls for performing power management operations on ARM-based multi-core systems. It works by establishing a trusted execution environment, typically in the ARM Trusted Firmware (ATF), which acts as the sole controller for critical power states. When an operating system kernel or hypervisor needs to idle a CPU core, suspend the system, or perform a hotplug operation, it invokes a PSCI function via a Supervisor Call (SVC) or Hypervisor Call (HVC). The PSCI implementation in the secure firmware then executes the low-level hardware sequences to safely transition cores and system components between power states, ensuring coordination and coherency across the entire system-on-chip (SoC).

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.