Re: [PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL

2022-05-03 Thread Peter Maydell
On Tue, 3 May 2022 at 17:45, Richard Henderson 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 > >

Re: [PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL

2022-05-03 Thread Richard Henderson
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

Re: [PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL

2022-05-03 Thread Peter Maydell
On Sun, 1 May 2022 at 07:21, Richard Henderson wrote: > > More gracefully handle cpregs when EL2 and/or EL3 are missing. > If the reg is entirely inaccessible, do not register it at all. > If the reg is for EL2, and EL3 is present but EL2 is not, > either discard, squash to const, or keep unchange

[PATCH v4 20/45] target/arm: Handle cpreg registration for missing EL

2022-04-30 Thread Richard Henderson
More gracefully handle cpregs when EL2 and/or EL3 are missing. If the reg is entirely inaccessible, do not register it at all. If the reg is for EL2, and EL3 is present but EL2 is not, either discard, squash to const, or keep unchanged. Per rule RJFFP, mark the 4 aarch32 hypervisor access register