Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:olh:xen-buildrequires
valgrind
valgrind.rename-HVMOP_inject_trap-struct.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File valgrind.rename-HVMOP_inject_trap-struct.patch of Package valgrind
From: Olaf Hering <olaf@aepfle.de> Date: Wed, 26 Feb 2020 15:56:30 +0100 Subject: rename HVMOP_inject_trap struct The implemented code to handle HVMOP_inject_trap handles the layout of Xen 4.2. Rename the code accordingly. Since hvm_op is unversioned, choose the Xen version as suffix. Make it conditional on Xen 4.2 or later. bz#390553 --- coregrind/m_syswrap/syswrap-xen.c | 22 +++++++++++++++------- include/vki/vki-xen-hvm.h | 4 ++-- 2 files changed, 17 insertions(+), 9 deletions(-) --- a/coregrind/m_syswrap/syswrap-xen.c +++ b/coregrind/m_syswrap/syswrap-xen.c @@ -1573,31 +1573,39 @@ PRE(hvm_op) break; case VKI_XEN_HVMOP_get_mem_access: PRE_XEN_HVMOP_READ(get_mem_access, domid); PRE_XEN_HVMOP_READ(get_mem_access, pfn); PRE_MEM_WRITE("XEN_HVMOP_get_mem_access *hvmmem_access", (Addr)&(((vki_xen_hvm_get_mem_access_t*)arg)->hvmmem_access), sizeof(vki_uint16_t)); break; case VKI_XEN_HVMOP_inject_trap: - PRE_XEN_HVMOP_READ(inject_trap, domid); - PRE_XEN_HVMOP_READ(inject_trap, vcpuid); - PRE_XEN_HVMOP_READ(inject_trap, vector); - PRE_XEN_HVMOP_READ(inject_trap, type); - PRE_XEN_HVMOP_READ(inject_trap, error_code); - PRE_XEN_HVMOP_READ(inject_trap, insn_len); - PRE_XEN_HVMOP_READ(inject_trap, cr2); + switch (vki_assumed_xenversion) { + case vki_xenversion_unset: + vki_report_unknown_xenversion("VKI_XEN_HVMOP_inject_trap"); + /* fallthrough */ + case vki_xenversion_402: + default: + PRE_XEN_HVMOP_READ(inject_trap_0402, domid); + PRE_XEN_HVMOP_READ(inject_trap_0402, vcpuid); + PRE_XEN_HVMOP_READ(inject_trap_0402, vector); + PRE_XEN_HVMOP_READ(inject_trap_0402, type); + PRE_XEN_HVMOP_READ(inject_trap_0402, error_code); + PRE_XEN_HVMOP_READ(inject_trap_0402, insn_len); + PRE_XEN_HVMOP_READ(inject_trap_0402, cr2); + break; + } break; case VKI_XEN_HVMOP_altp2m: { vki_xen_hvm_altp2m_op_t *altp2m_op = (vki_xen_hvm_altp2m_op_t *)arg; PRE_XEN_HVMOP_READ(altp2m_op, version); PRE_XEN_HVMOP_READ(altp2m_op, cmd); PRE_XEN_HVMOP_READ(altp2m_op, domain); PRE_XEN_HVMOP_READ(altp2m_op, pad1); PRE_XEN_HVMOP_READ(altp2m_op, pad2); switch (altp2m_op->cmd) { --- a/include/vki/vki-xen-hvm.h +++ b/include/vki/vki-xen-hvm.h @@ -86,34 +86,34 @@ struct vki_xen_hvm_set_mem_access { }; typedef struct vki_xen_hvm_set_mem_access vki_xen_hvm_set_mem_access_t; #define VKI_XEN_HVMOP_get_mem_access 13 struct vki_xen_hvm_get_mem_access { vki_xen_domid_t domid; vki_uint16_t hvmmem_access; /* OUT */ vki_uint64_t pfn; }; typedef struct vki_xen_hvm_get_mem_access vki_xen_hvm_get_mem_access_t; #define VKI_XEN_HVMOP_inject_trap 14 -struct vki_xen_hvm_inject_trap { +struct vki_xen_hvm_inject_trap_0402 { vki_xen_domid_t domid; vki_uint32_t vcpuid; vki_uint32_t vector; vki_uint32_t type; vki_uint32_t error_code; vki_uint32_t insn_len; vki_uint64_t cr2; }; -typedef struct vki_xen_hvm_inject_trap vki_xen_hvm_inject_trap_t; +typedef struct vki_xen_hvm_inject_trap_0402 vki_xen_hvm_inject_trap_0402_t; #define VKI_XEN_HVMOP_altp2m 25 #define VKI_XEN_HVMOP_altp2m_get_domain_state 1 #define VKI_XEN_HVMOP_altp2m_set_domain_state 2 #define VKI_XEN_HVMOP_altp2m_vcpu_enable_notify 3 #define VKI_XEN_HVMOP_altp2m_create_p2m 4 #define VKI_XEN_HVMOP_altp2m_destroy_p2m 5 #define VKI_XEN_HVMOP_altp2m_switch_p2m 6 #define VKI_XEN_HVMOP_altp2m_set_mem_access 7 #define VKI_XEN_HVMOP_altp2m_change_gfn 8 struct vki_xen_hvm_altp2m_domain_state { /* IN or OUT variable on/off */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor