Peter Maydell d2c0c6aab6 hw/intc/arm_gicv3: Handle icv_nmiar1_read() for icc_nmiar1_read()
Implement icv_nmiar1_read() for icc_nmiar1_read(), so add definition for
ICH_LR_EL2.NMI and ICH_AP1R_EL2.NMI bit.

If FEAT_GICv3_NMI is supported, ich_ap_write() should consider ICV_AP1R_EL1.NMI
bit. In icv_activate_irq() and icv_eoir_write(), the ICV_AP1R_EL1.NMI bit
should be set or clear according to the Non-maskable property. And the RPR
priority should also update the NMI bit according to the APR priority NMI bit.

By the way, add gicv3_icv_nmiar1_read trace event.

If the hpp irq is a NMI, the icv iar read should return 1022 and trap for
NMI again

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[PMM: use cs->nmi_support instead of cs->gic->nmi_support]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20240407081733.3231820-20-ruanjinjie@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2024-04-25 10:21:05 +01:00
..
2023-12-29 11:17:30 +11:00
2024-03-09 18:51:45 +01:00
2023-12-29 11:17:30 +11:00
2023-10-20 08:51:41 +02:00
2023-07-25 17:13:53 +03:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2022-04-21 09:27:54 -07:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-02-27 22:29:01 +01:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00