From: Bart Van Assche Date: Sun, 28 Jun 2015 16:43:14 +0000 (+0000) Subject: xen: syswrap XEN_HVMOP_track_dirty_vram X-Git-Tag: svn/VALGRIND_3_11_0~268 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56e19e386db5970068ede1470bde09d5f74b0953;p=thirdparty%2Fvalgrind.git xen: syswrap XEN_HVMOP_track_dirty_vram Signed-off-by: Andrew Cooper git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15376 --- diff --git a/coregrind/m_syswrap/syswrap-xen.c b/coregrind/m_syswrap/syswrap-xen.c index 55963de075..763832a8f4 100644 --- a/coregrind/m_syswrap/syswrap-xen.c +++ b/coregrind/m_syswrap/syswrap-xen.c @@ -1066,6 +1066,18 @@ PRE(hvm_op) PRE_XEN_HVMOP_READ(set_pci_link_route, isa_irq); break; + case VKI_XEN_HVMOP_track_dirty_vram: { + vki_xen_hvm_track_dirty_vram_t *Arg = + (vki_xen_hvm_track_dirty_vram_t*)ARG2; + PRE_XEN_HVMOP_READ(track_dirty_vram, domid); + PRE_XEN_HVMOP_READ(track_dirty_vram, nr); + if ( Arg->nr ) { + PRE_XEN_HVMOP_READ(track_dirty_vram, first_pfn); + PRE_XEN_HVMOP_READ(track_dirty_vram, dirty_bitmap); + } + break; + } + case VKI_XEN_HVMOP_set_mem_type: PRE_XEN_HVMOP_READ(set_mem_type, domid); PRE_XEN_HVMOP_READ(set_mem_type, hvmmem_type); diff --git a/include/vki/vki-xen-hvm.h b/include/vki/vki-xen-hvm.h index f26e039114..45ef161154 100644 --- a/include/vki/vki-xen-hvm.h +++ b/include/vki/vki-xen-hvm.h @@ -26,6 +26,15 @@ struct vki_xen_hvm_set_pci_link_route { }; typedef struct vki_xen_hvm_set_pci_link_route vki_xen_hvm_set_pci_link_route_t; +#define VKI_XEN_HVMOP_track_dirty_vram 6 +struct vki_xen_hvm_track_dirty_vram { + vki_xen_domid_t domid; /* IN */ + vki_xen_uint64_aligned_t first_pfn; /* IN */ + vki_xen_uint64_aligned_t nr; /* IN */ + VKI_XEN_GUEST_HANDLE_64(vki_uint8) dirty_bitmap; /* OUT */ +}; +typedef struct vki_xen_hvm_track_dirty_vram vki_xen_hvm_track_dirty_vram_t; + #define VKI_XEN_HVMOP_set_mem_type 8 struct vki_xen_hvm_set_mem_type { vki_xen_domid_t domid;