X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fgeekos%2Fvmm.h;h=3b0b1e086381499e962c32792794b4017619e032;hb=701de97007c8b6776998eeab78469a4304f6b871;hp=8f0dfbc34d6888445b3c80a3f6b02c6e16e9aa97;hpb=b4963a8a43ca9103946f926e062e609e4498c2e2;p=palacios.releases.git diff --git a/palacios/include/geekos/vmm.h b/palacios/include/geekos/vmm.h index 8f0dfbc..3b0b1e0 100644 --- a/palacios/include/geekos/vmm.h +++ b/palacios/include/geekos/vmm.h @@ -39,7 +39,7 @@ -// We need to check the hook structure at runtime to ensure its SAFE +/* This clearly won't work, we need some way to get a return value out of it */ #define VMMMalloc(size) \ do { \ extern struct vmm_os_hooks * os_hooks; \ @@ -49,6 +49,16 @@ } while (0) \ +// We need to check the hook structure at runtime to ensure its SAFE +#define VMMFree(addr) \ + do { \ + extern struct vmm_os_hooks * os_hooks; \ + if ((os_hooks) && (os_hooks)->free) { \ + (os_hooks)->free(addr); \ + } \ + } while (0) \ + + /* ** */ @@ -62,8 +72,8 @@ typedef struct guest_info { ullong_t rip; ullong_t rsp; - vmm_mem_map_t mem_map; - // preallocation map + vmm_mem_list_t mem_list; + vmm_mem_layout_t mem_layout; // device_map void * vmm_data;