From: Ian Campbell <ian.campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>,
Roger Pau Monne <roger.pau@citrix.com>
Cc: wei.liu2@citrix.com, xen-devel@lists.xen.org
Subject: Re: [PATCH XEN v5 09/23] tools: Refactor hypercall calling wrappers into libxencall.
Date: Fri, 13 Nov 2015 16:56:16 +0000 [thread overview]
Message-ID: <1447433776.18450.199.camel@citrix.com> (raw)
In-Reply-To: <1447427813.18450.184.camel@citrix.com>
On Fri, 2015-11-13 at 15:16 +0000, Ian Campbell wrote:
>
> If we are going to standardise on one of those then given we've gone for
> -1/errno in most other places and it's the "normal" way to do things I
> think we should do the same here and the freebsd driver in libxencall
> should set errno.
>
> There are other alternatives, such as having this library return the
> "privcmd ioctl" result in its return value + errno and the "hypercall
> result" in a separate output pointer argument. This would require, possibly
> substantial, changes in the callers, but right now they are all in libxc,
> which could munge that back into the current somewhat braindead scheme
> allowing us to update those call paths piecemeal and allowing new users to
> use the sane interface.
>
> Thoughts?
Ian and I discusses this IRL. We decided that an interface that required
the caller to check two error returns (the "privcmd ioctl result" and the
"hypercall result" was unwieldy).
As a result we've decided that -1/errno=EFOO is the best approach, but that
we should try and partition the errno space (so far as possible given the
existing hypercall interfaces) into "From hypercall" and "From OS machinery
for making hypercalls" where it matters.
For some cases the distinction may not be so important (e.g. EFAULT from
either the kernel reading the ioctl arg or the hypervisor reading the
hypercall arg). But in other cases it might be relevant (e.g. EPERM from
the hypervisor vs a permissions error relating to the privcmd fd having
been locked to a particular domain at the kernel/process level).
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2015-11-13 16:56 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-09 11:59 [Qemu-devel] [Minios-devel] [PATCH v4 0/<VARIOUS>] Begin to disentangle libxenctrl and provide some stable libraries Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 00/23] " Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 01/23] tools/Rules.mk: Properly handle libraries with recursive dependencies Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 02/23] tools: Refactor "xentoollog" into its own library Ian Campbell
2015-11-13 15:05 ` Andrew Cooper
2015-11-13 15:35 ` Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 03/23] tools/libxc: Remove osdep indirection for xc_evtchn Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 04/23] tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn Ian Campbell
2015-11-11 14:50 ` Ian Jackson
2015-11-09 12:00 ` [PATCH XEN v5 05/23] tools: Arrange to check public headers for ANSI compatiblity Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 06/23] tools/libxc: Remove osdep indirection for xc_gnt{shr, tab} Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 07/23] tools: Refactor /dev/xen/gnt{dev, shr} wrappers into libxengnttab Ian Campbell
2015-11-11 14:34 ` Wei Liu
2015-11-11 15:03 ` Ian Jackson
2015-11-13 15:02 ` Ian Campbell
2015-11-13 20:38 ` Daniel De Graaf
2015-11-16 12:30 ` Ian Campbell
2015-11-24 16:32 ` Daniel De Graaf
2015-11-23 17:05 ` Ian Campbell
2015-11-24 9:34 ` Ian Campbell
2015-11-25 15:06 ` Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 08/23] tools/libxc: Remove osdep indirection for privcmd Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 09/23] tools: Refactor hypercall calling wrappers into libxencall Ian Campbell
2015-11-11 15:08 ` Ian Jackson
2015-11-11 15:31 ` Wei Liu
2015-11-13 15:17 ` Ian Campbell
2015-11-13 15:16 ` Ian Campbell
2015-11-13 16:56 ` Ian Campbell [this message]
2015-11-13 16:57 ` Ian Campbell
2015-11-13 17:16 ` Roger Pau Monné
2015-11-13 17:23 ` Ian Campbell
2015-11-13 15:35 ` Andrew Cooper
2015-11-13 15:49 ` Andrew Cooper
2015-12-02 14:55 ` Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 10/23] tools/libxc: drop xc_map_foreign_bulk_compat wrappers Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 11/23] tools: Remove xc_map_foreign_batch Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 12/23] tools: Implement xc_map_foreign_range(s) in terms of common helper Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 13/23] tools: Refactor foreign memory mapping into libxenforeignmemory Ian Campbell
2015-11-11 15:13 ` Ian Jackson
2015-11-13 15:21 ` Ian Campbell
2015-11-13 15:27 ` Ian Jackson
2015-11-27 17:18 ` Ian Campbell
2015-11-27 17:48 ` Andrew Cooper
2015-11-29 9:54 ` Paul Durrant
[not found] ` <9AAE0902D5BC7E449B7C8E4E778ABCD02F69D32F@AMSPEX01CL01.citrite.net>
2015-11-30 9:51 ` Ian Campbell
[not found] ` <1448877118.15768.11.camel@citrix.com>
2015-12-01 10:16 ` Paul Durrant
2015-11-27 15:46 ` Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 14/23] tools: foreignmemory: provide xenforeignmemory_unmap Ian Campbell
2015-11-11 15:14 ` Ian Jackson
2015-11-27 15:57 ` Ian Campbell
2015-11-13 16:16 ` Andrew Cooper
2015-11-13 16:17 ` Andrew Cooper
2015-11-09 12:00 ` [PATCH XEN v5 15/23] foreignmemory: use size_t for size arguments Ian Campbell
2015-11-11 15:15 ` Ian Jackson
2015-11-09 12:00 ` [PATCH XEN v5 16/23] tools/libs/evtchn: Review and update doc comments Ian Campbell
2015-11-11 15:15 ` Ian Jackson
2015-11-09 12:00 ` [PATCH XEN v5 17/23] tools/libs: Clean up hard tabs Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 18/23] tools/libs/gnttab: Review and update doc comments Ian Campbell
2015-11-11 15:17 ` Ian Jackson
2015-11-09 12:00 ` [PATCH XEN v5 19/23] tools/libs/call: Update some log messages to not refer to xc Ian Campbell
2015-11-13 16:20 ` Andrew Cooper
2015-11-23 13:10 ` Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 20/23] tools/libs/call: Avoid xc_memalign in netbsd and solaris backends Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 21/23] tools/libs/foreignmemory: Mention restrictions on fork in docs Ian Campbell
2015-11-11 15:18 ` Ian Jackson
2015-11-09 12:00 ` [PATCH XEN v5 22/23] tools: Update CFLAGS for qemu-xen to allow it to use new libraries Ian Campbell
2015-11-09 12:00 ` [PATCH XEN v5 23/23] HACK: Update Config.mk to pull all the right bits from my xenbits trees Ian Campbell
2015-11-11 15:20 ` [PATCH XEN v5 00/23] Begin to disentangle libxenctrl and provide some stable libraries Ian Jackson
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 0/9] " Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 1/9] xen_console: correctly cleanup primary console on teardown Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 2/9] xen: Switch to libxenevtchn interface for compat shims Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 3/9] xen: Switch to libxengnttab " Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-10 14:02 ` Stefano Stabellini
2015-11-10 14:02 ` [Qemu-devel] " Stefano Stabellini
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 4/9] xen: Switch uses of xc_map_foreign_range into xc_map_foreign_bulk Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 5/9] xen: Switch uses of xc_map_foreign_pages " Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 6/9] xen: Switch uses of xc_map_foreign_bulk to use libxenforeignmemory API Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 7/9] xen: Use stable library interfaces when they are available Ian Campbell
2015-11-10 14:00 ` Stefano Stabellini
2015-11-10 14:00 ` Stefano Stabellini
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 8/9] xen: domainbuild: reopen libxenctrl interface after forking for domain watcher Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-09 12:01 ` [Qemu-devel] [PATCH QEMU-XEN v5 9/9] xen: make it possible to build without the Xen PV domain builder Ian Campbell
2015-11-09 12:01 ` Ian Campbell
2015-11-10 12:48 ` [Qemu-devel] " Stefano Stabellini
2015-11-10 12:48 ` Stefano Stabellini
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 0/5] Begin to disentangle libxenctrl and provide some stable libraries Ian Campbell
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 1/5] qemu-xen-traditional: Use xentoollog as a separate library Ian Campbell
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 2/5] qemu-xen-traditional: Use libxenevtchn Ian Campbell
2015-11-11 15:19 ` Ian Jackson
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 3/5] qemu-xen-traditional: Use libxengnttab Ian Campbell
2015-11-11 15:20 ` Ian Jackson
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 4/5] qemu-xen-traditional: Add libxencall to rpath-link Ian Campbell
2015-11-11 15:20 ` Ian Jackson
2015-11-09 12:01 ` [PATCH QEMU-XEN-TRADITIONAL v5 5/5] qemu-xen-traditional: Add libxenforeignmemory " Ian Campbell
2015-11-11 15:21 ` Ian Jackson
2015-11-11 15:23 ` [PATCH QEMU-XEN-TRADITIONAL v5 0/5] Begin to disentangle libxenctrl and provide some stable libraries Ian Jackson
2015-11-09 12:01 ` [PATCH MINI-OS " Ian Campbell
2015-11-09 12:01 ` [PATCH MINI-OS v5 1/5] mini-os: Include libxentoollog with libxc Ian Campbell
2015-11-09 12:01 ` [PATCH MINI-OS v5 2/5] mini-os: Include libxenevtchn " Ian Campbell
2015-11-09 12:01 ` [PATCH MINI-OS v5 3/5] mini-os: Include libxengnttab " Ian Campbell
2015-11-09 12:01 ` [PATCH MINI-OS v5 4/5] mini-os: Include libxencall " Ian Campbell
2015-11-09 12:01 ` [PATCH MINI-OS v5 5/5] mini-os: Include libxenforeignmemory " Ian Campbell
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=1447433776.18450.199.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.