From 1f09f4eb9e0cc02bbf5f7e03ad9b7bda5c52f6f6 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Wed, 26 Mar 2008 14:49:35 +0200 Subject: Revert "kvm: external module: kvm no longer depends on mm_count and mmdrop()" This reverts commit 14795bc960af5ef7286dd7207023abf28fbc118f. Needed again as 202761268a29d4cd3a3fec35e6d6f2f239374635 was reverted in kvm.git. Signed-off-by: Avi Kivity --- kvm/kernel/external-module-compat.h | 14 ++++++++++++++ kvm/kernel/hack-module.awk | 2 ++ 2 files changed, 16 insertions(+) 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 + +#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 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 ")," -- cgit v1.2.3