[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 30/41] target/arm: Flush tlb for ASID changes in EL2&0 tra
From: |
Richard Henderson |
Subject: |
Re: [PATCH v5 30/41] target/arm: Flush tlb for ASID changes in EL2&0 translation regime |
Date: |
Fri, 31 Jan 2020 12:19:36 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 1/31/20 5:11 AM, Peter Maydell wrote:
>> { .name = "TCR_EL2", .state = ARM_CP_STATE_BOTH,
>> .opc0 = 3, .opc1 = 4, .crn = 2, .crm = 0, .opc2 = 2,
>> - .access = PL2_RW,
>> - /* no .writefn needed as this can't cause an ASID change;
>> - * no .raw_writefn or .resetfn needed as we never use mask/base_mask
>> - */
>> + .access = PL2_RW, .writefn = vmsa_tcr_el12_write,
>
> This blows away the entire TLB on a TCR_EL2 write, which is
> safe but a bit overzealous; we could skip it if E2H was clear
> (and probably also be a bit more precise about which TLB
> indexes to clear). But it's not a big deal so I'm happy if
> we leave this as-is.
Yes, it is overzealous.
I once had a patch set that attempted to track actual ASID changes and also
contained the set of tlb indexes to clear. I thought about incorporating that
here, but decided against.
r~
- [PATCH v5 20/41] target/arm: Add regime_has_2_ranges, (continued)
- [PATCH v5 20/41] target/arm: Add regime_has_2_ranges, Richard Henderson, 2020/01/29
- [PATCH v5 23/41] target/arm: Update aa64_zva_access for EL2, Richard Henderson, 2020/01/29
- [PATCH v5 21/41] target/arm: Update arm_mmu_idx for VHE, Richard Henderson, 2020/01/29
- [PATCH v5 22/41] target/arm: Update arm_sctlr for VHE, Richard Henderson, 2020/01/29
- [PATCH v5 25/41] target/arm: Add the hypervisor virtual counter, Richard Henderson, 2020/01/29
- [PATCH v5 24/41] target/arm: Update ctr_el0_access for EL2, Richard Henderson, 2020/01/29
- [PATCH v5 27/41] target/arm: Update define_one_arm_cp_reg_with_opaque for VHE, Richard Henderson, 2020/01/29
- [PATCH v5 26/41] target/arm: Update timer access for VHE, Richard Henderson, 2020/01/29
- [PATCH v5 30/41] target/arm: Flush tlb for ASID changes in EL2&0 translation regime, Richard Henderson, 2020/01/29
- [PATCH v5 31/41] target/arm: Flush tlbs for E2&0 translation regime, Richard Henderson, 2020/01/29
- [PATCH v5 28/41] target/arm: Add VHE system register redirection and aliasing, Richard Henderson, 2020/01/29
- [PATCH v5 29/41] target/arm: Add VHE timer register redirection and aliasing, Richard Henderson, 2020/01/29
- [PATCH v5 36/41] target/arm: Update arm_cpu_do_interrupt_aarch64 for VHE, Richard Henderson, 2020/01/29
- [PATCH v5 37/41] target/arm: Enable ARMv8.1-VHE in -cpu max, Richard Henderson, 2020/01/29
- [PATCH v5 32/41] target/arm: Update arm_phys_excp_target_el for TGE, Richard Henderson, 2020/01/29
- [PATCH v5 34/41] target/arm: check TGE and E2H flags for EL0 pauth traps, Richard Henderson, 2020/01/29
- [PATCH v5 33/41] target/arm: Update {fp,sve}_exception_el for VHE, Richard Henderson, 2020/01/29