| 1f6bb41d | 06-Sep-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
refactor(el3-runtime): plat_ic_has_interrupt_type returns bool
Rather than returning 0 or 1, the above function returns bool false or true. No functional change.
Change-Id: Iea904ffc368568208fa8203
refactor(el3-runtime): plat_ic_has_interrupt_type returns bool
Rather than returning 0 or 1, the above function returns bool false or true. No functional change.
Change-Id: Iea904ffc368568208fa8203e0d2e0cdaa500b1e0 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 07f867b1 | 03-Aug-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(el3-runtime): leverage generic interrupt controller helpers
Rather than validating the type of interrupts supported by the platform interrupt controller, the interrupt management framework can d
fix(el3-runtime): leverage generic interrupt controller helpers
Rather than validating the type of interrupts supported by the platform interrupt controller, the interrupt management framework can directly use helper utilities implemented by the generic interrupt controller driver.
Change-Id: I735f8d2742a2c7974d11c0a5ddc771ad807c635c Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 632e5ffe | 03-Aug-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(gicv3): map generic interrupt type to GICv3 group
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
fix(gicv3): map generic interrupt type to GICv3 group
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
Currently, they are used interchangeably in GICv3 driver. It did not cause any functional issues since the matching type and group had the same value for corresponding macros. This patch makes the necessary fixes.
The generic interrupt controller APIs, such as plat_ic_set_interrupt_type map interrupt type to interrupt group supported by the GICv3 IP. Similarly, other generic interrupt controller APIs map interrupt group to interrupt type as needed.
This patch also changes the name of the helper functions to use group rather than type for handling interrupts.
Change-Id: Ie2d88a3260c71e4ab9c8baacde24cc21e551de3d Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 7e619ecc | 16-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL3
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL31 using SMC/ABI calls and we can also decide to handle any lower EL panics in EL3. Panic can occur in lower EL from rich OS or during SMC/ABI calls after context switch to EL3.
But after booting into any rich OS we may land in panic either from rich OS or while servicing any SMC call, here the logic to use el3_panic or elx_panic is flawed as spsr_el3[3:0] is always EL3h and end up in elx_panic even if panic occurred from EL3 during SMC handling.
We try to decouple the elx_panic usage for its intended purpose, introduce lower_el_panic which would call elx_panic, currently lower_el_panic is called from default platform_ea_handle which would be called due to panic from any of the lower ELs.
Also remove the weak linkage for elx_panic and rename it to report_elx_panic which could be used with lower_el_panic.
Change-Id: I268bca89c01c60520d127ef6c7ba851460edc747 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|