libxc: use multicall for memory-op on Linux (and Solaris)
authorJan Beulich <jbeulich@suse.com>
Thu, 24 Jun 2021 14:39:26 +0000 (16:39 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 24 Jun 2021 14:39:26 +0000 (16:39 +0200)
commit6f02d1ea4a109a32f346a5d1de63a42b291c354c
tree8dda5a355d11976c95ad5744e5627e68b214692e
parentbef64f2c0019f828824a67f918604fe40768b1de
libxc: use multicall for memory-op on Linux (and Solaris)

Some sub-functions, XENMEM_maximum_gpfn and XENMEM_maximum_ram_page in
particular, can return values requiring more than 31 bits to represent.
Hence we cannot issue the hypercall directly when the return value of
ioctl() is used to propagate this value. This is the case for Linux
and Solaris (and hence needs changing), while the BSDs avoid using the
return value for dual purposes altogether, and MiniOS already wraps all
hypercalls in a multicall.

Suggested-by: Jürgen Groß <jgross@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Jackson <iwj@xenproject.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/libs/ctrl/xc_private.c