From 05ed2deda679a2651ead92e93bec55c90705a738 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Wed, 2 Oct 2013 06:08:45 -0400 Subject: [PATCH] kvm: Only include KVM support for supported kernels This patch adds a check to ensure that the KVM API provided by the running kernel is what we are expecting. --- SConstruct | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SConstruct b/SConstruct index 863a6caba..298433dd5 100755 --- a/SConstruct +++ b/SConstruct @@ -936,10 +936,14 @@ if not have_fenv: print "Warning: Header file not found." print " This host has no IEEE FP rounding mode control." -# Check if we should enable KVM-based hardware virtualization -have_kvm = conf.CheckHeader('linux/kvm.h', '<>') +# Check if we should enable KVM-based hardware virtualization. The API +# we rely on exists since version 2.6.36 of the kernel, but somehow +# the KVM_API_VERSION does not reflect the change. We test for one of +# the types as a fall back. +have_kvm = conf.CheckHeader('linux/kvm.h', '<>') and \ + conf.CheckTypeSize('struct kvm_xsave', '#include ') != 0 if not have_kvm: - print "Info: Header file not found, " \ + print "Info: Compatible header file not found, " \ "disabling KVM support." # Check if the requested target ISA is compatible with the host -- 2.30.2