You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
(22) |
2
(4) |
3
(12) |
4
|
5
(3) |
6
(15) |
7
(13) |
|
8
(12) |
9
(1) |
10
(17) |
11
(16) |
12
(15) |
13
(15) |
14
|
|
15
(1) |
16
(17) |
17
(16) |
18
(14) |
19
(1) |
20
(14) |
21
(2) |
|
22
(5) |
23
|
24
|
25
|
26
|
27
(1) |
28
(15) |
|
29
|
30
|
31
|
|
|
|
|
|
From: <sv...@va...> - 2013-12-01 10:54:49
|
Author: bart
Date: Sun Dec 1 10:54:42 2013
New Revision: 13730
Log:
xen: XENMEM_add_to_physmap hypercall
Xen reads the entire structure, and if the space is _gmfn, will write the
structure back
From: Andrew Cooper <and...@ci...>
Signed-off-by: Andrew Cooper <and...@ci...>
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-memory.h
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:54:42 2013
@@ -172,6 +172,22 @@
break;
}
+ case VKI_XENMEM_add_to_physmap: {
+ struct vki_xen_add_to_physmap *arg =
+ (struct vki_xen_add_to_physmap *)ARG2;
+ PRE_MEM_READ("XENMEM_add_to_physmap domid",
+ (Addr)&arg->domid, sizeof(arg->domid));
+ PRE_MEM_READ("XENMEM_add_to_physmap size",
+ (Addr)&arg->size, sizeof(arg->size));
+ PRE_MEM_READ("XENMEM_add_to_physmap space",
+ (Addr)&arg->space, sizeof(arg->space));
+ PRE_MEM_READ("XENMEM_add_to_physmap idx",
+ (Addr)&arg->idx, sizeof(arg->idx));
+ PRE_MEM_READ("XENMEM_add_to_physmap gpfn",
+ (Addr)&arg->gpfn, sizeof(arg->gpfn));
+ break;
+ };
+
case VKI_XENMEM_get_sharing_freed_pages:
case VKI_XENMEM_get_sharing_shared_pages:
break;
@@ -774,6 +790,13 @@
break;
}
+ case VKI_XENMEM_add_to_physmap: {
+ struct vki_xen_add_to_physmap *arg =
+ (struct vki_xen_add_to_physmap *)ARG2;
+ if (arg->space == VKI_XENMAPSPACE_gmfn_range)
+ POST_MEM_WRITE(ARG2, sizeof(*arg));
+ }
+
case VKI_XENMEM_get_sharing_freed_pages:
case VKI_XENMEM_get_sharing_shared_pages:
/* No outputs */
Modified: trunk/include/vki/vki-xen-memory.h
==============================================================================
--- trunk/include/vki/vki-xen-memory.h (original)
+++ trunk/include/vki/vki-xen-memory.h Sun Dec 1 10:54:42 2013
@@ -46,6 +46,21 @@
unsigned int nr_extents; /* OUT */
};
+struct vki_xen_add_to_physmap {
+ vki_xen_domid_t domid;
+ vki_uint16_t size;
+
+#define VKI_XENMAPSPACE_shared_info 0
+#define VKI_XENMAPSPACE_grant_table 1
+#define VKI_XENMAPSPACE_gmfn 2
+#define VKI_XENMAPSPACE_gmfn_range 3
+#define VKI_XENMAPSPACE_gmfn_foreign 4
+
+ unsigned int space;
+ vki_xen_ulong_t idx;
+ vki_xen_pfn_t gpfn;
+};
+
#endif // __VKI_XEN_MEMORY_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2013-12-01 10:54:13
|
Author: bart
Date: Sun Dec 1 10:54:06 2013
New Revision: 13729
Log:
xen: XENMEM_machphys_mfn_list hypercall
The XENMEM_machphys_mfn_list implementation reads 'max_extents' and
'extents_start'. It writes to the array at 'extents_start', and writes the
number of extents written into the 'nr_extents' field.
From: Andrew Cooper <and...@ci...>
Signed-off-by: Andrew Cooper <and...@ci...>
Signed-off-by: Ian Campbell <ian...@ci...>
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-memory.h
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:54:06 2013
@@ -103,6 +103,16 @@
(Addr)ARG2, sizeof(vki_xen_domid_t));
break;
+ case VKI_XENMEM_machphys_mfn_list: {
+ struct vki_xen_machphys_mfn_list *arg =
+ (struct vki_xen_machphys_mfn_list *)ARG2;
+ PRE_MEM_READ("XENMEM_machphys_mfn_list max_extents",
+ (Addr)&arg->max_extents, sizeof(arg->max_extents));
+ PRE_MEM_READ("XENMEM_machphys_mfn_list extent_start",
+ (Addr)&arg->extent_start, sizeof(arg->extent_start));
+ break;
+ }
+
case VKI_XENMEM_set_memory_map: {
struct vki_xen_foreign_memory_map *arg =
(struct vki_xen_foreign_memory_map *)ARG2;
@@ -755,6 +765,15 @@
break;
}
+ case VKI_XENMEM_machphys_mfn_list: {
+ struct vki_xen_machphys_mfn_list *arg =
+ (struct vki_xen_machphys_mfn_list *)ARG2;
+ POST_MEM_WRITE((Addr)&arg->nr_extents, sizeof(arg->nr_extents));
+ POST_MEM_WRITE((Addr)arg->extent_start.p,
+ sizeof(vki_xen_pfn_t) * arg->nr_extents);
+ break;
+ }
+
case VKI_XENMEM_get_sharing_freed_pages:
case VKI_XENMEM_get_sharing_shared_pages:
/* No outputs */
Modified: trunk/include/vki/vki-xen-memory.h
==============================================================================
--- trunk/include/vki/vki-xen-memory.h (original)
+++ trunk/include/vki/vki-xen-memory.h Sun Dec 1 10:54:06 2013
@@ -40,6 +40,12 @@
vki_xen_domid_t domid;
};
+struct vki_xen_machphys_mfn_list {
+ unsigned int max_extents; /* IN */
+ VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start; /* OUT */
+ unsigned int nr_extents; /* OUT */
+};
+
#endif // __VKI_XEN_MEMORY_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2013-12-01 10:53:44
|
Author: bart
Date: Sun Dec 1 10:53:34 2013
New Revision: 13728
Log:
xen: XENMEM_maximum_gpfn hypercall
Xen reads a 16 bit domid from the pointer provided in ARG2, but does not write
anything back.
From: Andrew Cooper <and...@ci...>
Signed-off-by: Andrew Cooper <and...@ci...>
Signed-off-by: Ian Campbell <ian...@ci...>
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:53:34 2013
@@ -98,6 +98,11 @@
/* No inputs */
break;
+ case VKI_XENMEM_maximum_gpfn:
+ PRE_MEM_READ("XENMEM_maximum_gpfn domid",
+ (Addr)ARG2, sizeof(vki_xen_domid_t));
+ break;
+
case VKI_XENMEM_set_memory_map: {
struct vki_xen_foreign_memory_map *arg =
(struct vki_xen_foreign_memory_map *)ARG2;
@@ -737,6 +742,7 @@
case VKI_XENMEM_set_memory_map:
case VKI_XENMEM_decrease_reservation:
case VKI_XENMEM_claim_pages:
+ case VKI_XENMEM_maximum_gpfn:
/* No outputs */
break;
case VKI_XENMEM_increase_reservation:
|
|
From: <sv...@va...> - 2013-12-01 10:53:11
|
Author: bart
Date: Sun Dec 1 10:53:05 2013
New Revision: 13727
Log:
xen: XENMEM_maximum_ram_page hypercall
Xen does not read or write any memory for this hypercall
From: Andrew Cooper <and...@ci...>
Signed-off-by: Andrew Cooper <and...@ci...>
Signed-off-by: Ian Campbell <ian...@ci...>
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:53:05 2013
@@ -93,6 +93,11 @@
PRINT("__HYPERVISOR_memory_op ( %ld, %lx )", ARG1, ARG2);
switch (ARG1) {
+
+ case VKI_XENMEM_maximum_ram_page:
+ /* No inputs */
+ break;
+
case VKI_XENMEM_set_memory_map: {
struct vki_xen_foreign_memory_map *arg =
(struct vki_xen_foreign_memory_map *)ARG2;
@@ -728,6 +733,7 @@
POST(memory_op)
{
switch (ARG1) {
+ case VKI_XENMEM_maximum_ram_page:
case VKI_XENMEM_set_memory_map:
case VKI_XENMEM_decrease_reservation:
case VKI_XENMEM_claim_pages:
|
|
From: <sv...@va...> - 2013-12-01 10:52:29
|
Author: bart
Date: Sun Dec 1 10:52:22 2013
New Revision: 13726
Log:
xen: Infratructure for XEN_TMEM_* hypercalls
and an implementation of XEN_TMEM_control save_begin.
Xen will read various fields at various time, but write nothing back for a
save_begin subop.
From: Andrew Cooper <and...@ci...>
Signed-off-by: Andrew Cooper <and...@ci...>
Signed-off-by: Ian Campbell <ian...@ci...>
Added:
trunk/include/vki/vki-xen-tmem.h
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen.h
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:52:22 2013
@@ -670,6 +670,61 @@
#undef PRE_XEN_HVMOP_READ
}
+PRE(tmem_op)
+{
+ struct vki_xen_tmem_op *tmem = (struct vki_xen_tmem_op *)ARG1;
+
+ PRINT("__HYPERVISOR_tmem_op ( %d )", tmem->cmd);
+
+ /* Common part for xen_tmem_op:
+ * vki_uint32_t cmd;
+ */
+ PRE_MEM_READ("__HYPERVISOR_tmem_op cmd", ARG1, sizeof(vki_uint32_t));
+
+
+#define __PRE_XEN_TMEMOP_READ(_tmem, _union, _field) \
+ PRE_MEM_READ("XEN_tmem_op_" #_tmem " u." #_union "." #_field, \
+ (Addr)&tmem->u._union._field, \
+ sizeof(tmem->u._union._field))
+#define PRE_XEN_TMEMOP_READ(_tmem, _field) \
+ __PRE_XEN_TMEMOP_READ(_tmem, _tmem, _field)
+
+ switch(tmem->cmd) {
+
+ case VKI_XEN_TMEM_control:
+
+ /* Common part for control hypercall:
+ * vki_int32_t pool_id;
+ * vki_uint32_t subop;
+ */
+ PRE_MEM_READ("__HYPERVISOR_tmem_op pool_id",
+ (Addr)&tmem->pool_id, sizeof(&tmem->pool_id));
+ PRE_XEN_TMEMOP_READ(ctrl, subop);
+
+ switch (tmem->u.ctrl.subop) {
+
+ case VKI_XEN_TMEMC_save_begin:
+ PRE_XEN_TMEMOP_READ(ctrl, cli_id);
+ PRE_XEN_TMEMOP_READ(ctrl, arg1);
+ PRE_XEN_TMEMOP_READ(ctrl, buf);
+ break;
+
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_tmem_op_control", tmem->u.ctrl.subop);
+ }
+
+ break;
+
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_tmem_op", ARG1);
+ }
+
+#undef PRE_XEN_TMEMOP_READ
+#undef __PRE_XEN_TMEMOP_READ
+}
+
POST(memory_op)
{
switch (ARG1) {
@@ -1080,6 +1135,24 @@
#undef POST_XEN_HVMOP_WRITE
}
+POST(tmem_op)
+{
+ struct vki_xen_tmem_op *tmem = (struct vki_xen_tmem_op *)ARG1;
+
+ switch(tmem->cmd) {
+
+ case VKI_XEN_TMEM_control:
+
+ switch(tmem->u.ctrl.subop) {
+ /* No outputs */
+ case VKI_XEN_TMEMC_save_begin:
+ break;
+ }
+
+ break;
+ }
+}
+
typedef
struct {
SyscallTableEntry entry;
@@ -1140,7 +1213,7 @@
HYPXY(__VKI_XEN_sysctl, sysctl, 1), // 35
HYPXY(__VKI_XEN_domctl, domctl, 1), // 36
// __VKI_XEN_kexec_op // 37
- // __VKI_XEN_tmem_op // 38
+ HYPXY(__VKI_XEN_tmem_op, tmem_op, 1), // 38
};
static void bad_before ( ThreadId tid,
Added: trunk/include/vki/vki-xen-tmem.h
==============================================================================
--- trunk/include/vki/vki-xen-tmem.h (added)
+++ trunk/include/vki/vki-xen-tmem.h Sun Dec 1 10:52:22 2013
@@ -0,0 +1,75 @@
+#ifndef __VKI_XEN_TMEM_H
+#define __VKI_XEN_TMEM_H
+
+typedef VKI_XEN_GUEST_HANDLE(char) vki_xen_tmem_cli_va_t;
+
+
+/* version of ABI */
+#define VKI_XEN_TMEM_spec_version 1
+
+/* Commands to HYPERVISOR_tmem_op() */
+#define VKI_XEN_TMEM_control 0
+#define VKI_XEN_TMEM_new_pool 1
+#define VKI_XEN_TMEM_destroy_pool 2
+#define VKI_XEN_TMEM_new_page 3
+#define VKI_XEN_TMEM_put_page 4
+#define VKI_XEN_TMEM_get_page 5
+#define VKI_XEN_TMEM_flush_page 6
+#define VKI_XEN_TMEM_flush_object 7
+#define VKI_XEN_TMEM_read 8
+#define VKI_XEN_TMEM_write 9
+#define VKI_XEN_TMEM_xchg 10
+/* Privileged commands to HYPERVISOR_tmem_op() */
+#define VKI_XEN_tmem_auth 101
+#define VKI_XEN_tmem_restore_new 102
+
+/* for cmd = TMEM_CONTROL */
+struct vki_xen_tmem_ctrl {
+ vki_uint32_t subop;
+
+/* Subops for HYPERVISOR_tmem_op(TMEM_CONTROL) */
+#define VKI_XEN_TMEMC_thaw 0
+#define VKI_XEN_TMEMC_freeze 1
+#define VKI_XEN_TMEMC_flush 2
+#define VKI_XEN_TMEMC_destroy 3
+#define VKI_XEN_TMEMC_list 4
+#define VKI_XEN_TMEMC_set_weight 5
+#define VKI_XEN_TMEMC_set_cap 6
+#define VKI_XEN_TMEMC_set_compress 7
+#define VKI_XEN_TMEMC_query_freeable_mb 8
+#define VKI_XEN_TMEMC_save_begin 10
+#define VKI_XEN_TMEMC_save_get_version 11
+#define VKI_XEN_TMEMC_save_get_maxpools 12
+#define VKI_XEN_TMEMC_save_get_client_weight 13
+#define VKI_XEN_TMEMC_save_get_client_cap 14
+#define VKI_XEN_TMEMC_save_get_client_flags 15
+#define VKI_XEN_TMEMC_save_get_pool_flags 16
+#define VKI_XEN_TMEMC_save_get_pool_npages 17
+#define VKI_XEN_TMEMC_save_get_pool_uuid 18
+#define VKI_XEN_TMEMC_save_get_next_page 19
+#define VKI_XEN_TMEMC_save_get_next_inv 20
+#define VKI_XEN_TMEMC_save_end 21
+#define VKI_XEN_TMEMC_restore_begin 30
+#define VKI_XEN_TMEMC_restore_put_page 32
+#define VKI_XEN_TMEMC_restore_flush_page 33
+
+ vki_uint32_t cli_id;
+ vki_uint32_t arg1;
+ vki_uint32_t arg2;
+ vki_uint64_t oid[3];
+ vki_xen_tmem_cli_va_t buf;
+};
+
+struct vki_xen_tmem_op {
+ vki_uint32_t cmd;
+ vki_int32_t pool_id;
+ union {
+ struct vki_xen_tmem_ctrl ctrl;
+ } u;
+};
+
+#endif // __VKI_XEN_TMEM_H
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Modified: trunk/include/vki/vki-xen.h
==============================================================================
--- trunk/include/vki/vki-xen.h (original)
+++ trunk/include/vki/vki-xen.h Sun Dec 1 10:52:22 2013
@@ -58,6 +58,7 @@
#endif
DEFINE_VKI_XEN_GUEST_HANDLE(void);
+DEFINE_VKI_XEN_GUEST_HANDLE(char);
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t);
__DEFINE_VKI_XEN_GUEST_HANDLE(vki_ulong, unsigned long);
@@ -84,6 +85,7 @@
#include <vki/vki-xen-gnttab.h>
#include <vki/vki-xen-version.h>
#include <vki/vki-xen-hvm.h>
+#include <vki/vki-xen-tmem.h>
#endif // __VKI_XEN_H
|
|
From: <sv...@va...> - 2013-12-01 10:51:30
|
Author: bart
Date: Sun Dec 1 10:51:19 2013
New Revision: 13725
Log:
xen: Fix XEN_SYSCTL_getdomaininfolist for version 0xa
From: Andrew Cooper <and...@ci...>
Also add a default case so future bumps of the sysctl interface version dont
result in spurious passes of the IOCTL handler.
Signed-off-by: Andrew Cooper <and...@ci...>
Signed-off-by: Ian Campbell <ian...@ci...>
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-sysctl.h
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Sun Dec 1 10:51:19 2013
@@ -401,6 +401,17 @@
PRE_XEN_SYSCTL_READ(getdomaininfolist_00000009, max_domains);
PRE_XEN_SYSCTL_READ(getdomaininfolist_00000009, buffer);
break;
+ case 0x0000000a:
+ PRE_XEN_SYSCTL_READ(getdomaininfolist_0000000a, first_domain);
+ PRE_XEN_SYSCTL_READ(getdomaininfolist_0000000a, max_domains);
+ PRE_XEN_SYSCTL_READ(getdomaininfolist_0000000a, buffer);
+ break;
+ default:
+ VG_(dmsg)("WARNING: XEN_SYSCTL_getdomaininfolist for sysctl version "
+ "%"PRIx32" not implemented yet\n",
+ sysctl->interface_version);
+ SET_STATUS_Failure(VKI_EINVAL);
+ return;
}
break;
@@ -801,6 +812,12 @@
sizeof(*sysctl->u.getdomaininfolist_00000009.buffer.p)
* sysctl->u.getdomaininfolist_00000009.num_domains);
break;
+ case 0x0000000a:
+ POST_XEN_SYSCTL_WRITE(getdomaininfolist_0000000a, num_domains);
+ POST_MEM_WRITE((Addr)sysctl->u.getdomaininfolist_0000000a.buffer.p,
+ sizeof(*sysctl->u.getdomaininfolist_0000000a.buffer.p)
+ * sysctl->u.getdomaininfolist_0000000a.num_domains);
+ break;
}
break;
Modified: trunk/include/vki/vki-xen-sysctl.h
==============================================================================
--- trunk/include/vki/vki-xen-sysctl.h (original)
+++ trunk/include/vki/vki-xen-sysctl.h Sun Dec 1 10:51:19 2013
@@ -56,6 +56,15 @@
vki_uint32_t num_domains;
};
+struct vki_xen_sysctl_getdomaininfolist_0000000a {
+ /* IN variables. */
+ vki_xen_domid_t first_domain;
+ vki_uint32_t max_domains;
+ VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_getdomaininfo_00000009_t) buffer;
+ /* OUT variables. */
+ vki_uint32_t num_domains;
+};
+
#define VKI_XEN_SYSCTL_CPUPOOL_OP_CREATE 1 /* C */
#define VKI_XEN_SYSCTL_CPUPOOL_OP_DESTROY 2 /* D */
#define VKI_XEN_SYSCTL_CPUPOOL_OP_INFO 3 /* I */
@@ -139,6 +148,7 @@
//struct vki_xen_sysctl_perfc_op perfc_op;
struct vki_xen_sysctl_getdomaininfolist_00000008 getdomaininfolist_00000008;
struct vki_xen_sysctl_getdomaininfolist_00000009 getdomaininfolist_00000009;
+ struct vki_xen_sysctl_getdomaininfolist_0000000a getdomaininfolist_0000000a;
//struct vki_xen_sysctl_debug_keys debug_keys;
//struct vki_xen_sysctl_getcpuinfo getcpuinfo;
//struct vki_xen_sysctl_availheap availheap;
|