Changeset 8cbf1c3 in mainline for kernel/generic/src/ddi/ddi.c


Ignore:
Timestamp:
2013-09-09T23:13:10Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e2a0d76
Parents:
c67dbd6
Message:

prepare the public API of the frame allocator for the new backend
remove FRAME_KA (can be easily implemented explicitly)

File:
1 edited

Legend:

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

    rc67dbd6 r8cbf1c3  
    314314
    315315NO_TRACE static int dmamem_map(uintptr_t virt, size_t size, unsigned int map_flags,
    316     unsigned int flags, void **phys)
     316    unsigned int flags, uintptr_t *phys)
    317317{
    318318        ASSERT(TASK);
     
    323323
    324324NO_TRACE static int dmamem_map_anonymous(size_t size, unsigned int map_flags,
    325     unsigned int flags, void **phys, uintptr_t *virt, uintptr_t bound)
     325    unsigned int flags, uintptr_t *phys, uintptr_t *virt, uintptr_t bound)
    326326{
    327327        ASSERT(TASK);
     
    336336                order = fnzb(pages - 1) + 1;
    337337       
    338         *phys = frame_alloc_noreserve(order, 0);
    339         if (*phys == NULL)
     338        *phys = frame_alloc_noreserve(order, 0, 0);
     339        if (*phys == 0)
    340340                return ENOMEM;
    341341       
    342342        mem_backend_data_t backend_data;
    343         backend_data.base = (uintptr_t) *phys;
     343        backend_data.base = *phys;
    344344        backend_data.frames = pages;
    345345       
    346346        if (!as_area_create(TASK->as, map_flags, size,
    347347            AS_AREA_ATTR_NONE, &phys_backend, &backend_data, virt, bound)) {
    348                 frame_free_noreserve((uintptr_t) *phys);
     348                frame_free_noreserve(*phys);
    349349                return ENOMEM;
    350350        }
     
    387387                 */
    388388               
    389                 void *phys;
     389                uintptr_t phys;
    390390                int rc = dmamem_map((uintptr_t) virt_ptr, size, map_flags,
    391391                    flags, &phys);
     
    404404                 */
    405405               
    406                 void *phys;
     406                uintptr_t phys;
    407407                uintptr_t virt = (uintptr_t) -1;
    408408                int rc = dmamem_map_anonymous(size, map_flags, flags,
Note: See TracChangeset for help on using the changeset viewer.