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