Re: kvm-tools: can't seem to set guest_mac and KVM_GET_SUPPORTED_CPUID failed.

Avi Kivity
2011-11-17T17:31:08Z

On 11/17/2011 07:13 PM, David Evensky wrote:
> func 0000000d ind 00000001 flags 00000001 -> 00000001 00000000 00000000 00000000
> func 80000001 ind 00000000 flags 00000000 -> 00000000 00000000 00000001 28100800
> func 0000000d ind 00000003 flags 00000001 -> 00000000 00000000 00000000 00000000
> func 0000000d ind 00000004 flags 00000001 -> 00000000 00000000 00000000 00000000
> func 0000000d ind 00000005 flags 00000001 -> 00000000 00000000 00000000 00000000

Leaf 0xd handling is broken in 3.0:

case 0xd: {
int i;

entry->flags |= KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
for (i = 1; *nent < maxnent && i < 64; ++i) {
if (entry[i].eax == 0)
continue;
do_cpuid_1_ent(&entry[i], function, i);
entry[i].flags |=
KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
++*nent;
}
break;
}

We check entry[i].eax before we compute it. 3.2 is fine, so it's only a
matter of backports.

--
error compiling committee.c: too many arguments to function