xen: Use newly added dmops for mapping VGA memory
commit2cbf8903530b936964dd3af7e2e5bf85c3955d5c
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Mon, 23 Oct 2017 09:27:27 +0000 (23 10:27 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Thu, 26 Apr 2018 15:29:51 +0000 (26 16:29 +0100)
tree014254d958e20b45bf94e90d683b25f8b5317e51
parent2c42f1e80103cb926c0703d4c1ac1fb9c3e2c600
xen: Use newly added dmops for mapping VGA memory

Xen unstable (to be in 4.11) has two new dmops, relocate_memory and
pin_memory_cacheattr. Use these to set up the VGA memory, replacing the
previous calls to libxc. This allows the VGA console to work properly
when QEMU is running restricted (-xen-domid-restrict).

Wrapper functions are provided to allow QEMU to work with older versions
of Xen.

Tweak the error handling while making this change:
* Report pin_memory_cacheattr errors.
* Report errors even when DEBUG_HVM is not set. This is useful for
trying to understand why VGA is not working, since otherwise it just
fails silently.
* Fix the return values when an error occurs. The functions now
consistently return -1 and set errno.

CC: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
configure
hw/i386/xen/xen-hvm.c
include/hw/xen/xen_common.h