Changes in kernel/arch/ppc32/src/mm/frame.c [40c8c17:7e752b2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/mm/frame.c
r40c8c17 r7e752b2 40 40 #include <print.h> 41 41 42 uintptr_t last_frame = 0; 42 43 memmap_t memmap; 43 44 … … 53 54 } 54 55 55 static void frame_common_arch_init(bool low)56 void frame_arch_init(void) 56 57 { 57 58 pfn_t minconf = 2; … … 60 61 for (i = 0; i < memmap.cnt; i++) { 61 62 /* To be safe, make the available zone possibly smaller */ 62 uintptr_t base= ALIGN_UP((uintptr_t) memmap.zones[i].start,63 uintptr_t new_start = ALIGN_UP((uintptr_t) memmap.zones[i].start, 63 64 FRAME_SIZE); 64 size_t size = ALIGN_DOWN(memmap.zones[i].size -65 ( base- ((uintptr_t) memmap.zones[i].start)), FRAME_SIZE);65 size_t new_size = ALIGN_DOWN(memmap.zones[i].size - 66 (new_start - ((uintptr_t) memmap.zones[i].start)), FRAME_SIZE); 66 67 67 if (!frame_adjust_zone_bounds(low, &base, &size)) 68 return; 69 70 pfn_t pfn = ADDR2PFN(base); 71 size_t count = SIZE2FRAMES(size); 68 pfn_t pfn = ADDR2PFN(new_start); 69 size_t count = SIZE2FRAMES(new_size); 70 72 71 pfn_t conf; 73 74 if (low) { 75 if ((minconf < pfn) || (minconf >= pfn + count)) 76 conf = pfn; 77 else 78 conf = minconf; 79 zone_create(pfn, count, conf, 80 ZONE_AVAILABLE | ZONE_LOWMEM); 81 } else { 82 conf = zone_external_conf_alloc(count); 83 zone_create(pfn, count, conf, 84 ZONE_AVAILABLE | ZONE_HIGHMEM); 85 } 72 if ((minconf < pfn) || (minconf >= pfn + count)) 73 conf = pfn; 74 else 75 conf = minconf; 76 77 zone_create(pfn, count, conf, 0); 78 79 if (last_frame < ALIGN_UP(new_start + new_size, FRAME_SIZE)) 80 last_frame = ALIGN_UP(new_start + new_size, FRAME_SIZE); 86 81 } 87 88 }89 90 void frame_low_arch_init(void)91 {92 frame_common_arch_init(true);93 82 94 83 /* First is exception vector, second is 'implementation specific', … … 103 92 } 104 93 105 void frame_high_arch_init(void)106 {107 frame_common_arch_init(false);108 }109 110 94 /** @} 111 95 */
Note:
See TracChangeset
for help on using the changeset viewer.