>@@ -189,7 +189,8 @@ static int uncanonicalize_pagetable(
> /* Load the p2m frame list, plus potential extended info chunk */
> static xen_pfn_t *load_p2m_frame_list(
> xc_interface *xch, struct restore_ctx *ctx,
>- int io_fd, int *pae_extended_cr3, int *ext_vcpucontext)
>+ int io_fd, int *pae_extended_cr3, int *ext_vcpucontext,
>+ int *vcpuextstate, uint64_t *vcpuextstate_size)
What value is it to have vcpuextstate_size (here any elsewhere in
the patch) be a 64-bit quantity? In 32-bit tools exceeding 4G here
wouldn't work anyway, and iirc the value really can't exceed 32 bits
anyway.
>@@ -781,6 +781,31 @@ struct xen_domctl_mem_sharing_op {
> typedef struct xen_domctl_mem_sharing_op xen_domctl_mem_sharing_op_t;
> DEFINE_XEN_GUEST_HANDLE(xen_domctl_mem_sharing_op_t);
>
>+/* XEN_DOMCTL_setvcpuextstate */
>+/* XEN_DOMCTL_getvcpuextstate */
>+struct xen_domctl_vcpuextstate {
>+ /* IN: VCPU that this call applies to. */
>+ uint32_t vcpu;
>+ /*
>+ * SET: xfeature support mask of struct (IN)
>+ * GET: xfeature support mask of struct (IN/OUT)
>+ * xfeature mask is served as identifications of the saving format
>+ * so that compatible CPUs can have a check on format to decide
>+ * whether it can restore.
>+ */
>+ uint64_t xfeature_mask;
uint64_aligned_t.
>+ /*
>+ * SET: Size of struct (IN)
>+ * GET: Size of struct (IN/OUT)
>+ */
>+ uint64_t size;
Here too.
>+#if defined(__i386__) || defined(__x86_64__)
Why? The structure makes no sense without the following field, so
either the whole structure is x86-specific, or the field is generic as
is the rest of the structure.
>+ XEN_GUEST_HANDLE_64(uint64) buffer;
>+#endif
>+};
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|