Changeset da1bafb in mainline for kernel/arch/ppc32/src/mm/frame.c
- Timestamp:
- 2010-05-24T18:57:31Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0095368
- Parents:
- 666f492
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/mm/frame.c
r666f492 rda1bafb 45 45 void physmem_print(void) 46 46 { 47 unsigned int i;48 49 47 printf("Base Size\n"); 50 48 printf("---------- ----------\n"); 51 49 50 size_t i; 52 51 for (i = 0; i < memmap.cnt; i++) { 53 52 printf("%#10x %#10x\n", memmap.zones[i].start, 54 53 memmap.zones[i].size); 55 54 } 56 55 } … … 60 59 pfn_t minconf = 2; 61 60 size_t i; 62 pfn_t start, conf;63 size_t size;64 61 65 62 for (i = 0; i < memmap.cnt; i++) { 66 start = ADDR2PFN(ALIGN_UP((uintptr_t) memmap.zones[i].start, FRAME_SIZE)); 67 size = SIZE2FRAMES(ALIGN_DOWN(memmap.zones[i].size, FRAME_SIZE)); 63 pfn_t start = ADDR2PFN(ALIGN_UP((uintptr_t) memmap.zones[i].start, 64 FRAME_SIZE)); 65 size_t size = SIZE2FRAMES(ALIGN_DOWN(memmap.zones[i].size, FRAME_SIZE)); 68 66 67 pfn_t conf; 69 68 if ((minconf < start) || (minconf >= start + size)) 70 69 conf = start; … … 73 72 74 73 zone_create(start, size, conf, 0); 75 if (last_frame < ALIGN_UP((uintptr_t) memmap.zones[i].start + memmap.zones[i].size, FRAME_SIZE)) 76 last_frame = ALIGN_UP((uintptr_t) memmap.zones[i].start + memmap.zones[i].size, FRAME_SIZE); 74 if (last_frame < ALIGN_UP((uintptr_t) memmap.zones[i].start 75 + memmap.zones[i].size, FRAME_SIZE)) 76 last_frame = ALIGN_UP((uintptr_t) memmap.zones[i].start 77 + memmap.zones[i].size, FRAME_SIZE); 77 78 } 78 79 … … 82 83 83 84 /* Mark the Page Hash Table frames as unavailable */ 84 uint32_t sdr1; 85 asm volatile ( 86 "mfsdr1 %0\n" 87 : "=r" (sdr1) 88 ); 89 frame_mark_unavailable(ADDR2PFN(sdr1 & 0xffff000), 16); // FIXME 85 uint32_t sdr1 = sdr1_get(); 86 87 // FIXME: compute size of PHT exactly 88 frame_mark_unavailable(ADDR2PFN(sdr1 & 0xffff000), 16); 90 89 } 91 90
Note:
See TracChangeset
for help on using the changeset viewer.