vm: add huge page order size definitions

This commit is contained in:
2023-02-08 17:11:08 +00:00
parent d56fc961fa
commit b8eb88627a
2 changed files with 16 additions and 6 deletions

View File

@@ -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;
}