forked from jevank/qubes-linux-kernel-gvt
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path0013-hvm-dm_op.h-Sync-dm_op-interface-to-xen-4.9-release.patch
More file actions
81 lines (73 loc) · 2.8 KB
/
0013-hvm-dm_op.h-Sync-dm_op-interface-to-xen-4.9-release.patch
File metadata and controls
81 lines (73 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
From 1c46d618df56a80b154abcf5266cf3777e47eea6 Mon Sep 17 00:00:00 2001
From: Xiong Zhang <xiong.y.zhang@intel.com>
Date: Wed, 23 Aug 2017 06:36:18 +0800
Subject: [PATCH 13/56] hvm/dm_op.h: Sync dm_op interface to xen 4.9 release
At the beginning, hvm/dm_op.h is synced from xen 4.9-rc1, Later xen
4.9 release modified hvm/dm_op.h, so we should sync it to the latest.
Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
---
include/xen/interface/hvm/dm_op.h | 35 +++++++++++++++++++++----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/include/xen/interface/hvm/dm_op.h b/include/xen/interface/hvm/dm_op.h
index 556d0dbb0ee4..023a28330ebd 100644
--- a/include/xen/interface/hvm/dm_op.h
+++ b/include/xen/interface/hvm/dm_op.h
@@ -235,18 +235,31 @@ struct xen_dm_op_set_pci_link_route {
* XEN_DMOP_modified_memory: Notify that a set of pages were modified by
* an emulator.
*
- * NOTE: In the event of a continuation, the @first_pfn is set to the
- * value of the pfn of the remaining set of pages and @nr reduced
- * to the size of the remaining set.
+ * DMOP buf 1 contains an array of xen_dm_op_modified_memory_extent with
+ * @nr_extents entries.
+ *
+ * On error, @nr_extents will contain the index+1 of the extent that
+ * had the error. It is not defined if or which pages may have been
+ * marked as dirty, in this event.
*/
#define XEN_DMOP_modified_memory 11
struct xen_dm_op_modified_memory {
- /* IN - number of contiguous pages modified */
- uint32_t nr;
- uint32_t pad;
- /* IN - first pfn modified */
- uint64_aligned_t first_pfn;
+ /*
+ * IN - Number of extents to be processed
+ * OUT -returns n+1 for failing extent
+ */
+ uint32_t nr_extents;
+ /* IN/OUT - Must be set to 0 */
+ uint32_t opaque;
+};
+
+struct xen_dm_op_modified_memory_extent {
+ /* IN - number of contiguous pages modified */
+ uint32_t nr;
+ uint32_t pad;
+ /* IN - first pfn modified */
+ uint64_aligned_t first_pfn;
};
/*
@@ -373,17 +386,17 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_dm_op_buf_t);
/* ` enum neg_errnoval
* ` HYPERVISOR_dm_op(domid_t domid,
- * ` xen_dm_op_buf_t bufs[],
- * ` unsigned int nr_bufs)
+ * ` unsigned int nr_bufs,
+ * ` xen_dm_op_buf_t bufs[])
* `
*
* @domid is the domain the hypercall operates on.
+ * @nr_bufs is the number of buffers in the @bufs array.
* @bufs points to an array of buffers where @bufs[0] contains a struct
* xen_dm_op, describing the specific device model operation and its
* parameters.
* @bufs[1..] may be referenced in the parameters for the purposes of
* passing extra information to or from the domain.
- * @nr_bufs is the number of buffers in the @bufs array.
*/
#endif /* __XEN_PUBLIC_HVM_DM_OP_H__ */
--
2.34.1