From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
Roger Pau Monne <roger.pau@citrix.com>,
Wei Liu <wei.liu2@citrix.com>,
Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [PATCH RFC 0/6+2+2] Begin to disentangle libxenctrl and provide some stable libraries
Date: Wed, 10 Jun 2015 12:36:28 +0100 [thread overview]
Message-ID: <1433936188.30003.60.camel@citrix.com> (raw)
In <1431963008.4944.80.camel@citrix.com> I proposed stabilising some
parts of the libxenctrl API/ABI by disaggregating into separate
libraries.
As a proof of concept these three intertangled series[0] splits out the
xentoollog and event channel device interfaces.
Still to come would be at least the grant table interfaces and a basic
hypercall making facility (including the buffers etc), followed by
libraries for specific out of tree purposes (device model, kexec).
The new libraries use linker version-scripts to hopefully make future
ABI changes be possible in a compatible way.
I decided to move the event channel functions into a new namespace
(xenevtchn_*) in order to provide a clean break from the old unstable
interfaces to the new stable ones. I've updated all the in tree callers
and qemu-trad and provided a compat shim in libxenctrl for other out of
tree users (which is used for qemu-upstream). My hope is that this can
be removed sooner rather than later. I intend to do the same for the
other interfaces. I haven't done this for the xentoollog stuff since it
already had a separate namespace.
I mulled over putting everything into tools/libs/FOO instead of
tools/libxenFOO, I didn't but I could if people think it is worthwhile.
Eventually I'd like to split libxc into libxenguest and libxenctrl to
cut down on the amount of strange cross talk...
As part of this change I've begun to get rid of the osdep interface
layer, since it is obsolete and just gets in the way. IIRC there were
some tricks being played to use this on rumpkernels to mix and match
facilities from xc_minios.c and xc_netbsd.c. Once the hypercall calling
and grant interfaces are in separate libraries are split this would
become easier since each library can independently choose the desired
backend.
The whole thing has been build tested on Linux and stubdoms, but not
FreeBSD, NetBSD or Solaris. It's certainly not impossible that I've not
got the #includes in the new files quite right.
Ian.
[0] There are 3 series, against xen.git, mini-os.git and
qemu-xen-trad.git. The patches against xen.git point to the patches in
the other two trees with instructions to update the relevant Config.mk
field. The perils of changing unstable interfaces...
next reply other threads:[~2015-06-10 11:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-10 11:36 Ian Campbell [this message]
2015-06-10 11:36 ` [PATCH RFC tools 1/6] tools: Refactor "xentoollog" into its own library Ian Campbell
2015-06-11 11:20 ` Andrew Cooper
2015-06-11 11:35 ` Ian Campbell
2015-06-11 12:06 ` Jan Beulich
2015-06-11 12:21 ` Ian Campbell
2015-09-21 16:17 ` Ian Jackson
2015-09-21 17:03 ` Andrew Cooper
2015-09-21 17:13 ` Ian Jackson
2015-09-21 17:30 ` Andrew Cooper
2015-09-22 8:39 ` Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 2/6] tools: Link in-tree libvchan users against libxenvchan.so Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 3/6] tools: Do not add top-level tools dir to include path Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 4/6] tools/libxc: Remove osdep indirection for xc_evtchn Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 5/6] tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn Ian Campbell
2015-06-10 16:29 ` David Vrabel
2015-06-11 8:58 ` Ian Campbell
2015-06-10 17:16 ` Andrew Cooper
2015-06-11 9:03 ` Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 6/6] Cleanup SHLIBDEPS Ian Campbell
2015-06-10 11:37 ` [PATCH RFC qemu-trad 1/2] qemu-xen-traditional: Use xentoollog as a separate library Ian Campbell
2015-06-10 15:57 ` Ian Jackson
2015-06-11 8:59 ` Ian Campbell
2015-06-10 11:37 ` [PATCH RFC qemu-trad 2/2] qemu-xen-traditional: Use libxenevtchn Ian Campbell
2015-06-10 11:37 ` [PATCH RFC mini-os 1/2] mini-os: Include libxentoollog with libxc Ian Campbell
2015-06-10 11:37 ` [PATCH RFC mini-os 2/2] mini-os: Include libxenevtchn " Ian Campbell
2015-06-10 16:01 ` [PATCH RFC 0/6+2+2] Begin to disentangle libxenctrl and provide some stable libraries Ian Jackson
2015-06-10 16:15 ` Wei Liu
2015-06-11 10:01 ` Antti Kantee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1433936188.30003.60.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=roger.pau@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).