X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_paging.h;h=ca426afd79226f173151155f3778dbbab9e7b0ed;hb=d3fa9d0b82291fafc35ce9bb7e777256d78c0ecd;hp=3026e67ae11ae750607339d36c247832d06bfb1e;hpb=fcc9962fe5d3b877f8f25de8745d0d4d1eaf394e;p=palacios.git diff --git a/palacios/include/palacios/vmm_paging.h b/palacios/include/palacios/vmm_paging.h index 3026e67..ca426af 100644 --- a/palacios/include/palacios/vmm_paging.h +++ b/palacios/include/palacios/vmm_paging.h @@ -133,12 +133,14 @@ typedef enum {PAGE_4KB, PAGE_2MB, PAGE_4MB, PAGE_1GB, #define PAGE_BASE_ADDR_2MB(x) ((x) >> 21) #define PAGE_BASE_ADDR_4MB(x) ((x) >> 22) #define PAGE_BASE_ADDR_1GB(x) ((x) >> 30) +#define PAGE_BASE_ADDR_512GB(x) ((x) >> 39) #define BASE_TO_PAGE_ADDR(x) (((addr_t)x) << 12) #define BASE_TO_PAGE_ADDR_4KB(x) (((addr_t)x) << 12) #define BASE_TO_PAGE_ADDR_2MB(x) (((addr_t)x) << 21) #define BASE_TO_PAGE_ADDR_4MB(x) (((addr_t)x) << 22) #define BASE_TO_PAGE_ADDR_1GB(x) (((addr_t)x) << 30) +#define BASE_TO_PAGE_ADDR_512GB(x) (((addr_t)x) << 39) /* *** */ @@ -166,6 +168,7 @@ typedef enum {PAGE_4KB, PAGE_2MB, PAGE_4MB, PAGE_1GB, #define PAGE_SIZE_2MB (4096 * 512) #define PAGE_SIZE_4MB (4096 * 1024) #define PAGE_SIZE_1GB 0x40000000 +#define PAGE_SIZE_512GB (512ULL * PAGE_SIZE_1GB) /* *** */ @@ -570,6 +573,7 @@ pdpe32pae_t * create_passthrough_pts_32PAE(struct guest_info * guest_info); pml4e64_t * create_passthrough_pts_64(struct guest_info * info); +// note that these take host virtual addresses void delete_page_tables_32(pde32_t * pde); void delete_page_tables_32pae(pdpe32pae_t * pdpe); void delete_page_tables_64(pml4e64_t * pml4);