Changes in kernel/arch/ppc32/src/mm/page.c [1c01e6c:1cab9972] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/mm/page.c
r1c01e6c r1cab9972 46 46 } 47 47 48 uintptr_t hw_map(uintptr_t physaddr, size_t size) 49 { 50 if (last_frame + ALIGN_UP(size, PAGE_SIZE) > 51 KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH)) 52 panic("Unable to map physical memory %p (%zu bytes).", 53 (void *) physaddr, size); 54 55 uintptr_t virtaddr = PA2KA(last_frame); 56 pfn_t i; 57 page_table_lock(AS_KERNEL, true); 58 for (i = 0; i < ADDR2PFN(ALIGN_UP(size, PAGE_SIZE)); i++) 59 page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), 60 physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE | PAGE_WRITE); 61 page_table_unlock(AS_KERNEL, true); 62 63 last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); 64 65 return virtaddr; 66 } 67 48 68 /** @} 49 69 */
Note:
See TracChangeset
for help on using the changeset viewer.