- valgrind.xen.patch: refresh

OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=170
This commit is contained in:
Dirk Mueller 2018-09-13 05:09:13 +00:00 committed by Git OBS Bridge
parent dbc142bc11
commit ee1cbd135f
2 changed files with 97 additions and 78 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Sep 13 05:08:58 UTC 2018 - dmueller@suse.com
- valgrind.xen.patch: refresh
-------------------------------------------------------------------
Tue Aug 28 19:39:14 UTC 2018 - stefan.bruens@rwth-aachen.de

View File

@ -15,52 +15,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
include/vki/vki-xen.h | 4
11 files changed, 831 insertions(+), 92 deletions(-)
--- a/coregrind/m_syswrap/syswrap-xen.c
+++ b/coregrind/m_syswrap/syswrap-xen.c
@@ -1279,7 +1279,7 @@ PRE(domctl)
switch (domctl->interface_version) {
case 0x000000b:
if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE ||
- domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE) {
+ domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_DISABLE) {
switch (domctl->u.monitor_op_0000000b.event) {
case VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
__PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.mov_to_cr);
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -7977,6 +7977,17 @@ PRE(sys_ioctl)
(Addr)args->arr, sizeof(*(args->arr)) * args->num);
break;
}
+ case VKI_XEN_IOCTL_PRIVCMD_DM_OP: {
+ struct vki_xen_privcmd_dm_op *args =
+ (struct vki_xen_privcmd_dm_op *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(dom)",
+ (Addr)&args->dom, sizeof(args->dom));
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(num)",
+ (Addr)&args->num, sizeof(args->num));
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(ubufs)",
+ (Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num);
+ break;
+ }
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: {
struct vki_xen_ioctl_evtchn_bind_virq *args =
@@ -10404,6 +10415,12 @@ POST(sys_ioctl)
POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num);
}
break;
+ case VKI_XEN_IOCTL_PRIVCMD_DM_OP: {
+ struct vki_xen_privcmd_dm_op *args =
+ (struct vki_xen_privcmd_dm_op *)(ARG3);
+ POST_MEM_WRITE((Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num);
+ }
+ break;
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ:
case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN:
--- a/coregrind/m_syswrap/syswrap-xen.c
+++ b/coregrind/m_syswrap/syswrap-xen.c
Index: valgrind-3.13.0/coregrind/m_syswrap/syswrap-xen.c
===================================================================
--- valgrind-3.13.0.orig/coregrind/m_syswrap/syswrap-xen.c
+++ valgrind-3.13.0/coregrind/m_syswrap/syswrap-xen.c
@@ -234,6 +234,16 @@ PRE(memory_op)
case VKI_XENMEM_get_sharing_shared_pages:
break;
@ -541,14 +499,17 @@ https://github.com/olafhering/valgrind/compare/master...xen
__PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, op);
__PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, mode);
break;
@@ -1278,6 +1487,7 @@ PRE(domctl)
@@ -1278,8 +1487,9 @@ PRE(domctl)
case VKI_XEN_DOMCTL_monitor_op:
switch (domctl->interface_version) {
case 0x000000b:
+ default:
if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE ||
domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_DISABLE) {
- domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE) {
+ domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_DISABLE) {
switch (domctl->u.monitor_op_0000000b.event) {
case VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
__PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.mov_to_cr);
@@ -1299,6 +1509,16 @@ PRE(domctl)
}
break;
@ -848,11 +809,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
__POST_XEN_DOMCTL_WRITE(vm_event_op, vm_event_op_0000000b, port);
break;
}
@@ -2142,6 +2489,46 @@ POST(domctl){
}
@@ -2143,6 +2490,46 @@ POST(domctl){
}
+ break;
break;
+ case 0x000000c:
+ case 0x000000d:
+ if (domctl->u.monitor_op_0000000c.op == VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES) {
@ -892,10 +852,11 @@ https://github.com/olafhering/valgrind/compare/master...xen
+ }
+ }
+
break;
+ break;
}
break;
@@ -2264,6 +2651,8 @@ static XenHypercallTableEntry hypercall_table[] = {
}
@@ -2264,6 +2651,8 @@ static XenHypercallTableEntry hypercall_
HYPXY(__VKI_XEN_domctl, domctl, 1), // 36
// __VKI_XEN_kexec_op // 37
HYPXY(__VKI_XEN_tmem_op, tmem_op, 1), // 38
@ -904,9 +865,46 @@ https://github.com/olafhering/valgrind/compare/master...xen
};
static void bad_before ( ThreadId tid,
--- a/include/vki/vki-linux.h
+++ b/include/vki/vki-linux.h
@@ -3334,12 +3334,27 @@ struct vki_xen_privcmd_mmapbatch_v2 {
Index: valgrind-3.13.0/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- valgrind-3.13.0.orig/coregrind/m_syswrap/syswrap-linux.c
+++ valgrind-3.13.0/coregrind/m_syswrap/syswrap-linux.c
@@ -7977,6 +7977,17 @@ PRE(sys_ioctl)
(Addr)args->arr, sizeof(*(args->arr)) * args->num);
break;
}
+ case VKI_XEN_IOCTL_PRIVCMD_DM_OP: {
+ struct vki_xen_privcmd_dm_op *args =
+ (struct vki_xen_privcmd_dm_op *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(dom)",
+ (Addr)&args->dom, sizeof(args->dom));
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(num)",
+ (Addr)&args->num, sizeof(args->num));
+ PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(ubufs)",
+ (Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num);
+ break;
+ }
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: {
struct vki_xen_ioctl_evtchn_bind_virq *args =
@@ -10404,6 +10415,12 @@ POST(sys_ioctl)
POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num);
}
break;
+ case VKI_XEN_IOCTL_PRIVCMD_DM_OP: {
+ struct vki_xen_privcmd_dm_op *args =
+ (struct vki_xen_privcmd_dm_op *)(ARG3);
+ POST_MEM_WRITE((Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num);
+ }
+ break;
case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ:
case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN:
Index: valgrind-3.13.0/include/vki/vki-linux.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-linux.h
+++ valgrind-3.13.0/include/vki/vki-linux.h
@@ -3329,12 +3329,27 @@ struct vki_xen_privcmd_mmapbatch_v2 {
int __user *err; /* array of error codes */
};
@ -934,8 +932,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
//----------------------------------------------------------------------
// Xen evtchn IOCTL
//----------------------------------------------------------------------
--- a/include/vki/vki-xen-domctl.h
+++ b/include/vki/vki-xen-domctl.h
Index: valgrind-3.13.0/include/vki/vki-xen-domctl.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-domctl.h
+++ valgrind-3.13.0/include/vki/vki-xen-domctl.h
@@ -37,7 +37,9 @@
* - 0x00000009: Xen 4.3 & 4.4
* - 0x0000000a: Xen 4.5
@ -1018,7 +1018,7 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_domctl_getdomaininfo_00000007 {
/* OUT variables. */
vki_xen_domid_t domain;
@@ -215,6 +267,7 @@ struct vki_xen_domctl_vcpuaffinity_0000000a {
@@ -215,6 +267,7 @@ struct vki_xen_domctl_vcpuaffinity_00000
vki_uint32_t vcpu; /* IN */
#define VKI_XEN_VCPUAFFINITY_HARD (1U<<0)
#define VKI_XEN_VCPUAFFINITY_SOFT (1U<<1)
@ -1081,7 +1081,7 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_domctl_pin_mem_cacheattr {
vki_xen_uint64_aligned_t start, end; /* IN */
@@ -464,6 +532,20 @@ struct vki_xen_domctl_assign_device_0000000b {
@@ -464,6 +532,20 @@ struct vki_xen_domctl_assign_device_0000
vki_uint32_t flag; /* flag of assigned device */
};
@ -1115,7 +1115,7 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_domctl_monitor_op_0000000b {
vki_uint32_t op; /* vki_xen_DOMCTL_MONITOR_OP_* */
@@ -553,6 +641,97 @@ struct vki_xen_domctl_monitor_op_0000000b {
@@ -553,6 +641,97 @@ struct vki_xen_domctl_monitor_op_0000000
} u;
};
@ -1273,9 +1273,11 @@ https://github.com/olafhering/valgrind/compare/master...xen
vki_uint8_t pad[128];
} u;
};
--- a/include/vki/vki-xen-gnttab.h
+++ b/include/vki/vki-xen-gnttab.h
@@ -42,6 +42,7 @@ typedef vki_uint32_t vki_xen_grant_ref_t;
Index: valgrind-3.13.0/include/vki/vki-xen-gnttab.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-gnttab.h
+++ valgrind-3.13.0/include/vki/vki-xen-gnttab.h
@@ -42,6 +42,7 @@ typedef vki_uint32_t vki_xen_grant_ref_t
#define VKI_XEN_GNTTABOP_get_status_frames 9
#define VKI_XEN_GNTTABOP_get_version 10
#define VKI_XEN_GNTTABOP_swap_grant_ref 11
@ -1283,8 +1285,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_gnttab_setup_table {
/* IN parameters. */
--- a/include/vki/vki-xen-memory.h
+++ b/include/vki/vki-xen-memory.h
Index: valgrind-3.13.0/include/vki/vki-xen-memory.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-memory.h
+++ valgrind-3.13.0/include/vki/vki-xen-memory.h
@@ -48,8 +48,12 @@
#define VKI_XENMEM_get_sharing_freed_pages 18
#define VKI_XENMEM_get_sharing_shared_pages 19
@ -1313,8 +1317,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_mem_event_op {
vki_uint8_t op;
vki_xen_domid_t domain;
--- a/include/vki/vki-xen-physdev.h
+++ b/include/vki/vki-xen-physdev.h
Index: valgrind-3.13.0/include/vki/vki-xen-physdev.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-physdev.h
+++ valgrind-3.13.0/include/vki/vki-xen-physdev.h
@@ -60,6 +60,15 @@ struct vki_xen_physdev_unmap_pirq {
int pirq;
};
@ -1331,17 +1337,21 @@ https://github.com/olafhering/valgrind/compare/master...xen
#endif // __VKI_XEN_PHYSDEV_H
/*--------------------------------------------------------------------*/
--- a/include/vki/vki-xen-schedop.h
+++ b/include/vki/vki-xen-schedop.h
@@ -47,4 +47,6 @@ typedef struct vki_xen_remote_shutdown vki_xen_remote_shutdown_t;
Index: valgrind-3.13.0/include/vki/vki-xen-schedop.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-schedop.h
+++ valgrind-3.13.0/include/vki/vki-xen-schedop.h
@@ -47,4 +47,6 @@ typedef struct vki_xen_remote_shutdown v
#define VKI_XEN_SCHEDOP_watchdog 6
+#define VKI_XEN_SCHEDOP_pin_override 7
+
#endif /* __VKI_XEN_SCHED_OP_H */
--- a/include/vki/vki-xen-sysctl.h
+++ b/include/vki/vki-xen-sysctl.h
Index: valgrind-3.13.0/include/vki/vki-xen-sysctl.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-sysctl.h
+++ valgrind-3.13.0/include/vki/vki-xen-sysctl.h
@@ -9,6 +9,11 @@
* - 0x00000009: Xen 4.2
* - 0x0000000a: Xen 4.3 & 4.4
@ -1422,7 +1432,7 @@ https://github.com/olafhering/valgrind/compare/master...xen
struct vki_xen_sysctl_physinfo_00000008 {
vki_uint32_t threads_per_core;
vki_uint32_t cores_per_socket;
@@ -159,6 +207,23 @@ struct vki_xen_sysctl_physinfo_0000000a {
@@ -159,6 +207,23 @@ struct vki_xen_sysctl_physinfo_0000000a
vki_uint32_t capabilities;
};
@ -1489,8 +1499,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
vki_uint8_t pad[128];
} u;
--- a/include/vki/vki-xen-version.h
+++ b/include/vki/vki-xen-version.h
Index: valgrind-3.13.0/include/vki/vki-xen-version.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen-version.h
+++ valgrind-3.13.0/include/vki/vki-xen-version.h
@@ -38,6 +38,7 @@
#define VKI_XENVER_pagesize 7
#define VKI_XENVER_guest_handle 8
@ -1516,8 +1528,10 @@ https://github.com/olafhering/valgrind/compare/master...xen
#endif // __VKI_XEN_VERSION_H
/*--------------------------------------------------------------------*/
--- a/include/vki/vki-xen.h
+++ b/include/vki/vki-xen.h
Index: valgrind-3.13.0/include/vki/vki-xen.h
===================================================================
--- valgrind-3.13.0.orig/include/vki/vki-xen.h
+++ valgrind-3.13.0/include/vki/vki-xen.h
@@ -69,6 +69,8 @@
#define __VKI_XEN_kexec_op 37
#define __VKI_XEN_tmem_op 38