Message ID | 20231218125334.37184-22-dbarboza@ventanamicro.com |
---|---|
State | New |
Headers | show |
Series | riscv: RVA22 profiles support | expand |
On Mon, Dec 18, 2023 at 10:56 PM Daniel Henrique Barboza <dbarboza@ventanamicro.com> wrote: > > Profiles will need to validate satp_mode during their own finalize > methods. This will occur inside riscv_tcg_cpu_finalize_features() for > TCG. Given that satp_mode does not have any pre-req from the accelerator > finalize() method, it's safe to finalize it earlier. > > Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > target/riscv/cpu.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index 1ba85c6d1c..6af1148cf5 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1056,6 +1056,14 @@ void riscv_cpu_finalize_features(RISCVCPU *cpu, Error **errp) > { > Error *local_err = NULL; > > +#ifndef CONFIG_USER_ONLY > + riscv_cpu_satp_mode_finalize(cpu, &local_err); > + if (local_err != NULL) { > + error_propagate(errp, local_err); > + return; > + } > +#endif > + > /* > * KVM accel does not have a specialized finalize() > * callback because its extensions are validated > @@ -1068,14 +1076,6 @@ void riscv_cpu_finalize_features(RISCVCPU *cpu, Error **errp) > return; > } > } > - > -#ifndef CONFIG_USER_ONLY > - riscv_cpu_satp_mode_finalize(cpu, &local_err); > - if (local_err != NULL) { > - error_propagate(errp, local_err); > - return; > - } > -#endif > } > > static void riscv_cpu_realize(DeviceState *dev, Error **errp) > -- > 2.43.0 > >
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 1ba85c6d1c..6af1148cf5 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1056,6 +1056,14 @@ void riscv_cpu_finalize_features(RISCVCPU *cpu, Error **errp) { Error *local_err = NULL; +#ifndef CONFIG_USER_ONLY + riscv_cpu_satp_mode_finalize(cpu, &local_err); + if (local_err != NULL) { + error_propagate(errp, local_err); + return; + } +#endif + /* * KVM accel does not have a specialized finalize() * callback because its extensions are validated @@ -1068,14 +1076,6 @@ void riscv_cpu_finalize_features(RISCVCPU *cpu, Error **errp) return; } } - -#ifndef CONFIG_USER_ONLY - riscv_cpu_satp_mode_finalize(cpu, &local_err); - if (local_err != NULL) { - error_propagate(errp, local_err); - return; - } -#endif } static void riscv_cpu_realize(DeviceState *dev, Error **errp)