[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH XEN v7 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): stubdom: recurse into tools/include in mk-headers-$(XEN_TARGET_ARCH) rule tools: Refactor "xentoollog" into its own library 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: 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 HACK: Update Config.mk to pull all the right bits from my xenbits trees .gitignore | 10 + Config.mk | 24 +- config/FreeBSD.mk | 2 - config/NetBSD.mk | 3 - config/NetBSDRump.mk | 1 - config/StdGNU.mk | 1 - config/SunOS.mk | 1 - stubdom/Makefile | 87 +- stubdom/grub/Makefile | 1 + tools/Makefile | 18 +- tools/Rules.mk | 54 +- 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 | 11 + tools/libs/call/Makefile | 67 ++ tools/libs/call/buffer.c | 192 +++++ tools/libs/call/core.c | 147 ++++ tools/libs/call/freebsd.c | 126 +++ tools/libs/call/include/xencall.h | 127 +++ tools/libs/call/libxencall.map | 19 + 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 | 67 ++ tools/libs/evtchn/core.c | 72 ++ tools/libs/evtchn/freebsd.c | 138 ++++ tools/libs/evtchn/include/xenevtchn.h | 163 ++++ tools/libs/evtchn/libxenevtchn.map | 14 + 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 | 67 ++ tools/libs/foreignmemory/compat.c | 72 ++ tools/libs/foreignmemory/core.c | 116 +++ tools/libs/foreignmemory/freebsd.c | 115 +++ .../libs/foreignmemory/include/xenforeignmemory.h | 128 +++ tools/libs/foreignmemory/libxenforeignmemory.map | 8 + 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 | 69 ++ tools/libs/gnttab/gntshr_core.c | 95 +++ tools/libs/gnttab/gntshr_unimp.c | 62 ++ tools/libs/gnttab/gnttab_core.c | 124 +++ tools/libs/gnttab/gnttab_unimp.c | 89 ++ tools/libs/gnttab/include/xengnttab.h | 363 +++++++++ tools/libs/gnttab/libxengnttab.map | 23 + tools/libs/gnttab/linux.c | 335 ++++++++ tools/libs/gnttab/minios.c | 117 +++ tools/libs/gnttab/private.h | 47 ++ tools/libs/toollog/Makefile | 62 ++ tools/{libxc => libs/toollog}/include/xentoollog.h | 10 + tools/libs/toollog/libxentoollog.map | 12 + tools/{libxc => libs/toollog}/xtl_core.c | 10 + tools/{libxc => 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 | 44 +- 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 | 18 +- 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/libs/xentoollog/Makefile | 6 +- tools/ocaml/libs/xentoollog/genlevels.py | 2 +- tools/ocaml/xenstored/domains.ml | 6 +- tools/ocaml/xenstored/xenstored.ml | 5 +- tools/python/setup.py | 10 +- 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 +- 136 files changed, 5967 insertions(+), 4308 deletions(-) create mode 100644 tools/libs/Makefile 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/libs/toollog/Makefile rename tools/{libxc => libs/toollog}/include/xentoollog.h (97%) create mode 100644 tools/libs/toollog/libxentoollog.map rename tools/{libxc => libs/toollog}/xtl_core.c (95%) rename tools/{libxc => libs/toollog}/xtl_logger_stdio.c (97%) 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 |