X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fgeekos%2Fvmm_mem.h;fp=palacios%2Finclude%2Fgeekos%2Fvmm_mem.h;h=dd6ec34c2a1915597cfd632669682b2b3c084169;hb=2e05f3b8f738466246add183c55bcb17abf33ec9;hp=0000000000000000000000000000000000000000;hpb=ff58148c2cfbbc82405dc9ec25056cc93c773083;p=palacios.releases.git diff --git a/palacios/include/geekos/vmm_mem.h b/palacios/include/geekos/vmm_mem.h new file mode 100644 index 0000000..dd6ec34 --- /dev/null +++ b/palacios/include/geekos/vmm_mem.h @@ -0,0 +1,34 @@ +#ifndef __VMM_MEM_H +#define __VMM_MEM_H + + +#include + + +typedef struct mem_region { + ullong_t addr; + uint_t numPages; + + struct mem_region * next; + struct mem_region * prev; +} mem_region_t; + + +typedef struct vmm_mem_map { + uint_t num_pages; + bool long_mode; + + uint_t num_regions; + mem_region_t * head; + mem_region_t * tail; +} vmm_mem_map_t; + + +void init_mem_map(vmm_mem_map_t * map); + +void add_pages(vmm_mem_map_t * map, ullong_t addr, uint_t numPages); +int remove_pages(vmm_mem_map_t * map, ullong_t addr, uint_t numPages); + + + +#endif