vm: add huge page order size definitions
This commit is contained in:
@@ -74,7 +74,7 @@ typedef enum vm_page_order {
|
||||
VM_PAGE_32M,
|
||||
VM_PAGE_64M,
|
||||
VM_PAGE_128M,
|
||||
#if 0
|
||||
|
||||
/* vm_page_t only has 4 bits to store the page order with.
|
||||
the maximum order that can be stored in 4 bits is 15 (VM_PAGE_128M)
|
||||
to use any of the page orders listed here, this field
|
||||
@@ -82,7 +82,12 @@ typedef enum vm_page_order {
|
||||
VM_PAGE_256M,
|
||||
VM_PAGE_512M,
|
||||
VM_PAGE_1G,
|
||||
#endif
|
||||
VM_PAGE_2G,
|
||||
VM_PAGE_4G,
|
||||
VM_PAGE_8G,
|
||||
VM_PAGE_16G,
|
||||
VM_PAGE_32G,
|
||||
VM_PAGE_64G,
|
||||
} vm_page_order_t;
|
||||
|
||||
typedef enum vm_page_flags {
|
||||
|
||||
13
vm/page.c
13
vm/page.c
@@ -22,7 +22,7 @@ static size_t page_order_bytes[] = {
|
||||
[VM_PAGE_32M] = 0x2000000,
|
||||
[VM_PAGE_64M] = 0x4000000,
|
||||
[VM_PAGE_128M] = 0x8000000,
|
||||
#if 0
|
||||
|
||||
/* vm can support pages of this size, but
|
||||
vm_page_t only has 4 bits with which to store
|
||||
the page order, which cannot accomodate these
|
||||
@@ -30,7 +30,12 @@ static size_t page_order_bytes[] = {
|
||||
[VM_PAGE_256M] = 0x10000000,
|
||||
[VM_PAGE_512M] = 0x20000000,
|
||||
[VM_PAGE_1G] = 0x40000000,
|
||||
#endif
|
||||
[VM_PAGE_2G] = 0x80000000,
|
||||
[VM_PAGE_4G] = 0x100000000,
|
||||
[VM_PAGE_8G] = 0x200000000,
|
||||
[VM_PAGE_16G] = 0x400000000,
|
||||
[VM_PAGE_32G] = 0x800000000,
|
||||
[VM_PAGE_64G] = 0x1000000000,
|
||||
};
|
||||
|
||||
phys_addr_t vm_virt_to_phys(void *p)
|
||||
@@ -90,7 +95,7 @@ size_t vm_page_get_pfn(vm_page_t *pg)
|
||||
|
||||
size_t vm_page_order_to_bytes(vm_page_order_t order)
|
||||
{
|
||||
if (order < 0 || order > VM_PAGE_MAX_ORDER) {
|
||||
if (order < VM_PAGE_4K || order > VM_PAGE_64G) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -99,7 +104,7 @@ size_t vm_page_order_to_bytes(vm_page_order_t order)
|
||||
|
||||
phys_addr_t vm_page_order_to_pages(vm_page_order_t order)
|
||||
{
|
||||
if (order < 0 || order > VM_PAGE_MAX_ORDER) {
|
||||
if (order < VM_PAGE_4K || order > VM_PAGE_64G) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user