On Tue, 3 May 2022 at 17:45, Richard Henderson <richard.hender...@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