[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.