Message ID | 20230824221440.484675-6-dbarboza@ventanamicro.com |
---|---|
State | New |
Headers | show |
Series | riscv: 'max' CPU, detect user choice in TCG | expand |
On Thu, Aug 24, 2023 at 07:14:25PM -0300, Daniel Henrique Barboza wrote: > Create a new riscv_cpu_experimental_exts[] to store the non-ratified > extensions properties. Once they are ratified we'll move them back to > riscv_cpu_extensions[]. > > riscv_cpu_add_user_properties() and riscv_cpu_add_kvm_properties() are > changed to keep adding non-ratified properties to users. > > Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > --- > target/riscv/cpu.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index 272edaadf0..78eb2ac6bd 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1874,7 +1874,11 @@ static Property riscv_cpu_extensions[] = { > DEFINE_PROP_BOOL("xtheadsync", RISCVCPU, cfg.ext_xtheadsync, false), > DEFINE_PROP_BOOL("xventanacondops", RISCVCPU, cfg.ext_XVentanaCondOps, false), > > - /* These are experimental so mark with 'x-' */ > + DEFINE_PROP_END_OF_LIST(), > +}; > + > +/* These are experimental so mark with 'x-' */ > +static Property riscv_cpu_experimental_exts[] = { > DEFINE_PROP_BOOL("x-zicond", RISCVCPU, cfg.ext_zicond, false), > > /* ePMP 0.9.3 */ > @@ -1969,6 +1973,10 @@ static void riscv_cpu_add_kvm_properties(Object *obj) > riscv_cpu_add_kvm_unavail_prop(obj, prop->name); > } > > + for (prop = riscv_cpu_experimental_exts; prop && prop->name; prop++) { > + riscv_cpu_add_kvm_unavail_prop(obj, prop->name); > + } > + > for (prop = riscv_cpu_options; prop && prop->name; prop++) { > /* Check if KVM created the property already */ > if (object_property_find(obj, prop->name)) { > @@ -2008,6 +2016,10 @@ static void riscv_cpu_add_user_properties(Object *obj) > for (prop = riscv_cpu_options; prop && prop->name; prop++) { > qdev_property_add_static(dev, prop); > } > + > + for (prop = riscv_cpu_experimental_exts; prop && prop->name; prop++) { > + qdev_property_add_static(dev, prop); > + } > } > > static Property riscv_cpu_properties[] = { > -- > 2.41.0 > > Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 272edaadf0..78eb2ac6bd 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1874,7 +1874,11 @@ static Property riscv_cpu_extensions[] = { DEFINE_PROP_BOOL("xtheadsync", RISCVCPU, cfg.ext_xtheadsync, false), DEFINE_PROP_BOOL("xventanacondops", RISCVCPU, cfg.ext_XVentanaCondOps, false), - /* These are experimental so mark with 'x-' */ + DEFINE_PROP_END_OF_LIST(), +}; + +/* These are experimental so mark with 'x-' */ +static Property riscv_cpu_experimental_exts[] = { DEFINE_PROP_BOOL("x-zicond", RISCVCPU, cfg.ext_zicond, false), /* ePMP 0.9.3 */ @@ -1969,6 +1973,10 @@ static void riscv_cpu_add_kvm_properties(Object *obj) riscv_cpu_add_kvm_unavail_prop(obj, prop->name); } + for (prop = riscv_cpu_experimental_exts; prop && prop->name; prop++) { + riscv_cpu_add_kvm_unavail_prop(obj, prop->name); + } + for (prop = riscv_cpu_options; prop && prop->name; prop++) { /* Check if KVM created the property already */ if (object_property_find(obj, prop->name)) { @@ -2008,6 +2016,10 @@ static void riscv_cpu_add_user_properties(Object *obj) for (prop = riscv_cpu_options; prop && prop->name; prop++) { qdev_property_add_static(dev, prop); } + + for (prop = riscv_cpu_experimental_exts; prop && prop->name; prop++) { + qdev_property_add_static(dev, prop); + } } static Property riscv_cpu_properties[] = {