This group of APIs provide access, configuration, and control of the individual CPU interfaces.
ALT_STATUS_CODE alt_int_cpu_init |
( |
void |
| ) |
|
Performs the initialization steps needed by the interrupt controller CPU interface. This should be the first CPU API call made when using the CPU interface.
- Return values
-
ALT_E_SUCCESS | The operation was successful. |
ALT_E_ERROR | The operation failed. |
ALT_STATUS_CODE alt_int_cpu_uninit |
( |
void |
| ) |
|
Performs the uninitialization steps needed by the interrupt controller CPU interface.
ALT_STATUS_CODE alt_int_cpu_enable |
( |
void |
| ) |
|
Causes the CPU to monitor both irq and fiq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.
ALT_STATUS_CODE alt_int_cpu_enable_irq |
( |
void |
| ) |
|
Causes the CPU to monitor irq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.
ALT_STATUS_CODE alt_int_cpu_enable_fiq |
( |
void |
| ) |
|
Causes the CPU to monitor fiq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.
void alt_int_cpu_disable |
( |
void |
| ) |
|
Causes the CPU interface to ignore both irq and fiq interrupts.
void alt_int_cpu_disable_irq |
( |
void |
| ) |
|
Causes the CPU interface to ignore irq interrupts.
void alt_int_cpu_disable_fiq |
( |
void |
| ) |
|
Causes the CPU interface to ignore fiq interrupts.
uint32_t alt_int_cpu_priority_mask_get |
( |
void |
| ) |
|
Gets the interrupt priority mask for the current CPU. Only interrupts with a higher priority than the priority mask can be forwarded to the CPU. In EL3, this will only apply to secure interrupts
- Returns
- The interrupt priority mask used to determine interrupt preemption.
ALT_STATUS_CODE alt_int_cpu_priority_mask_set |
( |
uint32_t |
priority_mask | ) |
|
Sets the interrupt priority mask for the current CPU. Only interrupts with a higher priority than the priority mask can be forwarded to the CPU. In EL3, this will only apply to secure interrupts
- Parameters
-
priority_mask | The interrupt priority mask is the group priority needed to instruct the GIC to preempt lower priority interrupt. The valid range for this value is 0 - 255. |
- Return values
-
ALT_E_SUCCESS | The operation was successful. |
ALT_E_ERROR | The operation failed. |
ALT_E_BAD_ARG | The given priority mask is invalid. |
uint32_t alt_int_cpu_binary_point_get |
( |
void |
| ) |
|
Returns the binary point for the given CPU. In EL3, this will refer only to the secure interrupts. See alt_int_cpu_binary_point_set for details
- Returns
- The configured binary point value.
ALT_STATUS_CODE alt_int_cpu_binary_point_set |
( |
uint32_t |
binary_point | ) |
|
Sets the binary point value for the current CPU. In EL3, this will refer only to the secure interrupts.
This set the number of least-significant-bits in the priority to ignore. This is useful in IRQ implementations that support preemption to split the priority into subgroups. However, our implementation does not use this
- Parameters
-
binary_point | The binary point to use. The valid range for the value is 0 - 7. |
- Return values
-
ALT_E_SUCCESS | The operation was successful. |
ALT_E_ERROR | The operation failed. |
ALT_E_BAD_ARG | The given binary point value is invalid. |