[Pkg-xen-devel] [OCAML 5/7] Import patch 23940:187d59e32a58 from xen-unstable.hg

Jon Ludlam jonathan.ludlam at eu.citrix.com
Tue Nov 15 15:04:36 UTC 2011


---
 xen/debian/patches/series                  |    1 +
 xen/debian/patches/tools-ocaml-fix-xc.diff |   45 ++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 0 deletions(-)
 create mode 100644 xen/debian/patches/tools-ocaml-fix-xc.diff

diff --git a/xen/debian/patches/series b/xen/debian/patches/series
index a974926..8f816da 100644
--- a/xen/debian/patches/series
+++ b/xen/debian/patches/series
@@ -56,3 +56,4 @@ tools-ocaml-rename-ocamlfind-packages.diff
 tools-ocaml-fix-xc-dependencies.diff
 tools-ocaml-remove-uuid.diff
 tools-ocaml-remove-log.diff
+tools-ocaml-fix-xc.diff
diff --git a/xen/debian/patches/tools-ocaml-fix-xc.diff b/xen/debian/patches/tools-ocaml-fix-xc.diff
new file mode 100644
index 0000000..2c7521a
--- /dev/null
+++ b/xen/debian/patches/tools-ocaml-fix-xc.diff
@@ -0,0 +1,45 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam at eu.citrix.com>
+# Date 1318261276 -3600
+# Node ID 187d59e32a586d65697ed46bef106b52e3fb5ab9
+# Parent  51288f69523fcbbefa12cea5a761a6e957410151
+tools/ocaml: Fix 2 bit-twiddling bugs and an off-by-one
+
+The bit bugs are in ocaml vcpu affinity calls, and the off-by-one
+error is in the ocaml console ring code
+
+Signed-off-by: Zheng Li <zheng.li at eu.citrix.com>
+Acked-by: Ian Campbell <ian.campbell.com>
+Committed-by: Ian Jackson <ian.jackson.citrix.com>
+Acked-by: Jon Ludlam <jonathan.ludlam at eu.citrix.com>
+
+diff -r 51288f69523f -r 187d59e32a58 tools/ocaml/libs/xc/xenctrl_stubs.c
+--- a/tools/ocaml/libs/xc/xenctrl_stubs.c	Mon Oct 10 16:41:16 2011 +0100
++++ b/tools/ocaml/libs/xc/xenctrl_stubs.c	Mon Oct 10 16:41:16 2011 +0100
+@@ -430,7 +430,7 @@
+ 
+ 	for (i=0; i<len; i++) {
+ 		if (Bool_val(Field(cpumap, i)))
+-			c_cpumap[i/8] |= i << (i&7);
++			c_cpumap[i/8] |= 1 << (i&7);
+ 	}
+ 	retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
+ 	                             Int_val(vcpu), c_cpumap);
+@@ -466,7 +466,7 @@
+ 	ret = caml_alloc(len, 0);
+ 
+ 	for (i=0; i<len; i++) {
+-		if (c_cpumap[i%8] & 1 << (i&7))
++		if (c_cpumap[i/8] & 1 << (i&7))
+ 			Store_field(ret, i, Val_true);
+ 		else
+ 			Store_field(ret, i, Val_false);
+@@ -523,7 +523,7 @@
+ 
+ CAMLprim value stub_xc_readconsolering(value xch)
+ {
+-	unsigned int size = RING_SIZE;
++	unsigned int size = RING_SIZE - 1;
+ 	char *ring_ptr = ring;
+ 
+ 	CAMLparam1(xch);
-- 
1.7.5.4




More information about the Pkg-xen-devel mailing list