diff options
author | Avi Kivity <avi@qumranet.com> | 2008-03-26 14:49:35 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-03-26 14:49:35 +0200 |
commit | 1f09f4eb9e0cc02bbf5f7e03ad9b7bda5c52f6f6 (patch) | |
tree | 261acf1dc50c93be8d8bbf59de64efb7c1abf744 | |
parent | 91004adc7ee305fc4fb4aba8be23aa4ce3274091 (diff) |
This reverts commit 14795bc960af5ef7286dd7207023abf28fbc118f. Needed again
as 202761268a29d4cd3a3fec35e6d6f2f239374635 was reverted in kvm.git.
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | kvm/kernel/external-module-compat.h | 14 | ||||
-rw-r--r-- | kvm/kernel/hack-module.awk | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/kvm/kernel/external-module-compat.h b/kvm/kernel/external-module-compat.h index e164eec75..98ed13f26 100644 --- a/kvm/kernel/external-module-compat.h +++ b/kvm/kernel/external-module-compat.h @@ -534,6 +534,20 @@ static inline void blahblah(void) (void)empty_zero_page[0]; } +/* __mmdrop() is not exported before 2.6.25 */ +#include <linux/sched.h> + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) + +#define mmdrop(x) do { (void)(x); } while (0) +#define mmget(x) do { (void)(x); } while (0) + +#else + +#define mmget(x) do { atomic_inc(x); } while (0) + +#endif + /* X86_FEATURE_NX is missing in some x86_64 kernels */ #include <asm/cpufeature.h> diff --git a/kvm/kernel/hack-module.awk b/kvm/kernel/hack-module.awk index dd9a2f403..455e662cf 100644 --- a/kvm/kernel/hack-module.awk +++ b/kvm/kernel/hack-module.awk @@ -33,6 +33,8 @@ vmx_load_host_state = 0 } +/atomic_inc\(&kvm->mm->mm_count\);/ { $0 = "mmget(&kvm->mm->mm_count);" } + /^\t\.fault = / { fcn = gensub(/,/, "", "g", $3) $0 = "\t.VMA_OPS_FAULT(fault) = VMA_OPS_FAULT_FUNC(" fcn ")," |