Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/src/mm/page.c

    re49e234 r7e752b2  
    4545}
    4646
    47 
    4847uintptr_t hw_map(uintptr_t physaddr, size_t size)
    4948{
    5049        if (last_frame + ALIGN_UP(size, PAGE_SIZE) >
    5150            KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH))
    52                 panic("Unable to map physical memory %p (%" PRIs " bytes).",
    53                     physaddr, size)
     51                panic("Unable to map physical memory %p (%zu bytes).",
     52                    (void *) physaddr, size);
    5453       
    5554        uintptr_t virtaddr = PA2KA(last_frame);
    5655        pfn_t i;
     56        page_table_lock(AS_KERNEL, true);
    5757        for (i = 0; i < ADDR2PFN(ALIGN_UP(size, PAGE_SIZE)); i++)
    5858                page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i),
    5959                    physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE | PAGE_WRITE);
     60        page_table_unlock(AS_KERNEL, true);
    6061       
    6162        last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE);
Note: See TracChangeset for help on using the changeset viewer.