
On Thu, 2 Jun 2016 17:05:06 +0200 Peter Krempa <pkrempa@redhat.com> wrote:
On Thu, Jun 02, 2016 at 11:53:22 -0300, Eduardo Habkost wrote:
(CCing libvirt folks)
BTW:
On Thu, Jun 02, 2016 at 02:22:22PM +0200, Igor Mammedov wrote: [...]
/* Special cases: */ if (!strcmp(name, "xlevel")) { numvalue = strtoul(val, &err, 0); if (!*val || *err) { error_setg(errp, "bad numerical value %s", val); return; } if (numvalue < 0x80000000) { error_report("xlevel value shall always be >= 0x80000000" ", fixup will be removed in future versions"); numvalue += 0x80000000; snprintf(num, sizeof(num), "%" PRIu32, numvalue); val = num;
[...]
} else if (!strcmp(name, "hv-spinlocks")) { const int min = 0xFFF;
numvalue = strtoul(val, &err, 0); if (!*val || *err) { error_setg(errp, "bad numerical value %s", val); return; } if (numvalue < min) { error_report("hv-spinlocks value shall always be >= 0x%x" ", fixup will be removed in future versions", min); numvalue = min; }
Those "fixup will be removed in future versions" warnings are present since QEMU 1.7. Assuming that libvirt never allowed those invalid values to be used in the configuration (did it?), I believe we can safely remove the hv-spinlocks and xlevel fixups in QEMU 2.7.
I couldn't find anything regarding xlevel (so we might actually not support it at all), but we indeed do limit the hv_spinlock count:
if (def->hyperv_spinlocks < 0xFFF) { virReportError(VIR_ERR_XML_ERROR, "%s", _("HyperV spinlock retry count must be " "at least 4095")); goto error; }
Peter Peter, Does libvirt still uses -cpu xxx,+feat1,-feat2 syntax or canonical property syntax there feat1=on,feat2=off