[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH XEN v6 00/32] 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 (31):
  mce-test: do not include libxenguest internal headers
  tools/ocaml: simplify compile/link of test apps
  tools/Rules.mk: Properly handle libraries with recursive dependencies.
  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/foreignmemory: optimise map(num==1, err==NULL) case
  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: Use O_CLOEXEC when opening /dev/xen/privcmd on Linux
  tools/libs/call: linux: avoid forking between mmap and madvise
  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

Roger Pau Monne (1):
  x86/libxc: add an arch domain config parameter to xc_domain_create

 .gitignore                                         |  10 +
 Config.mk                                          |  18 +-
 config/FreeBSD.mk                                  |   2 -
 config/NetBSD.mk                                   |   3 -
 config/NetBSDRump.mk                               |   1 -
 config/StdGNU.mk                                   |   1 -
 config/SunOS.mk                                    |   1 -
 stubdom/Makefile                                   |  92 ++-
 stubdom/grub/Makefile                              |   1 +
 tools/Makefile                                     |  18 +-
 tools/Rules.mk                                     | 124 ++-
 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                          | 140 ++++
 tools/libs/call/include/xencall.h                  |  99 +++
 tools/libs/call/libxencall.map                     |  19 +
 tools/libs/call/linux.c                            | 215 +++++
 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              | 148 ++++
 tools/libs/evtchn/libxenevtchn.map                 |  14 +
 tools/libs/evtchn/linux.c                          | 136 ++++
 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                    | 126 +++
 tools/libs/foreignmemory/freebsd.c                 | 135 +++
 .../libs/foreignmemory/include/xenforeignmemory.h  | 108 +++
 tools/libs/foreignmemory/libxenforeignmemory.map   |   8 +
 tools/libs/foreignmemory/linux.c                   | 301 +++++++
 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              | 332 ++++++++
 tools/libs/gnttab/libxengnttab.map                 |  23 +
 tools/libs/gnttab/linux.c                          | 331 ++++++++
 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                              |  44 +-
 tools/libvchan/io.c                                |  20 +-
 tools/libvchan/libxenvchan.h                       |   9 +-
 tools/libxc/Makefile                               |  44 +-
 tools/libxc/include/xenctrl.h                      | 326 +-------
 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                            | 156 ++--
 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_create.c                         |   5 +-
 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                |  10 +-
 tools/ocaml/libs/xentoollog/Makefile               |   6 +-
 tools/ocaml/libs/xentoollog/genlevels.py           |   2 +-
 tools/ocaml/test/Makefile                          |   4 +-
 tools/ocaml/xenstored/domains.ml                   |   6 +-
 tools/ocaml/xenstored/xenstored.ml                 |   5 +-
 tools/python/setup.py                              |  10 +-
 tools/python/xen/lowlevel/xc/xc.c                  |   4 +-
 tools/tests/mce-test/tools/Makefile                |   2 -
 tools/tests/mce-test/tools/xen-mceinj.c            |   3 +-
 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/init-xenstore-domain.c              |   2 +-
 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 +-
 140 files changed, 6104 insertions(+), 4363 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®.