Changes in kernel/arch/ia32/src/mm/frame.c [40c8c17:49ec568] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/mm/frame.c
r40c8c17 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; … … 54 56 55 57 for (i = 0; i < e820counter; i++) { 56 uintptr_t base = (uintptr_t) e820table[i].base_address; 57 size_t size = (size_t) e820table[i].size; 58 uint64_t base64 = e820table[i].base_address; 59 uint64_t size64 = e820table[i].size; 60 61 #ifdef KARCH_ia32 62 /* 63 * Restrict the e820 table entries to 32-bits. 64 */ 65 if (base64 >= PHYSMEM_LIMIT32) 66 continue; 67 68 if (base64 + size64 > PHYSMEM_LIMIT32) 69 size64 = PHYSMEM_LIMIT32 - base64; 70 #endif 71 72 uintptr_t base = (uintptr_t) base64; 73 size_t size = (size_t) size64; 58 74 59 75 if (!frame_adjust_zone_bounds(low, &base, &size)) … … 79 95 } else { 80 96 conf = zone_external_conf_alloc(count); 81 zone_create(pfn, count, conf, 82 ZONE_AVAILABLE | ZONE_HIGHMEM); 97 if (conf != 0) 98 zone_create(pfn, count, conf, 99 ZONE_AVAILABLE | ZONE_HIGHMEM); 83 100 } 84 101 } else if ((e820table[i].type == MEMMAP_MEMORY_ACPI) ||
Note:
See TracChangeset
for help on using the changeset viewer.