[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 20/45] target/arm: Handle cpreg registration for missing E
From: |
Peter Maydell |
Subject: |
Re: [PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL |
Date: |
Tue, 3 May 2022 17:50:11 +0100 |
On Tue, 3 May 2022 at 17:45, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 5/3/22 09:34, Peter Maydell wrote:
> > "set CONST on the cpreg" is what the code does, but it's not
> > what the architecture wants. In particular, if the EL2 cpreg defines
> > a non-zero resetvalue then the EL3-no-EL2 CPU will get a
> > "reads as constant that value" rather than "reads as zero".
> > CNTHCTL_EL2 and MDCR_EL2 are examples of this.
>
> Ah, I'd missed those. I guess I need a third bit to indicate keeping the
> resetvalue, for
> e.g. VPIDR_EL2, which is why the code is written the way it is.
Or you could just treat VPIDR_EL2 as a special case and keep
the cpreginfo we have for it for the el3-no-el2 case.
thanks
-- PMM
- [PATCH v4 04/45] target/arm: Make some more cpreg data static const, (continued)
- [PATCH v4 04/45] target/arm: Make some more cpreg data static const, Richard Henderson, 2022/05/01
- [PATCH v4 01/45] target/arm: Split out cpregs.h, Richard Henderson, 2022/05/01
- [PATCH v4 03/45] target/arm: Replace sentinels with ARRAY_SIZE in cpregs.h, Richard Henderson, 2022/05/01
- [PATCH v4 05/45] target/arm: Reorg ARMCPRegInfo type field bits, Richard Henderson, 2022/05/01
- [PATCH v4 06/45] target/arm: Avoid bare abort() or assert(0), Richard Henderson, 2022/05/01
- [PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL, Richard Henderson, 2022/05/01
- [PATCH v4 21/45] target/arm: Drop EL3 no EL2 fallbacks, Richard Henderson, 2022/05/01
- [PATCH v4 15/45] target/arm: Use bool for is64 and ns in add_cpreg_to_hashtable, Richard Henderson, 2022/05/01
- [PATCH v4 25/45] target/arm: Move cortex impdef sysregs to cpu_tcg.c, Richard Henderson, 2022/05/01
- [PATCH v4 11/45] target/arm: Store cpregs key in the hash table directly, Richard Henderson, 2022/05/01
- [PATCH v4 30/45] target/arm: Use field names for manipulating EL2 and EL3 modes, Richard Henderson, 2022/05/01
- [PATCH v4 32/45] target/arm: Enable FEAT_Debugv8p4 for -cpu max, Richard Henderson, 2022/05/01
- [PATCH v4 09/45] target/arm: Name CPSecureState type, Richard Henderson, 2022/05/01