Re: [PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-20 Thread Peter Maydell
On Thu, 20 Jan 2022 at 13:25, Idan Horowitz wrote: > > On Thu, 20 Jan 2022 at 14:32, Peter Maydell wrote: > > > > > > But the code you are effectively removing is never executed > > for the instructions where you're changing the access function. > > If you're proposing this as a performance impro

Re: [PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-20 Thread Idan Horowitz
On Thu, 20 Jan 2022 at 14:32, Peter Maydell wrote: > > > But the code you are effectively removing is never executed > for the instructions where you're changing the access function. > If you're proposing this as a performance improvement, can > you provide before-and-after benchmarks demonstratin

Re: [PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-20 Thread Peter Maydell
On Thu, 20 Jan 2022 at 12:00, Idan Horowitz wrote: > > On Thu, 20 Jan 2022 at 13:42, Peter Maydell wrote: > > > > > > But for all of these instructions the reginfo struct > > sets ".access = PL1_W". The .access field is always > > checked before the .accessfn, so for any of these instructions > >

Re: [PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-20 Thread Peter Maydell
On Fri, 14 Jan 2022 at 00:40, Idan Horowitz wrote: > > The SCTLR_EL1.UCI bit only affects a subset of cache maintenance > instructions as specified by the specification. Any other cache > maintenance instructions must still be trapped from EL0. Hi; thanks for this patch. Do you have a test case w

Re: [PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-20 Thread Idan Horowitz
On Thu, 20 Jan 2022 at 13:42, Peter Maydell wrote: > > > But for all of these instructions the reginfo struct > sets ".access = PL1_W". The .access field is always > checked before the .accessfn, so for any of these instructions > executed from EL0 I think we will always fail the .access > check a

[PATCH] target/arm: Allow only specific instructions based on the SCTLR_EL1.UCI bit

2022-01-13 Thread Idan Horowitz
The SCTLR_EL1.UCI bit only affects a subset of cache maintenance instructions as specified by the specification. Any other cache maintenance instructions must still be trapped from EL0. Signed-off-by: Idan Horowitz --- target/arm/helper.c | 68 ++--- 1 fil