diff options
author | bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-06-28 16:37:54 +0000 |
---|---|---|
committer | bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-06-28 16:37:54 +0000 |
commit | 2ca7830c57021eb90b1d1ac6104f77584e4e7a91 (patch) | |
tree | bb73e3e8fb51688ffebc320f40896b0f82543814 /include | |
parent | 368c0105c5d58904773b21e2365afdd0a4f0c54e (diff) | |
download | valgrind-2ca7830c57021eb90b1d1ac6104f77584e4e7a91.tar.gz |
xen: syswrap XEN_DOMCTL_[gs]et_vcpu_msrs
The XEN_DOMCTL_[gs]et_vcpu_msrs work simiarly to the other get/set pairs,
taking a vcpu, buffer and size. A query with a buffer of NULL is a request
for the maximum size.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15370 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'include')
-rw-r--r-- | include/vki/vki-xen-domctl.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/vki/vki-xen-domctl.h b/include/vki/vki-xen-domctl.h index 3b8c28b9e..ec69dff39 100644 --- a/include/vki/vki-xen-domctl.h +++ b/include/vki/vki-xen-domctl.h @@ -87,6 +87,8 @@ #define VKI_XEN_DOMCTL_getnodeaffinity 69 #define VKI_XEN_DOMCTL_set_max_evtchn 70 #define VKI_XEN_DOMCTL_cacheflush 71 +#define VKI_XEN_DOMCTL_get_vcpu_msrs 72 +#define VKI_XEN_DOMCTL_set_vcpu_msrs 73 #define VKI_XEN_DOMCTL_gdbsx_guestmemio 1000 #define VKI_XEN_DOMCTL_gdbsx_pausevcpu 1001 #define VKI_XEN_DOMCTL_gdbsx_unpausevcpu 1002 @@ -404,6 +406,20 @@ struct vki_xen_domctl_cacheflush { vki_xen_pfn_t start_pfn, nr_pfns; }; +struct vki_xen_domctl_vcpu_msr { + vki_uint32_t index; + vki_uint32_t reserved; + vki_xen_uint64_aligned_t value; +}; +typedef struct vki_xen_domctl_vcpu_msr vki_xen_domctl_vcpu_msr_t; +DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_vcpu_msr_t); + +struct vki_xen_domctl_vcpu_msrs { + vki_uint32_t vcpu; + vki_uint32_t msr_count; + VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_vcpu_msr_t) msrs; +}; + struct vki_xen_domctl { vki_uint32_t cmd; vki_uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */ @@ -457,6 +473,7 @@ struct vki_xen_domctl { #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; |