X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_mem_hook.h;h=702ba441639d31d3813b38c87fd38a2bf1577be0;hb=a9a6c3664c8fdbdb9841a55d1a2fca7f4fa8f5de;hp=7184c689574066418423d64372bf1f34195e65c7;hpb=2a9554f33cc3bdaab08d59ac54d6dd1f4472285d;p=palacios.git diff --git a/palacios/include/palacios/vmm_mem_hook.h b/palacios/include/palacios/vmm_mem_hook.h index 7184c68..702ba44 100644 --- a/palacios/include/palacios/vmm_mem_hook.h +++ b/palacios/include/palacios/vmm_mem_hook.h @@ -24,12 +24,24 @@ #ifdef __V3VEE__ +struct hashtable; + struct v3_mem_hooks { - void * hook_hvas; // this is an array of pages, equal to the number of cores + /* Scratch memory pages for full hooks (1 per core) */ + void * hook_hvas_1; + + /* A second set of scratch memory pages */ + /* The ONLY reason this exists is because of 'rep cmps'... */ + void * hook_hvas_2; + struct list_head hook_list; + + /* We track memory hooks via a hash table */ + /* keyed to the memory region pointer */ + struct hashtable * reg_table; }; @@ -51,6 +63,7 @@ int v3_hook_write_mem(struct v3_vm_info * vm, uint16_t core_id, int v3_unhook_mem(struct v3_vm_info * vm, uint16_t core_id, addr_t guest_addr_start); + #endif /* ! __V3VEE__ */