mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 09:39:25 +01:00
test-runner: Check for SVM in check_virtualization
Update check_virtualization to check for the SVM on x86, KVM supports both VMX and SVM. Fix the clobber list of the VMX check: memory is not clobbered while ebx and edx are (ecx is already marked as output). I'm not able to test this patch on a cpu that would be affected by it but I don't think test-runner has been tested on those cpus yet.
This commit is contained in:
parent
920e79b32c
commit
a74c34024a
@ -245,12 +245,21 @@ static bool check_virtualization(void)
|
|||||||
#if defined(__GNUC__) && (defined(__i386__) || defined(__amd64__))
|
#if defined(__GNUC__) && (defined(__i386__) || defined(__amd64__))
|
||||||
uint32_t ecx;
|
uint32_t ecx;
|
||||||
|
|
||||||
__asm__ __volatile__("cpuid" : "=c" (ecx) : "a" (1) : "memory");
|
__asm__ __volatile__("cpuid" : "=c" (ecx) :
|
||||||
|
"a" (1) : "%ebx", "%edx");
|
||||||
|
|
||||||
if (!!(ecx & (1 << 5))) {
|
if (!!(ecx & (1 << 5))) {
|
||||||
l_info("Found support for Virtual Machine eXtensions");
|
l_info("Found support for Virtual Machine eXtensions");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__asm__ __volatile__("cpuid" : "=c" (ecx) :
|
||||||
|
"a" (0x80000001) : "%ebx", "%edx");
|
||||||
|
|
||||||
|
if (ecx & (1 << 2)) {
|
||||||
|
l_info("Found support for Secure Virtual Machine extension");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user