On Wed, Oct 25, 2023 at 10:50:01AM -0300, Daniel Henrique Barboza wrote: > Enabling a profile and then disabling some of its mandatory extensions > is a valid use. It can be useful for debugging and testing. But the > common expected use of enabling a profile is to enable all its mandatory > extensions. > > Add an user warning when mandatory extensions from an enabled profile > are disabled in the command line, like we're already doing with RVG. > > After this patch, this will throw warnings: > > -cpu rv64,rva22u64=true,zihintpause=false,zicbom=false,zicboz=false > > qemu-system-riscv64: warning: Profile rva22u64 mandates disabled extension > zihintpause > qemu-system-riscv64: warning: Profile rva22u64 mandates disabled extension > zicbom > qemu-system-riscv64: warning: Profile rva22u64 mandates disabled extension > zicboz > > Note that the following will NOT throw warnings because the profile is > being enabled last, hence all its mandatory extensions will be enabled: > > -cpu rv64,zihintpause=false,zicbom=false,zicboz=false,rva22u64=true > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > --- > target/riscv/tcg/tcg-cpu.c | 57 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 57 insertions(+) >
Reviewed-by: Andrew Jones <ajo...@ventanamicro.com>