On Thu, Aug 24, 2023 at 07:14:26PM -0300, Daniel Henrique Barboza wrote: > Our goal is to make riscv_cpu_extensions[] hold only ratified, > non-vendor extensions. > > Create a new riscv_cpu_vendor_exts[] array for them, changing > riscv_cpu_add_user_properties() and riscv_cpu_add_kvm_properties() > accordingly. > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> > --- > target/riscv/cpu.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index 78eb2ac6bd..668522db01 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1860,7 +1860,10 @@ static Property riscv_cpu_extensions[] = { > DEFINE_PROP_BOOL("zcmp", RISCVCPU, cfg.ext_zcmp, false), > DEFINE_PROP_BOOL("zcmt", RISCVCPU, cfg.ext_zcmt, false), > > - /* Vendor-specific custom extensions */ > + DEFINE_PROP_END_OF_LIST(), > +}; > + > +static Property riscv_cpu_vendor_exts[] = { > DEFINE_PROP_BOOL("xtheadba", RISCVCPU, cfg.ext_xtheadba, false), > DEFINE_PROP_BOOL("xtheadbb", RISCVCPU, cfg.ext_xtheadbb, false), > DEFINE_PROP_BOOL("xtheadbs", RISCVCPU, cfg.ext_xtheadbs, false), > @@ -1973,6 +1976,10 @@ static void riscv_cpu_add_kvm_properties(Object *obj) > riscv_cpu_add_kvm_unavail_prop(obj, prop->name); > } > > + for (prop = riscv_cpu_vendor_exts; prop && prop->name; prop++) { > + 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); > } > @@ -2017,6 +2024,10 @@ static void riscv_cpu_add_user_properties(Object *obj) > qdev_property_add_static(dev, prop); > } > > + for (prop = riscv_cpu_vendor_exts; 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); > } > -- > 2.41.0 > >
Reviewed-by: Andrew Jones <ajo...@ventanamicro.com>