Changes in kernel/arch/sparc64/src/mm/sun4v/frame.c [720db0c:b781cb29] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/mm/sun4v/frame.c
r720db0c rb781cb29 47 47 void frame_arch_init(void) 48 48 { 49 unsigned int i; 50 pfn_t confdata; 51 49 52 if (config.cpu_active == 1) { 50 unsigned int i;51 52 53 for (i = 0; i < memmap.cnt; i++) { 53 /* To be safe, make the available zone possibly smaller */ 54 uintptr_t new_start = ALIGN_UP((uintptr_t) memmap.zones[i].start, 55 FRAME_SIZE); 56 size_t new_size = ALIGN_DOWN(memmap.zones[i].size - 57 (new_start - ((uintptr_t) memmap.zones[i].start)), FRAME_SIZE); 58 54 uintptr_t start = (uintptr_t) memmap.zones[i].start; 55 size_t size = memmap.zones[i].size; 56 59 57 /* 60 58 * The memmap is created by HelenOS boot loader. 61 59 * It already contains no holes. 62 60 */ 63 64 pfn_t confdata = ADDR2PFN(new_start); 65 61 62 confdata = ADDR2PFN(start); 66 63 if (confdata == ADDR2PFN(KA2PA(PFN2ADDR(0)))) 67 64 confdata = ADDR2PFN(KA2PA(PFN2ADDR(2))); 68 69 zone_create(ADDR2PFN(new_start), SIZE2FRAMES(new_size),65 zone_create(ADDR2PFN(start), 66 SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), 70 67 confdata, 0); 71 68 } 72 69 73 70 /* 74 71 * On sparc64, physical memory can start on a non-zero address.
Note:
See TracChangeset
for help on using the changeset viewer.