Message ID | 20230124000027.3565716-6-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: Implement FEAT_RME | expand |
On Tue, 24 Jan 2023 at 00:05, Richard Henderson <richard.henderson@linaro.org> wrote: > > With RME, SEL2 must also be present to support secure state. > The NS bit is RES1 if SEL2 is not present. I couldn't find the bit of the spec that says this -- could you give me a page reference? thanks -- PMM
On 2/7/23 04:39, Peter Maydell wrote: > On Tue, 24 Jan 2023 at 00:05, Richard Henderson > <richard.henderson@linaro.org> wrote: >> >> With RME, SEL2 must also be present to support secure state. >> The NS bit is RES1 if SEL2 is not present. > > I couldn't find the bit of the spec that says this -- > could you give me a page reference? DDI0615D.a RME Supplement, R_GSWWH. and the bit about secure state is I_DJJQJ. r~
diff --git a/target/arm/helper.c b/target/arm/helper.c index 293f8eda8c..783b675bd1 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -1853,6 +1853,9 @@ static void scr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) } if (cpu_isar_feature(aa64_sel2, cpu)) { valid_mask |= SCR_EEL2; + } else if (cpu_isar_feature(aa64_rme, cpu)) { + /* With RME and without SEL2, NS is RES1. */ + value |= SCR_NS; } if (cpu_isar_feature(aa64_mte, cpu)) { valid_mask |= SCR_ATA;
With RME, SEL2 must also be present to support secure state. The NS bit is RES1 if SEL2 is not present. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/arm/helper.c | 3 +++ 1 file changed, 3 insertions(+)