Changes in kernel/arch/ia32/src/mm/frame.c [49ec568:9117ef9b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/mm/frame.c
r49ec568 r9117ef9b 46 46 #include <print.h> 47 47 48 #define PHYSMEM_LIMIT32 UINT64_C(0x100000000)49 50 48 size_t hardcoded_unmapped_ktext_size = 0; 51 49 size_t hardcoded_unmapped_kdata_size = 0; … … 58 56 uint64_t base64 = e820table[i].base_address; 59 57 uint64_t size64 = e820table[i].size; 60 58 61 59 #ifdef KARCH_ia32 62 60 /* 63 61 * Restrict the e820 table entries to 32-bits. 64 62 */ 65 if (base64 >= PHYSMEM_LIMIT32)63 if (base64 >= 0x100000000ULL) 66 64 continue; 67 68 if (base64 + size64 > PHYSMEM_LIMIT32) 69 size64 = PHYSMEM_LIMIT32 - base64; 65 if (base64 + size64 > 0x100000000ULL) 66 size64 -= base64 + size64 - 0x100000000ULL; 70 67 #endif 71 68 72 69 uintptr_t base = (uintptr_t) base64; 73 70 size_t size = (size_t) size64; … … 95 92 } else { 96 93 conf = zone_external_conf_alloc(count); 97 if (conf != 0) 98 zone_create(pfn, count, conf, 99 ZONE_AVAILABLE | ZONE_HIGHMEM); 94 zone_create(pfn, count, conf, 95 ZONE_AVAILABLE | ZONE_HIGHMEM); 100 96 } 101 97 } else if ((e820table[i].type == MEMMAP_MEMORY_ACPI) ||
Note:
See TracChangeset
for help on using the changeset viewer.