X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_usr%2Fv3_guest_mem.h;h=cacddd15818529e1e5b942bfd125c82f621a17af;hb=2dd1cacbcfe8c0c9acc1d04098e0e2e65a505202;hp=508f3514da2b092dbc5b047b0ac59c74d85e9a9f;hpb=4a3b35137e700165754d61c4e791c0a8e51c770c;p=palacios.git diff --git a/linux_usr/v3_guest_mem.h b/linux_usr/v3_guest_mem.h index 508f351..cacddd1 100644 --- a/linux_usr/v3_guest_mem.h +++ b/linux_usr/v3_guest_mem.h @@ -4,6 +4,13 @@ #include #include "v3_ctrl.h" + +#include "memtrack.h" + +/**************************/ +/* Access to guest memory */ +/**************************/ + struct v3_guest_mem_block { void *gpa; // guest physical address this region starts at void *cumgpa; // cumulative GPA in the VM including this block @@ -83,5 +90,25 @@ int v3_guest_mem_write(struct v3_guest_mem_map *map, void *gpa, uint64_t num_byt // hash the guest's data int v3_guest_mem_hash(struct v3_guest_mem_map *map, void *gpa, uint64_t num_bytes, uint64_t *hash); + +/********************************/ +/* Guest memory access tracking */ +/********************************/ + +#include "../linux_module/memtrack.h" + +int v3_guest_mem_track_start(char *vmdev, + v3_mem_track_access_t access, + v3_mem_track_reset_t reset, + uint64_t period); + +int v3_guest_mem_track_stop(char *vmdev); + +v3_mem_track_snapshot *v3_guest_mem_track_snapshot(char *vmdev); + +void v3_guest_mem_track_free_snapshot(v3_mem_track_snapshot *snap); + + + #endif