[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 14/20] target/arm: Set PAN bit as required on exception en
From: |
Richard Henderson |
Subject: |
Re: [PATCH v3 14/20] target/arm: Set PAN bit as required on exception entry |
Date: |
Sat, 8 Feb 2020 08:45:45 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 2/7/20 6:01 PM, Peter Maydell wrote:
>> + /* CPSR.PAN is preserved unless target is EL1 and SCTLR.SPAN == 0.
>> */
>> + if (cpu_isar_feature(aa64_pan, env_archcpu(env))
>> + && new_el == 1
>> + && !(env->cp15.sctlr_el[1] & SCTLR_SPAN)) {
>> + env->uncached_cpsr |= CPSR_PAN;
>> + }
> This doesn't catch the "taking exception to EL3 and AArch32 is EL3"
> case, which is also supposed to honour SCTLR.SPAN.
>
> Given where this code is, we know we're taking an exception to
> AArch32 and that we're not going to Hyp mode, so in fact every
> case where we get here is one where we should honour SCTLR.SPAN
> and I think we can just drop the "new_el == 1" part of the condition.
Presumably that becomes env->cp15.sctlr_el[new_el] as well, so that we get the
secure version of the sctlr.
r~
- [PATCH v3 06/20] target/arm: Replace CPSR_ERET_MASK with aarch32_cpsr_valid_mask, (continued)
- [PATCH v3 06/20] target/arm: Replace CPSR_ERET_MASK with aarch32_cpsr_valid_mask, Richard Henderson, 2020/02/03
- [PATCH v3 10/20] target/arm: Introduce aarch64_pstate_valid_mask, Richard Henderson, 2020/02/03
- [PATCH v3 11/20] target/arm: Update MSR access for PAN, Richard Henderson, 2020/02/03
- [PATCH v3 12/20] target/arm: Update arm_mmu_idx_el for PAN, Richard Henderson, 2020/02/03
- [PATCH v3 13/20] target/arm: Enforce PAN semantics in get_S1prot, Richard Henderson, 2020/02/03
- [PATCH v3 14/20] target/arm: Set PAN bit as required on exception entry, Richard Henderson, 2020/02/03
- [PATCH v3 15/20] target/arm: Implement ATS1E1 system registers, Richard Henderson, 2020/02/03
- [PATCH v3 16/20] target/arm: Enable ARMv8.2-ATS1E1 in -cpu max, Richard Henderson, 2020/02/03
- [PATCH v3 17/20] target/arm: Add ID_AA64MMFR2_EL1, Richard Henderson, 2020/02/03
- [PATCH v3 18/20] target/arm: Update MSR access to UAO, Richard Henderson, 2020/02/03
- [PATCH v3 19/20] target/arm: Implement UAO semantics, Richard Henderson, 2020/02/03
- [PATCH v3 20/20] target/arm: Enable ARMv8.2-UAO in -cpu max, Richard Henderson, 2020/02/03