File valgrind.adjust-name-of-domctl-mem_event_op_00000007.patch of Package valgrind

From: Olaf Hering <olaf@aepfle.de>
Date: Wed, 26 Feb 2020 17:24:11 +0100
Subject: adjust name of domctl mem_event_op_00000007

The implemented layout is from Xen 4.2.
Adjust the name to reflect the domctl interface version.
Remove the duplicated typedef.
Take the opportunity to use the future interface name from Xen 4.6.

bz#390553
---
 coregrind/m_syswrap/syswrap-xen.c | 11 +++--------
 include/vki/vki-xen-domctl.h      |  8 ++------
 2 files changed, 5 insertions(+), 14 deletions(-)

--- a/coregrind/m_syswrap/syswrap-xen.c
+++ b/coregrind/m_syswrap/syswrap-xen.c
@@ -1389,36 +1389,33 @@ PRE(domctl)
 
    case VKI_XEN_DOMCTL_set_access_required:
       PRE_XEN_DOMCTL_READ(access_required, access_required);
       break;
 
    case VKI_XEN_DOMCTL_mem_event_op:
    //case VKI_XEN_DOMCTL_vm_event_op: /* name change in 4.6 */
       switch (domctl->interface_version) {
       case 0x00000007: /* pre-4.6 */
       case 0x00000008:
       case 0x00000009:
       case 0x0000000a:
-         __PRE_XEN_DOMCTL_READ(mem_event_op, mem_event_op_00000007, op);
-         __PRE_XEN_DOMCTL_READ(mem_event_op, mem_event_op_00000007, mode);
-         break;
       case 0x0000000b:
       case 0x0000000c:
       case 0x0000000d:
       case 0x0000000e:
       case 0x0000000f:
       case 0x00000010:
       case 0x00000011:
-         __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, op);
-         __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, mode);
+         __PRE_XEN_DOMCTL_READ(mem_event_op, vm_event_op_00000008, op);
+         __PRE_XEN_DOMCTL_READ(mem_event_op, vm_event_op_00000008, mode);
          break;
       case 0x00000012:
          __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_00000012, op);
          __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_00000012, mode);
          __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_00000012, u.enable);
          break;
       }
       break;
 
    case VKI_XEN_DOMCTL_debug_op:
       PRE_XEN_DOMCTL_READ(debug_op, op);
       PRE_XEN_DOMCTL_READ(debug_op, vcpu);
@@ -2412,34 +2409,32 @@ POST(domctl){
          POST_MEM_WRITE((Addr)domctl->u.vcpu_msrs.msrs.p,
                         sizeof(vki_xen_domctl_vcpu_msr_t) *
                         domctl->u.vcpu_msrs.msr_count);
       break;
 
    case VKI_XEN_DOMCTL_mem_event_op:
    //case VKI_XEN_DOMCTL_vm_event_op: /* name change in 4.6 */
       switch (domctl->interface_version) {
       case 0x00000007: /* pre-4.6 */
       case 0x00000008:
       case 0x00000009:
       case 0x0000000a:
-         __POST_XEN_DOMCTL_WRITE(mem_event_op, mem_event_op_00000007, port);
-         break;
       case 0x0000000b:
       case 0x0000000c:
       case 0x0000000d:
       case 0x0000000e:
       case 0x0000000f:
       case 0x00000010:
       case 0x00000011:
-         __POST_XEN_DOMCTL_WRITE(vm_event_op, vm_event_op_0000000b, port);
+         __POST_XEN_DOMCTL_WRITE(mem_event_op, vm_event_op_00000008, port);
          break;
       case 0x00000012:
          __POST_XEN_DOMCTL_WRITE(vm_event_op, vm_event_op_00000012, u.enable.port);
          break;
       }
       break;
 
    case VKI_XEN_DOMCTL_monitor_op:
       switch (domctl->interface_version) {
       case 0x000000b:
           if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES) {
              switch(domctl->u.monitor_op_0000000b.event) {
--- a/include/vki/vki-xen-domctl.h
+++ b/include/vki/vki-xen-domctl.h
@@ -491,33 +491,30 @@ struct vki_xen_domctl_assign_device_0000000b {
     } u;
     /* IN */
 //#define XEN_DOMCTL_DEV_RDM_RELAXED      1
     vki_uint32_t  flag;   /* flag of assigned device */
 };
 
 struct vki_xen_domctl_debug_op {
     vki_uint32_t op;   /* IN */
     vki_uint32_t vcpu; /* IN */
 };
 typedef struct vki_xen_domctl_debug_op vki_xen_domctl_debug_op_t;
 
-struct vki_xen_domctl_mem_event_op_00000007 {
+struct vki_xen_domctl_vm_event_op_00000008 {
     vki_uint32_t op; /* IN */
     vki_uint32_t mode; /* IN */
     vki_uint32_t port; /* OUT */
 };
 
-/* only a name change in 4.6 */
-typedef struct vki_xen_domctl_mem_event_op_00000007 vki_xen_domctl_vm_event_op_0000000b;
-
 struct vki_xen_domctl_vm_event_op_00000012 {
     vki_uint32_t op; /* IN */
     vki_uint32_t mode; /* IN */
 
     union {
         struct {
             vki_uint32_t port; /* OUT */
         } enable;
 
         vki_uint32_t version;
     } u;
 };
@@ -697,26 +694,25 @@ struct vki_xen_domctl {
         //struct vki_xen_domctl_get_device_group  get_device_group;
         struct vki_xen_domctl_assign_device_00000007 assign_device_00000007;
         struct vki_xen_domctl_assign_device_0000000b assign_device_0000000b;
         //struct vki_xen_domctl_bind_pt_irq       bind_pt_irq;
         //struct vki_xen_domctl_memory_mapping    memory_mapping;
         //struct vki_xen_domctl_ioport_mapping    ioport_mapping;
         struct vki_xen_domctl_pin_mem_cacheattr pin_mem_cacheattr;
         struct vki_xen_domctl_ext_vcpucontext_00000008 ext_vcpucontext_00000008;
         struct vki_xen_domctl_ext_vcpucontext_00000009 ext_vcpucontext_00000009;
         //struct vki_xen_domctl_set_target        set_target;
         //struct vki_xen_domctl_subscribe         subscribe;
         struct vki_xen_domctl_debug_op          debug_op;
-        struct vki_xen_domctl_mem_event_op_00000007 mem_event_op_00000007;
-        vki_xen_domctl_vm_event_op_0000000b vm_event_op_0000000b;
+        struct vki_xen_domctl_vm_event_op_00000008 vm_event_op_00000008;
         struct vki_xen_domctl_vm_event_op_00000012 vm_event_op_00000012;
         //struct vki_xen_domctl_mem_sharing_op    mem_sharing_op;
 #if defined(__i386__) || defined(__x86_64__)
         struct vki_xen_domctl_cpuid             cpuid;
         struct vki_xen_domctl_vcpuextstate      vcpuextstate;
         struct vki_xen_domctl_vcpu_msrs         vcpu_msrs;
 #endif
         struct vki_xen_domctl_set_access_required access_required;
         //struct vki_xen_domctl_audit_p2m         audit_p2m;
         //struct vki_xen_domctl_set_virq_handler  set_virq_handler;
         struct vki_xen_domctl_set_max_evtchn    set_max_evtchn;
         //struct vki_xen_domctl_gdbsx_memio       gdbsx_guest_memio;
openSUSE Build Service is sponsored by