Changes in kernel/arch/ia32/src/mm/frame.c [142084b2:64f6ef04] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/mm/frame.c
r142084b2 r64f6ef04 131 131 if (last_frame < ALIGN_UP(new_base + new_size, FRAME_SIZE)) 132 132 last_frame = ALIGN_UP(new_base + new_size, FRAME_SIZE); 133 } else if ((e820table[i].type == MEMMAP_MEMORY_ACPI) || 134 (e820table[i].type == MEMMAP_MEMORY_NVS)) { 133 } 134 135 if (e820table[i].type == MEMMAP_MEMORY_RESERVED) { 136 /* To be safe, make the reserved zone possibly larger */ 137 uint64_t new_base = ALIGN_DOWN(base, FRAME_SIZE); 138 uint64_t new_size = ALIGN_UP(size + (base - new_base), 139 FRAME_SIZE); 140 141 zone_create(ADDR2PFN(new_base), SIZE2FRAMES(new_size), 0, 142 ZONE_RESERVED); 143 } 144 145 if (e820table[i].type == MEMMAP_MEMORY_ACPI) { 135 146 /* To be safe, make the firmware zone possibly larger */ 136 147 uint64_t new_base = ALIGN_DOWN(base, FRAME_SIZE); … … 140 151 zone_create(ADDR2PFN(new_base), SIZE2FRAMES(new_size), 0, 141 152 ZONE_FIRMWARE); 142 } else {143 /* To be safe, make the reserved zone possibly larger */144 uint64_t new_base = ALIGN_DOWN(base, FRAME_SIZE);145 uint64_t new_size = ALIGN_UP(size + (base - new_base),146 FRAME_SIZE);147 148 zone_create(ADDR2PFN(new_base), SIZE2FRAMES(new_size), 0,149 ZONE_RESERVED);150 153 } 151 154 } … … 200 203 #ifdef CONFIG_SMP 201 204 /* Reserve AP real mode bootstrap memory */ 202 frame_mark_unavailable(AP_BOOT_OFFSET >> FRAME_WIDTH, 205 frame_mark_unavailable(AP_BOOT_OFFSET >> FRAME_WIDTH, 203 206 (hardcoded_unmapped_ktext_size + 204 207 hardcoded_unmapped_kdata_size) >> FRAME_WIDTH);
Note:
See TracChangeset
for help on using the changeset viewer.