On 10/20/2017 10:15 AM, Paul Durrant wrote:
-----Original Message-----
snip>> diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index 32ade95..432a863 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -640,6 +640,22 @@ static int dm_op(const struct dmop_args *op_args)
break;
}
+ case XEN_DMOP_add_to_physmap:
+ {
+ const struct xen_dm_op_add_to_physmap *data =
+ &op.u.add_to_physmap;
+ struct xen_add_to_physmap xatp = {
+ .domid = op_args->domid,
+ .space = XENMAPSPACE_gmfn,
+ .idx = data->idx,
+ .gpfn = data->gpfn,
+ };
+
Where does xatp.size get set? Looks like you're missing a parameter.
xatp.size is only used for XENMAPSPACE_gmfn_range which is not supported
by this interface. size gets set to 0 by the C99 designated initializer.
Based on your other comments, would it make sense to instead use
XENMAPSPACE_gmfn_range and have the caller set the size?
As it is currently, QEMU does only populate VRAM one page at a time
(using xen_xc_domain_add_to_physmap) so it is already slow but it could
be improved.
--
Ross Lagerwall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel