From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vincent Hanquez Subject: [RFC][PATCH 0/6] merge ocaml xenstored and dependencies Date: Mon, 1 Mar 2010 11:59:45 +0000 Message-ID: <1267444791-4810-1-git-send-email-vincent.hanquez@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1.7.0" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Vincent Hanquez List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------1.7.0 Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: quoted-printable Add ocaml xenstored into xen as an alternative to C xenstored.=20 The goal is to choose it as the default xenstored on the target machine w= hen it has been built. build hook mechanism is not ideal, but should be safe for platform that cannot build ocaml and/or would have some portability issues. This is RFC, although the first 5 patches are completly safe since they j= ust introduce new files and hook with default =3Dn the new files. only the 6t= h patch make the default to build ocaml tools with fallback if not available. Vincent Hanquez (6): add ocaml libs (xc/xb/xs/eventchn) add ocaml xenstored add compilation makefile to ocaml directory remove hook from external ocaml repository add ocaml tools to build if defined. default to n default ocaml tools config variable to y Config.mk | 15 +- tools/Makefile | 23 +- tools/ocaml/Makefile | 36 + tools/ocaml/Makefile.rules | 93 ++ tools/ocaml/common.make | 28 + tools/ocaml/libs/eventchn/META.in | 4 + tools/ocaml/libs/eventchn/Makefile | 28 + tools/ocaml/libs/eventchn/eventchn.ml | 27 + tools/ocaml/libs/eventchn/eventchn.mli | 26 + tools/ocaml/libs/eventchn/eventchn_stubs.c | 173 ++++ tools/ocaml/libs/log/META.in | 4 + tools/ocaml/libs/log/Makefile | 43 + tools/ocaml/libs/log/log.ml | 258 +++++ tools/ocaml/libs/log/log.mli | 55 + tools/ocaml/libs/log/logs.ml | 197 ++++ tools/ocaml/libs/log/logs.mli | 46 + tools/ocaml/libs/log/syslog.ml | 26 + tools/ocaml/libs/log/syslog.mli | 41 + tools/ocaml/libs/log/syslog_stubs.c | 73 ++ tools/ocaml/libs/mmap/META.in | 4 + tools/ocaml/libs/mmap/Makefile | 27 + tools/ocaml/libs/mmap/mmap.ml | 31 + tools/ocaml/libs/mmap/mmap.mli | 28 + tools/ocaml/libs/mmap/mmap_stubs.c | 136 +++ tools/ocaml/libs/mmap/mmap_stubs.h | 33 + tools/ocaml/libs/stdext/META.in | 5 + tools/ocaml/libs/stdext/Makefile | 43 + tools/ocaml/libs/stdext/bigbuffer.ml | 90 ++ tools/ocaml/libs/stdext/bigbuffer.mli | 22 + tools/ocaml/libs/stdext/eventloop.ml | 357 +++++++ tools/ocaml/libs/stdext/eventloop.mli | 100 ++ tools/ocaml/libs/stdext/file.ml | 34 + tools/ocaml/libs/stdext/file.mli | 18 + tools/ocaml/libs/stdext/filenameext.ml | 33 + tools/ocaml/libs/stdext/filenameext.mli | 17 + tools/ocaml/libs/stdext/hashtblext.ml | 38 + tools/ocaml/libs/stdext/hashtblext.mli | 77 ++ tools/ocaml/libs/stdext/listext.ml | 27 + tools/ocaml/libs/stdext/listext.mli | 65 ++ tools/ocaml/libs/stdext/opt.ml | 48 + tools/ocaml/libs/stdext/opt.mli | 24 + tools/ocaml/libs/stdext/pervasiveext.ml | 61 ++ tools/ocaml/libs/stdext/pervasiveext.mli | 30 + tools/ocaml/libs/stdext/qring.ml | 161 +++ tools/ocaml/libs/stdext/qring.mli | 47 + tools/ocaml/libs/stdext/ring.ml | 109 ++ tools/ocaml/libs/stdext/ring.mli | 30 + tools/ocaml/libs/stdext/stringext.ml | 206 ++++ tools/ocaml/libs/stdext/stringext.mli | 108 ++ tools/ocaml/libs/stdext/threadext.ml | 212 ++++ tools/ocaml/libs/stdext/threadext.mli | 67 ++ tools/ocaml/libs/stdext/trie.ml | 182 ++++ tools/ocaml/libs/stdext/trie.mli | 60 ++ tools/ocaml/libs/stdext/unixext.ml | 437 ++++++++ tools/ocaml/libs/stdext/unixext.mli | 84 ++ tools/ocaml/libs/stdext/unixext_stubs.c | 304 ++++++ tools/ocaml/libs/stdext/vIO.ml | 250 +++++ tools/ocaml/libs/stdext/vIO.mli | 51 + tools/ocaml/libs/stdext/varmap.ml | 26 + tools/ocaml/libs/stdext/varmap.mli | 22 + tools/ocaml/libs/uuid/META.in | 4 + tools/ocaml/libs/uuid/Makefile | 26 + tools/ocaml/libs/uuid/uuid.ml | 88 ++ tools/ocaml/libs/uuid/uuid.mli | 53 + tools/ocaml/libs/xb/META.in | 4 + tools/ocaml/libs/xb/Makefile | 41 + tools/ocaml/libs/xb/op.ml | 84 ++ tools/ocaml/libs/xb/packet.ml | 50 + tools/ocaml/libs/xb/partial.ml | 44 + tools/ocaml/libs/xb/xb.ml | 189 ++++ tools/ocaml/libs/xb/xb.mli | 83 ++ tools/ocaml/libs/xb/xb_stubs.c | 74 ++ tools/ocaml/libs/xb/xs_ring.ml | 18 + tools/ocaml/libs/xb/xs_ring_stubs.c | 117 +++ tools/ocaml/libs/xc/META.in | 4 + tools/ocaml/libs/xc/Makefile | 28 + tools/ocaml/libs/xc/xc.h | 191 ++++ tools/ocaml/libs/xc/xc.ml | 340 +++++++ tools/ocaml/libs/xc/xc.mli | 196 ++++ tools/ocaml/libs/xc/xc_cpufeature.h | 116 +++ tools/ocaml/libs/xc/xc_cpuid.h | 285 ++++++ tools/ocaml/libs/xc/xc_e820.h | 20 + tools/ocaml/libs/xc/xc_lib.c | 1502 ++++++++++++++++++++++= ++++++ tools/ocaml/libs/xc/xc_stubs.c | 1170 ++++++++++++++++++++++ tools/ocaml/libs/xs/META.in | 4 + tools/ocaml/libs/xs/Makefile | 42 + tools/ocaml/libs/xs/queueop.ml | 73 ++ tools/ocaml/libs/xs/xs.ml | 170 ++++ tools/ocaml/libs/xs/xs.mli | 90 ++ tools/ocaml/libs/xs/xsraw.ml | 265 +++++ tools/ocaml/libs/xs/xsraw.mli | 60 ++ tools/ocaml/libs/xs/xst.ml | 61 ++ tools/ocaml/libs/xs/xst.mli | 30 + tools/ocaml/xenstored/Makefile | 54 + tools/ocaml/xenstored/config.ml | 112 ++ tools/ocaml/xenstored/connection.ml | 234 +++++ tools/ocaml/xenstored/connections.ml | 167 +++ tools/ocaml/xenstored/define.ml | 40 + tools/ocaml/xenstored/disk.ml | 157 +++ tools/ocaml/xenstored/domain.ml | 62 ++ tools/ocaml/xenstored/domains.ml | 84 ++ tools/ocaml/xenstored/event.ml | 29 + tools/ocaml/xenstored/logging.ml | 238 +++++ tools/ocaml/xenstored/parse_arg.ml | 68 ++ tools/ocaml/xenstored/perms.ml | 165 +++ tools/ocaml/xenstored/process.ml | 395 ++++++++ tools/ocaml/xenstored/quota.ml | 83 ++ tools/ocaml/xenstored/store.ml | 460 +++++++++ tools/ocaml/xenstored/symbol.ml | 76 ++ tools/ocaml/xenstored/symbol.mli | 52 + tools/ocaml/xenstored/transaction.ml | 197 ++++ tools/ocaml/xenstored/utils.ml | 107 ++ tools/ocaml/xenstored/xenstored.conf | 30 + tools/ocaml/xenstored/xenstored.ml | 404 ++++++++ tools/xenstore/Makefile | 5 - 115 files changed, 13609 insertions(+), 32 deletions(-) create mode 100644 tools/ocaml/Makefile create mode 100644 tools/ocaml/Makefile.rules create mode 100644 tools/ocaml/common.make create mode 100644 tools/ocaml/libs/eventchn/META.in create mode 100644 tools/ocaml/libs/eventchn/Makefile create mode 100644 tools/ocaml/libs/eventchn/eventchn.ml create mode 100644 tools/ocaml/libs/eventchn/eventchn.mli create mode 100644 tools/ocaml/libs/eventchn/eventchn_stubs.c create mode 100644 tools/ocaml/libs/log/META.in create mode 100644 tools/ocaml/libs/log/Makefile create mode 100644 tools/ocaml/libs/log/log.ml create mode 100644 tools/ocaml/libs/log/log.mli create mode 100644 tools/ocaml/libs/log/logs.ml create mode 100644 tools/ocaml/libs/log/logs.mli create mode 100644 tools/ocaml/libs/log/syslog.ml create mode 100644 tools/ocaml/libs/log/syslog.mli create mode 100644 tools/ocaml/libs/log/syslog_stubs.c create mode 100644 tools/ocaml/libs/mmap/META.in create mode 100644 tools/ocaml/libs/mmap/Makefile create mode 100644 tools/ocaml/libs/mmap/mmap.ml create mode 100644 tools/ocaml/libs/mmap/mmap.mli create mode 100644 tools/ocaml/libs/mmap/mmap_stubs.c create mode 100644 tools/ocaml/libs/mmap/mmap_stubs.h create mode 100644 tools/ocaml/libs/stdext/META.in create mode 100644 tools/ocaml/libs/stdext/Makefile create mode 100644 tools/ocaml/libs/stdext/bigbuffer.ml create mode 100644 tools/ocaml/libs/stdext/bigbuffer.mli create mode 100644 tools/ocaml/libs/stdext/eventloop.ml create mode 100644 tools/ocaml/libs/stdext/eventloop.mli create mode 100644 tools/ocaml/libs/stdext/file.ml create mode 100644 tools/ocaml/libs/stdext/file.mli create mode 100644 tools/ocaml/libs/stdext/filenameext.ml create mode 100644 tools/ocaml/libs/stdext/filenameext.mli create mode 100644 tools/ocaml/libs/stdext/hashtblext.ml create mode 100644 tools/ocaml/libs/stdext/hashtblext.mli create mode 100644 tools/ocaml/libs/stdext/listext.ml create mode 100644 tools/ocaml/libs/stdext/listext.mli create mode 100644 tools/ocaml/libs/stdext/opt.ml create mode 100644 tools/ocaml/libs/stdext/opt.mli create mode 100644 tools/ocaml/libs/stdext/pervasiveext.ml create mode 100644 tools/ocaml/libs/stdext/pervasiveext.mli create mode 100644 tools/ocaml/libs/stdext/qring.ml create mode 100644 tools/ocaml/libs/stdext/qring.mli create mode 100644 tools/ocaml/libs/stdext/ring.ml create mode 100644 tools/ocaml/libs/stdext/ring.mli create mode 100644 tools/ocaml/libs/stdext/stringext.ml create mode 100644 tools/ocaml/libs/stdext/stringext.mli create mode 100644 tools/ocaml/libs/stdext/threadext.ml create mode 100644 tools/ocaml/libs/stdext/threadext.mli create mode 100644 tools/ocaml/libs/stdext/trie.ml create mode 100644 tools/ocaml/libs/stdext/trie.mli create mode 100644 tools/ocaml/libs/stdext/unixext.ml create mode 100644 tools/ocaml/libs/stdext/unixext.mli create mode 100644 tools/ocaml/libs/stdext/unixext_stubs.c create mode 100644 tools/ocaml/libs/stdext/vIO.ml create mode 100644 tools/ocaml/libs/stdext/vIO.mli create mode 100644 tools/ocaml/libs/stdext/varmap.ml create mode 100644 tools/ocaml/libs/stdext/varmap.mli create mode 100644 tools/ocaml/libs/uuid/META.in create mode 100644 tools/ocaml/libs/uuid/Makefile create mode 100644 tools/ocaml/libs/uuid/uuid.ml create mode 100644 tools/ocaml/libs/uuid/uuid.mli create mode 100644 tools/ocaml/libs/xb/META.in create mode 100644 tools/ocaml/libs/xb/Makefile create mode 100644 tools/ocaml/libs/xb/op.ml create mode 100644 tools/ocaml/libs/xb/packet.ml create mode 100644 tools/ocaml/libs/xb/partial.ml create mode 100644 tools/ocaml/libs/xb/xb.ml create mode 100644 tools/ocaml/libs/xb/xb.mli create mode 100644 tools/ocaml/libs/xb/xb_stubs.c create mode 100644 tools/ocaml/libs/xb/xs_ring.ml create mode 100644 tools/ocaml/libs/xb/xs_ring_stubs.c create mode 100644 tools/ocaml/libs/xc/META.in create mode 100644 tools/ocaml/libs/xc/Makefile create mode 100644 tools/ocaml/libs/xc/xc.h create mode 100644 tools/ocaml/libs/xc/xc.ml create mode 100644 tools/ocaml/libs/xc/xc.mli create mode 100644 tools/ocaml/libs/xc/xc_cpufeature.h create mode 100644 tools/ocaml/libs/xc/xc_cpuid.h create mode 100644 tools/ocaml/libs/xc/xc_e820.h create mode 100644 tools/ocaml/libs/xc/xc_lib.c create mode 100644 tools/ocaml/libs/xc/xc_stubs.c create mode 100644 tools/ocaml/libs/xs/META.in create mode 100644 tools/ocaml/libs/xs/Makefile create mode 100644 tools/ocaml/libs/xs/queueop.ml create mode 100644 tools/ocaml/libs/xs/xs.ml create mode 100644 tools/ocaml/libs/xs/xs.mli create mode 100644 tools/ocaml/libs/xs/xsraw.ml create mode 100644 tools/ocaml/libs/xs/xsraw.mli create mode 100644 tools/ocaml/libs/xs/xst.ml create mode 100644 tools/ocaml/libs/xs/xst.mli create mode 100644 tools/ocaml/xenstored/Makefile create mode 100644 tools/ocaml/xenstored/config.ml create mode 100644 tools/ocaml/xenstored/connection.ml create mode 100644 tools/ocaml/xenstored/connections.ml create mode 100644 tools/ocaml/xenstored/define.ml create mode 100644 tools/ocaml/xenstored/disk.ml create mode 100644 tools/ocaml/xenstored/domain.ml create mode 100644 tools/ocaml/xenstored/domains.ml create mode 100644 tools/ocaml/xenstored/event.ml create mode 100644 tools/ocaml/xenstored/logging.ml create mode 100644 tools/ocaml/xenstored/parse_arg.ml create mode 100644 tools/ocaml/xenstored/perms.ml create mode 100644 tools/ocaml/xenstored/process.ml create mode 100644 tools/ocaml/xenstored/quota.ml create mode 100644 tools/ocaml/xenstored/store.ml create mode 100644 tools/ocaml/xenstored/symbol.ml create mode 100644 tools/ocaml/xenstored/symbol.mli create mode 100644 tools/ocaml/xenstored/transaction.ml create mode 100644 tools/ocaml/xenstored/utils.ml create mode 100644 tools/ocaml/xenstored/xenstored.conf create mode 100644 tools/ocaml/xenstored/xenstored.ml --------------1.7.0 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------1.7.0--