Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ddi/ddi.c

    rf72906c ra17cced  
    121121        backend_data.base = phys;
    122122        backend_data.frames = pages;
     123        backend_data.anonymous = false;
    123124       
    124125        /*
     
    329330       
    330331        size_t frames = SIZE2FRAMES(size);
    331         *phys = frame_alloc(frames, FRAME_NO_RESERVE, constraint);
     332        *phys = frame_alloc(frames, FRAME_ATOMIC, constraint);
    332333        if (*phys == 0)
    333334                return ENOMEM;
     
    336337        backend_data.base = *phys;
    337338        backend_data.frames = frames;
     339        backend_data.anonymous = true;
    338340       
    339341        if (!as_area_create(TASK->as, map_flags, size,
    340342            AS_AREA_ATTR_NONE, &phys_backend, &backend_data, virt, bound)) {
    341                 frame_free_noreserve(*phys, frames);
     343                frame_free(*phys, frames);
    342344                return ENOMEM;
    343345        }
     
    354356NO_TRACE static int dmamem_unmap_anonymous(uintptr_t virt)
    355357{
    356         // TODO: implement unlocking & unmap
    357         return EOK;
     358        return as_area_destroy(TASK->as, virt);
    358359}
    359360
Note: See TracChangeset for help on using the changeset viewer.