summaryrefslogtreecommitdiffstats
path: root/main/qemu/qemu-170-ffsl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/qemu/qemu-170-ffsl.patch')
-rw-r--r--main/qemu/qemu-170-ffsl.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/main/qemu/qemu-170-ffsl.patch b/main/qemu/qemu-170-ffsl.patch
new file mode 100644
index 000000000..5da3d07ee
--- /dev/null
+++ b/main/qemu/qemu-170-ffsl.patch
@@ -0,0 +1,22 @@
+--- qemu-1.7.0.org/kvm-all.c
++++ qemu-1.7.0/kvm-all.c
+@@ -374,6 +374,19 @@
+ return 0;
+ }
+
++#ifndef HAVE_FFSL
++#include <limits.h>
++#if ULONG_MAX == UINT_MAX
++#define ffsl(X) ffs(X)
++#else
++static int ffsl(long i) {
++ unsigned long x = i & -i;
++ if (x <= 0xffffffff) return ffs (i);
++ else return 32 + ffs (i >> 32);
++}
++#endif
++#endif
++
+ /* get kvm's dirty pages bitmap and update qemu's */
+ static int kvm_get_dirty_pages_log_range(MemoryRegionSection *section,
+ unsigned long *bitmap)