mirror of https://gitee.com/openkylin/libvirt.git
cputest: Fix comparison in checkCPUIDFeature in cpu-cpuid.py
leaf["eax"] & eax > 0 check works correctly only if there's at most 1 bit set in eax. Luckily that's been always the case, but fixing this could save us from future surprises. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
a7ad56edd9
commit
77f1fbaed8
|
@ -15,12 +15,12 @@ def checkFeature(cpuid, feature):
|
|||
|
||||
if in_eax not in cpuid or in_ecx not in cpuid[in_eax]:
|
||||
return False
|
||||
else:
|
||||
leaf = cpuid[in_eax][in_ecx]
|
||||
return ((eax > 0 and leaf["eax"] & eax > 0) or
|
||||
(ebx > 0 and leaf["ebx"] & ebx > 0) or
|
||||
(ecx > 0 and leaf["ecx"] & ecx > 0) or
|
||||
(edx > 0 and leaf["edx"] & edx > 0))
|
||||
|
||||
leaf = cpuid[in_eax][in_ecx]
|
||||
return ((eax > 0 and leaf["eax"] & eax == eax) or
|
||||
(ebx > 0 and leaf["ebx"] & ebx == ebx) or
|
||||
(ecx > 0 and leaf["ecx"] & ecx == ecx) or
|
||||
(edx > 0 and leaf["edx"] & edx == edx))
|
||||
|
||||
|
||||
def addFeature(cpuid, feature):
|
||||
|
|
Loading…
Reference in New Issue