Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/backend_phys.c

    r59fb782 r01029fc  
    111111 *
    112112 * @param area Pointer to the address space area.
    113  * @param upage Faulting virtual page.
     113 * @param addr Faulting virtual address.
    114114 * @param access Access mode that caused the fault (i.e. read/write/exec).
    115115 *
     
    117117 * serviced).
    118118 */
    119 int phys_page_fault(as_area_t *area, uintptr_t upage, pf_access_t access)
     119int phys_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access)
    120120{
    121121        uintptr_t base = area->backend_data.base;
     
    123123        ASSERT(page_table_locked(AS));
    124124        ASSERT(mutex_locked(&area->lock));
    125         ASSERT(IS_ALIGNED(upage, PAGE_SIZE));
    126125
    127126        if (!as_area_check_access(area, access))
    128127                return AS_PF_FAULT;
    129128
    130         ASSERT(upage - area->base < area->backend_data.frames * FRAME_SIZE);
    131         page_mapping_insert(AS, upage, base + (upage - area->base),
     129        ASSERT(addr - area->base < area->backend_data.frames * FRAME_SIZE);
     130        page_mapping_insert(AS, addr, base + (addr - area->base),
    132131            as_area_get_flags(area));
    133132       
    134         if (!used_space_insert(area, upage, 1))
     133        if (!used_space_insert(area, ALIGN_DOWN(addr, PAGE_SIZE), 1))
    135134                panic("Cannot insert used space.");
    136135
Note: See TracChangeset for help on using the changeset viewer.