[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 06/14] target/arm: Update arm_mmu_idx_el for PAN
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 06/14] target/arm: Update arm_mmu_idx_el for PAN |
Date: |
Mon, 03 Feb 2020 13:38:17 +0000 |
User-agent: |
mu4e 1.3.7; emacs 27.0.60 |
Richard Henderson <address@hidden> writes:
> Examine the PAN bit for EL1, EL2, and Secure EL1 to
> determine if it applies.
>
> Reviewed-by: Peter Maydell <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
> ---
> target/arm/helper.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 90a22921dc..638abe6af0 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -11904,13 +11904,22 @@ ARMMMUIdx arm_mmu_idx_el(CPUARMState *env, int el)
> return ARMMMUIdx_E10_0;
> case 1:
> if (arm_is_secure_below_el3(env)) {
> + if (env->pstate & PSTATE_PAN) {
> + return ARMMMUIdx_SE10_1_PAN;
> + }
> return ARMMMUIdx_SE10_1;
> }
> + if (env->pstate & PSTATE_PAN) {
> + return ARMMMUIdx_E10_1_PAN;
> + }
> return ARMMMUIdx_E10_1;
> case 2:
> /* TODO: ARMv8.4-SecEL2 */
> /* Note that TGE does not apply at EL2. */
> if ((env->cp15.hcr_el2 & HCR_E2H) && arm_el_is_aa64(env, 2)) {
> + if (env->pstate & PSTATE_PAN) {
> + return ARMMMUIdx_E20_2_PAN;
> + }
> return ARMMMUIdx_E20_2;
> }
> return ARMMMUIdx_E2;
--
Alex Bennée
- Re: [PATCH v2 01/14] target/arm: Add arm_mmu_idx_is_stage1_of_2, (continued)
- [PATCH v2 02/14] target/arm: Add mmu_idx for EL1 and EL2 w/ PAN enabled, Richard Henderson, 2020/02/01
- [PATCH v2 04/14] target/arm: Move LOR regdefs to file scope, Richard Henderson, 2020/02/01
- [PATCH v2 03/14] target/arm: Add isar_feature tests for PAN + ATS1E1, Richard Henderson, 2020/02/01
- [PATCH v2 05/14] target/arm: Update MSR access for PAN, Richard Henderson, 2020/02/01
- [PATCH v2 06/14] target/arm: Update arm_mmu_idx_el for PAN, Richard Henderson, 2020/02/01
- Re: [PATCH v2 06/14] target/arm: Update arm_mmu_idx_el for PAN,
Alex Bennée <=
- [PATCH v2 07/14] target/arm: Enforce PAN semantics in get_S1prot, Richard Henderson, 2020/02/01
- [PATCH v2 08/14] target/arm: Set PAN bit as required on exception entry, Richard Henderson, 2020/02/01
- [PATCH v2 09/14] target/arm: Implement ATS1E1 system registers, Richard Henderson, 2020/02/01
- [PATCH v2 10/14] target/arm: Enable ARMv8.2-ATS1E1 in -cpu max, Richard Henderson, 2020/02/01
- [PATCH v2 14/14] target/arm: Enable ARMv8.2-UAO in -cpu max, Richard Henderson, 2020/02/01
- [PATCH v2 13/14] target/arm: Implement UAO semantics, Richard Henderson, 2020/02/01
- [PATCH v2 12/14] target/arm: Update MSR access to UAO, Richard Henderson, 2020/02/01
- [PATCH v2 11/14] target/arm: Add ID_AA64MMFR2_EL1, Richard Henderson, 2020/02/01