Barrelfish
|
Enumerations |
Functions | |
errval_t | psci_version (uint16_t *major, uint16_t *minor) |
Return the version of PSCI implemented. See section 5.3 for more details. More... | |
errval_t | psci_cpu_suspend (uint32_t power_state, lpaddr_t entry_point, uintptr_t context_id) |
Suspend execution on a core or higher level topology node. More... | |
errval_t | psci_cpu_off (void) |
Power down the calling core. More... | |
errval_t | psci_cpu_on (uintptr_t target_cpu, lpaddr_t entry_point, uintptr_t context_id) |
Power up a core. More... | |
errval_t | psci_cpu_freeze (void) |
Places the core into an IMPLEMENTATION DEFINED low-power state. More... | |
errval_t | psci_cpu_default_suspend (lpaddr_t entry_point_address, uintptr_t context_id) |
Will place a core into an IMPLEMENTATION DEFINED low-power state. More... | |
errval_t | psci_affinity_info (uintptr_t target_affinity, uint32_t lowest_affinity_level, psci_affinity_t *ret_info) |
Enable the caller to request status of an affinity instance. More... | |
errval_t | psci_migrate (uintptr_t target_cpu) |
Optional. This is used to ask a uniprocessor Trusted OS to migrate its context to a specific core. More... | |
errval_t | psci_migrate_info_type (psci_migrate_t *ret_migrate_type) |
Optional. This function allows a caller to identify the level of multicore support present in the Trusted OS. More... | |
errval_t | psci_migrate_info_up_cpu (uintptr_t *ret_mpdir) |
Optional. For a uniprocessor Trusted OS, this function returns the current resident core. More... | |
void | psci_system_off (void) |
Shutdown the system. | |
void | psci_system_reset (void) |
Reset the system. | |
errval_t | psci_system_suspend (lpaddr_t entry_point_address, uintptr_t context_id) |
Used to implement suspend to RAM. The semantics are equivalent to a CPU_SUSPEND to the deepest low-power state. More... | |
errval_t | psci_features (uint32_t psci_fn_id, uint32_t *ret_feature_flags) |
Query API to discover whether a specific PSCI function is implemented. More... | |
errval_t | psci_node_hw_state (uintptr_t target_cpu, uint32_t power_level, psci_node_hw_state_t *ret_node_hw) |
This API is intended to return the true HW state of a node in the power domain topology of the system. More... | |
errval_t | psci_set_suspend_mode (psci_suspend_mode_t mode) |
This API allows setting the mode used by CPU_SUSPEND to coordinate power states. More... | |
errval_t | psci_stat_residency (uintptr_t target_cpu, uint32_t power_state, uintptr_t *ret_residency) |
Returns the amount of time the platform has spent in the given power state since cold boot. More... | |
errval_t | psci_stat_count (uintptr_t target_cpu, uint32_t power_state, uintptr_t count) |
Return the number of times the platform has used the given power state since cold boot. More... | |
enum psci_affinity_t |
enum psci_errno_t |
Table 7 defines the values for error codes used with PSCI functions. All errors are considered to be 32-bit signed integers. Therefore, when using the SMC64 calling convention, the upper word will be zero.
enum psci_fn_t |
Function Prototypes for the PSCI interface
enum psci_migrate_t |
errval_t psci_affinity_info | ( | uintptr_t | target_affinity, |
uint32_t | lowest_affinity_level, | ||
psci_affinity_t * | ret_info | ||
) |
Enable the caller to request status of an affinity instance.
target_affinity | MPDIR of the target cpu |
lowest_affinity_level | Denotes the lowest valid affinity level field |
ret_info |
errval_t psci_cpu_default_suspend | ( | lpaddr_t | entry_point_address, |
uintptr_t | context_id | ||
) |
Will place a core into an IMPLEMENTATION DEFINED low-power state.
entry_point_address | Address to be executed when waking up |
context_id | Context pointer to be left in x0/r0 |
errval_t psci_cpu_freeze | ( | void | ) |
Places the core into an IMPLEMENTATION DEFINED low-power state.
errval_t psci_cpu_off | ( | void | ) |
Power down the calling core.
This call is intended for use in hotplug. A core that is powered down by CPU_OFF can only be powered up again in response to a CPU_ON.
errval_t psci_cpu_on | ( | uintptr_t | target_cpu, |
lpaddr_t | entry_point, | ||
uintptr_t | context_id | ||
) |
Power up a core.
target_cpu | MPIDR of the target processors |
entry_point | Address at which the core must commence execution |
context_id | Value left in x0/r0 when resuming execution |
This call is used to power up cores that either:
errval_t psci_cpu_suspend | ( | uint32_t | power_state, |
lpaddr_t | entry_point, | ||
uintptr_t | context_id | ||
) |
Suspend execution on a core or higher level topology node.
power_state | the power state to |
entry_point | Physical address of the location to resume execution |
context_id | Value left in x0/r0 when resuming execution |
This call is intended for use in idle subsystems where the core is expected to return to execution through a wakeup event. See section 5.4.
errval_t psci_features | ( | uint32_t | psci_fn_id, |
uint32_t * | ret_feature_flags | ||
) |
Query API to discover whether a specific PSCI function is implemented.
psci_fn_id | Function ID for a PSCI Function |
ret_feature_flags | Returns a set of feature flags of the function |
errval_t psci_migrate | ( | uintptr_t | target_cpu | ) |
Optional. This is used to ask a uniprocessor Trusted OS to migrate its context to a specific core.
target_cpu | MPDIR of the target core |
errval_t psci_migrate_info_type | ( | psci_migrate_t * | ret_migrate_type | ) |
Optional. This function allows a caller to identify the level of multicore support present in the Trusted OS.
ret_migrate_type | Migration type capabilities |
errval_t psci_migrate_info_up_cpu | ( | uintptr_t * | ret_mpdir | ) |
Optional. For a uniprocessor Trusted OS, this function returns the current resident core.
ret_mpdir | MPIDR based value of core where the Trusted OS is resident |
errval_t psci_node_hw_state | ( | uintptr_t | target_cpu, |
uint32_t | power_level, | ||
psci_node_hw_state_t * | ret_node_hw | ||
) |
This API is intended to return the true HW state of a node in the power domain topology of the system.
target_cpu | Target CPU MPDIR |
power_level | Power domain level for the node |
ret_node_hw | return the power node hw state |
errval_t psci_set_suspend_mode | ( | psci_suspend_mode_t | mode | ) |
This API allows setting the mode used by CPU_SUSPEND to coordinate power states.
mode | Mode to put the system in |
errval_t psci_stat_count | ( | uintptr_t | target_cpu, |
uint32_t | power_state, | ||
uintptr_t | count | ||
) |
Return the number of times the platform has used the given power state since cold boot.
target_cpu | target CPU MPDIR |
power_state | power state to query |
count | returns the count |
errval_t psci_stat_residency | ( | uintptr_t | target_cpu, |
uint32_t | power_state, | ||
uintptr_t * | ret_residency | ||
) |
Returns the amount of time the platform has spent in the given power state since cold boot.
target_cpu | target CPU MPDIR |
power_state | power state to query |
ret_residency | Returns the amount of time, in microseconds, spent in state |
errval_t psci_system_suspend | ( | lpaddr_t | entry_point_address, |
uintptr_t | context_id | ||
) |
Used to implement suspend to RAM. The semantics are equivalent to a CPU_SUSPEND to the deepest low-power state.
entry_point_address | physical address to be executed when returning |
context_id | context id to be stored in x0/r0 |
errval_t psci_version | ( | uint16_t * | major, |
uint16_t * | minor | ||
) |
Return the version of PSCI implemented. See section 5.3 for more details.
major | returns the major version |
minor | returns the minor version |
Return the version of PSCI implemented. See section 5.3 for more details.
major | returns the major version |
minor | returns the minor version |