[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH XEN v8 00/29] Begin to disentangle libxenctrl and provide some stable libraries
We intend to stabilise some parts of the libxenctrl interface by splitting out some functionality into separate stable libraries. This is the xen part of the first phase of that change. This mail is (or is intended to be) a reply to a "0/<VARIOUS>" super-intro mail covering all of the related patch series and which contains more details. Ian Campbell (29): tools/libxc: Remove osdep indirection for xc_evtchn tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn. tools: Arrange to check public headers for ANSI compatiblity tools/libxc: Remove osdep indirection for xc_gnt{shr,tab} tools: Refactor /dev/xen/gnt{dev,shr} wrappers into libxengnttab. tools/libxc: Remove osdep indirection for privcmd tools: Refactor hypercall calling wrappers into libxencall. tools/libxc: drop xc_map_foreign_bulk_compat wrappers tools: Remove xc_map_foreign_batch tools: Implement xc_map_foreign_range(s) in terms of common helper tools: Refactor foreign memory mapping into libxenforeignmemory tools/libs/foreignmemory: provide xenforeignmemory_unmap. tools/libs/foreignmemory: use size_t for size arguments. tools/libs/foreignmemory: Mention restrictions on fork in docs. tools/libs/foreignmemory: Support err == NULL to map. tools/libs/foreignmemory: pull array length argument to map forward tools/libs/evtchn: Review and update doc comments. tools/libs/evtchn: Use uint32_t for domid arguments tools/libs: Clean up hard tabs. tools/libs/gnttab: Extensive updates to API documentation. tools/libs/call: Update some log messages to not refer to xc. tools/libs/call: Describe return values and error semantics for xencall* tools/libs/call: Avoid xc_memalign in netbsd and solaris backends tools/libs/call: linux: touch newly allocated pages after madvise lockdown tools/libs/{call,evtchn}: Document requirements around forking. tools/libs/*: Use O_CLOEXEC on Linux and FreeBSD tools: Update CFLAGS for qemu-xen to allow it to use new libraries tools/libs/*: Introduce APIs to restrict handles to a specific domain. HACK: Update Config.mk to pull all the right bits from my xenbits trees .gitignore | 9 + Config.mk | 22 +- config/FreeBSD.mk | 2 - config/NetBSD.mk | 3 - config/NetBSDRump.mk | 1 - config/StdGNU.mk | 1 - config/SunOS.mk | 1 - stubdom/Makefile | 62 +- tools/Makefile | 15 +- tools/Rules.mk | 44 +- tools/console/Makefile | 3 +- tools/console/daemon/io.c | 64 +- tools/console/daemon/utils.c | 1 - tools/console/daemon/utils.h | 1 + tools/libs/Makefile | 4 + tools/libs/call/Makefile | 71 ++ tools/libs/call/buffer.c | 192 +++++ tools/libs/call/core.c | 154 ++++ tools/libs/call/freebsd.c | 126 +++ tools/libs/call/include/xencall.h | 161 ++++ tools/libs/call/libxencall.map | 21 + tools/libs/call/linux.c | 134 +++ tools/libs/call/minios.c | 81 ++ tools/libs/call/netbsd.c | 121 +++ tools/libs/call/private.h | 68 ++ tools/libs/call/solaris.c | 97 +++ tools/libs/evtchn/Makefile | 71 ++ tools/libs/evtchn/core.c | 79 ++ tools/libs/evtchn/freebsd.c | 138 ++++ tools/libs/evtchn/include/xenevtchn.h | 199 +++++ tools/libs/evtchn/libxenevtchn.map | 21 + tools/libs/evtchn/linux.c | 140 ++++ tools/libs/evtchn/minios.c | 266 ++++++ tools/libs/evtchn/netbsd.c | 147 ++++ tools/libs/evtchn/private.h | 25 + tools/libs/evtchn/solaris.c | 135 +++ tools/libs/foreignmemory/Makefile | 71 ++ tools/libs/foreignmemory/compat.c | 72 ++ tools/libs/foreignmemory/core.c | 123 +++ tools/libs/foreignmemory/freebsd.c | 115 +++ .../libs/foreignmemory/include/xenforeignmemory.h | 150 ++++ tools/libs/foreignmemory/libxenforeignmemory.map | 11 + tools/libs/foreignmemory/linux.c | 283 +++++++ tools/libs/foreignmemory/minios.c | 69 ++ tools/libs/foreignmemory/netbsd.c | 111 +++ tools/libs/foreignmemory/private.h | 54 ++ tools/libs/foreignmemory/solaris.c | 109 +++ tools/libs/gnttab/Makefile | 73 ++ tools/libs/gnttab/gntshr_core.c | 103 +++ tools/libs/gnttab/gntshr_unimp.c | 62 ++ tools/libs/gnttab/gnttab_core.c | 131 +++ tools/libs/gnttab/gnttab_unimp.c | 89 ++ tools/libs/gnttab/include/xengnttab.h | 415 ++++++++++ tools/libs/gnttab/libxengnttab.map | 27 + tools/libs/gnttab/linux.c | 335 ++++++++ tools/libs/gnttab/minios.c | 117 +++ tools/libs/gnttab/private.h | 47 ++ tools/libs/toollog/Makefile | 5 +- tools/libs/toollog/include/xentoollog.h | 10 + tools/libs/toollog/xtl_core.c | 10 + tools/libs/toollog/xtl_logger_stdio.c | 12 +- tools/libvchan/Makefile | 8 +- tools/libvchan/init.c | 46 +- tools/libvchan/io.c | 20 +- tools/libvchan/libxenvchan.h | 9 +- tools/libxc/Makefile | 41 +- tools/libxc/include/xenctrl.h | 312 +------ tools/libxc/include/xenctrl_compat.h | 132 +++ tools/libxc/include/xenctrlosdep.h | 172 ---- tools/libxc/include/xenguest.h | 14 +- tools/libxc/xc_altp2m.c | 64 +- tools/libxc/xc_domain.c | 105 +-- tools/libxc/xc_evtchn.c | 54 +- tools/libxc/xc_evtchn_compat.c | 75 ++ tools/libxc/xc_flask.c | 8 +- tools/libxc/xc_foreign_memory.c | 119 +-- tools/libxc/xc_freebsd_osdep.c | 407 ---------- tools/libxc/xc_gnttab.c | 93 +-- tools/libxc/xc_gnttab_compat.c | 111 +++ tools/libxc/xc_hcall_buf.c | 138 +--- tools/libxc/xc_kexec.c | 36 +- tools/libxc/xc_linux_osdep.c | 904 --------------------- tools/libxc/xc_minios.c | 482 ----------- tools/libxc/xc_misc.c | 79 +- tools/libxc/xc_netbsd.c | 345 -------- tools/libxc/xc_private.c | 277 +------ tools/libxc/xc_private.h | 105 +-- tools/libxc/xc_solaris.c | 305 ------- tools/libxc/xc_sr_restore.c | 8 +- tools/libxc/xc_sr_save.c | 6 +- tools/libxc/xc_suspend.c | 18 +- tools/libxc/xc_tmem.c | 7 +- tools/libxc/xc_vm_event.c | 20 +- tools/libxc/xenctrl_osdep_ENOSYS.c | 210 ----- tools/libxc/xg_private.h | 3 +- tools/libxl/Makefile | 5 +- tools/libxl/libxl.c | 2 +- tools/libxl/libxl_dom_suspend.c | 4 +- tools/libxl/libxl_event.c | 14 +- tools/libxl/libxl_internal.h | 6 +- tools/misc/Makefile | 11 +- tools/misc/xen-hptool.c | 13 +- tools/misc/xen-lowmemd.c | 15 +- tools/misc/xen-mfndump.c | 1 + tools/ocaml/libs/eventchn/Makefile | 4 +- tools/ocaml/libs/eventchn/xeneventchn_stubs.c | 20 +- tools/ocaml/libs/xc/xenctrl.ml | 2 - tools/ocaml/libs/xc/xenctrl.mli | 1 - tools/ocaml/libs/xc/xenctrl_stubs.c | 8 +- tools/ocaml/xenstored/domains.ml | 6 +- tools/ocaml/xenstored/xenstored.ml | 5 +- tools/python/setup.py | 7 +- tools/python/xen/lowlevel/xc/xc.c | 2 + tools/tests/mce-test/tools/xen-mceinj.c | 1 + tools/tests/mem-sharing/memshrtool.c | 1 + tools/tests/xen-access/Makefile | 3 +- tools/tests/xen-access/xen-access.c | 21 +- tools/xcutils/Makefile | 4 +- tools/xenmon/Makefile | 2 + tools/xenmon/xenbaked.c | 26 +- tools/xenpaging/Makefile | 4 +- tools/xenpaging/pagein.c | 1 - tools/xenpaging/xenpaging.c | 33 +- tools/xenpaging/xenpaging.h | 5 +- tools/xenstore/Makefile | 7 +- tools/xenstore/xenstored_core.c | 7 +- tools/xenstore/xenstored_core.h | 5 +- tools/xenstore/xenstored_domain.c | 49 +- tools/xenstore/xenstored_minios.c | 5 +- tools/xentrace/Makefile | 5 +- tools/xentrace/xenctx.c | 3 +- tools/xentrace/xentrace.c | 17 +- 132 files changed, 6054 insertions(+), 4288 deletions(-) create mode 100644 tools/libs/call/Makefile create mode 100644 tools/libs/call/buffer.c create mode 100644 tools/libs/call/core.c create mode 100644 tools/libs/call/freebsd.c create mode 100644 tools/libs/call/include/xencall.h create mode 100644 tools/libs/call/libxencall.map create mode 100644 tools/libs/call/linux.c create mode 100644 tools/libs/call/minios.c create mode 100644 tools/libs/call/netbsd.c create mode 100644 tools/libs/call/private.h create mode 100644 tools/libs/call/solaris.c create mode 100644 tools/libs/evtchn/Makefile create mode 100644 tools/libs/evtchn/core.c create mode 100644 tools/libs/evtchn/freebsd.c create mode 100644 tools/libs/evtchn/include/xenevtchn.h create mode 100644 tools/libs/evtchn/libxenevtchn.map create mode 100644 tools/libs/evtchn/linux.c create mode 100644 tools/libs/evtchn/minios.c create mode 100644 tools/libs/evtchn/netbsd.c create mode 100644 tools/libs/evtchn/private.h create mode 100644 tools/libs/evtchn/solaris.c create mode 100644 tools/libs/foreignmemory/Makefile create mode 100644 tools/libs/foreignmemory/compat.c create mode 100644 tools/libs/foreignmemory/core.c create mode 100644 tools/libs/foreignmemory/freebsd.c create mode 100644 tools/libs/foreignmemory/include/xenforeignmemory.h create mode 100644 tools/libs/foreignmemory/libxenforeignmemory.map create mode 100644 tools/libs/foreignmemory/linux.c create mode 100644 tools/libs/foreignmemory/minios.c create mode 100644 tools/libs/foreignmemory/netbsd.c create mode 100644 tools/libs/foreignmemory/private.h create mode 100644 tools/libs/foreignmemory/solaris.c create mode 100644 tools/libs/gnttab/Makefile create mode 100644 tools/libs/gnttab/gntshr_core.c create mode 100644 tools/libs/gnttab/gntshr_unimp.c create mode 100644 tools/libs/gnttab/gnttab_core.c create mode 100644 tools/libs/gnttab/gnttab_unimp.c create mode 100644 tools/libs/gnttab/include/xengnttab.h create mode 100644 tools/libs/gnttab/libxengnttab.map create mode 100644 tools/libs/gnttab/linux.c create mode 100644 tools/libs/gnttab/minios.c create mode 100644 tools/libs/gnttab/private.h create mode 100644 tools/libxc/include/xenctrl_compat.h delete mode 100644 tools/libxc/include/xenctrlosdep.h create mode 100644 tools/libxc/xc_evtchn_compat.c delete mode 100644 tools/libxc/xc_freebsd_osdep.c create mode 100644 tools/libxc/xc_gnttab_compat.c delete mode 100644 tools/libxc/xc_linux_osdep.c delete mode 100644 tools/libxc/xenctrl_osdep_ENOSYS.c -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |