On Tue, Nov 03, 2020 at 11:13:39AM -0500, Paolo Bonzini wrote: > OptsVisitor, StringInputVisitor and the keyval visitor have > three different ideas of how a human could write the value of > a boolean option. Pay homage to the backwards-compatibility > gods and make the new common helper accept all four sets (on/off, > true/false, y/n and yes/no), and case-insensitive at that. > > Since OptsVisitor is supposed to match qemu-options, adjust > it as well.
FWIW, libvirt does not appear to use true/false or y/n, nor ever use uppercase / mixed case. IOW this level of back compat may well be overkill. I'd particular suggest deprecating case-insensitivity, as Yes, YES, yEs feel unlikely to be important or widely used. Based on libvirt test suite QEMU CLI args, I see primarily on|off, with a small amount of yes|no: 3dnowext=on 3dnow=on 3dnowprefetch=off aarch64=off acpi=on adjust=on adjvtime=on aefsi=on aen=on apft=on ap=on append=on apqci=on apqi=on assist=on ats=off ats=on avx2=off avx=off bpb=on cache=off cache=on clflushopt=on clwb=on cmmnt=on cmm=on cmp_legacy=on compression=off compression=on core=off core=on cpl=on csske=on csum=off cte=on data=yes dedicated=on deflate=on dfppc=on display=on ds_cpl=on edat2=on edat=on eim=on eoi=off eoi=on erms=on esop=on esort=on etoken=on event_idx=off event_idx=on f16c=off failover=on fma=off fxsr_opt=off fxsr_opt=on gl=on gs=on gso=off guest_csum=off guest_ecn=off guest_tso4=off guest_tso6=off guest_ufo=off hmat=on host_ecn=off host_tso4=off host_tso6=off host_ufo=off hotplug=off hotplug=on htm=on hugetlb=yes hv=off hypervisor=on iep=on info=off info=on intremap=on invtsc=on ioeventfd=off ioeventfd=on iommu=on iommu_platform=off iommu_platform=on iotlb=on ipter=on kvmclock=off kvm=off kvm_pv_eoi=off kvm_pv_eoi=on kvm_pv_unhalt=off kvm_pv_unhalt=on la57=on lahf_lm=on legacy=off legacy=on lm=on lock=off lock=on logappend=off logappend=on master=off master=on menu=off menu=on mepoch=on mepochptff=on merge=off migration=on misalignsse=off mlock=off mlock=on mode=on modern=off mouse=off mpx=on mq=on mrg_rxbuf=off msa1=on msa2=on msa3=on msa4=on msa5=on msa6=on msa7=on msa8=on msa9=on msa9_pckmo=on msi=on msr=on multifunction=off multifunction=on nb=on ni=off nodeid_msr=on npt=on nvdimm=on oom=off oom=on opt=on osvw=off packed=off packed=on pclmuldq=on pclmulqdq=on pcommit=on pconfig=off pdpe1gb=on peer=yes perfctr_core=on perfctr_nb=on pku=on pmem=yes pmu=off pmu=on ppa15=on prealloc=yes ramfb=on rdrand=off rdseed=off read=on readonly=on readonly=on' removable=off removable=on reporting=on ri=on rw=on save=off scsi=off scsi=on sea_esop2=on share=no share=yes smm=on ssbd=on ss=on stckf=off sthyi=on strict=on sve128=on sve256=on sve384=off sve512=on sve=on te=on threads=on timestamp=on topoext=off tsc_adjust=on umip=on unarmed=on unhalt=off unhalt=on usb=off value=on vhost=on virgl=on vme=off vmport=off vmx=on vxeh2=on vxeh=on vx=on vxpdeh=on vxpd=on wrap=off wrap=on xsavec=off xsaves=on zeroes=on zpci=on Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
