Hello, The following set of patches came about when trying to fix the 32K limitation with stub_xc_readconsolering() in the ocaml bindings. Patch 1 is a hypervisor patch adding a new SYSCTL hypercall to query the size of the console ring, which is fixed but otherwise inaccessible after boot. Patches 2 thru 5 are tools patches: * Patch 2 adds a libxc function to use the new SYSCTL hypercall. * Patch 3 implements an alternative xc_readconsolering() to prevent bounce buffering. * Patch 4 uses the preceding patches to fix the implementation of stub_xc_readconsolering() in the ocaml bindings. * Patch 5 is a misc threading fix in the ocaml bindings, discovered when trying to fix the console functionality. The only change for v4 is to change from caml_copy_string to caml_alloc_string/memcpy to allow for NULL characters in the console ring. CC''d is xen-api@lists.xen.org as well, for comment on the ocaml patches. This patch set has been compile-tested on unstable, and functionally tested via backport to 4.2 (which was only one whitespace fuzz issue and no code change). Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>