Ignore:
File:
1 edited

Legend:

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

    r5c7be3e rc387838  
    4949#include <macros.h>
    5050#include <bitops.h>
    51 #include <proc/thread.h>
    5251
    5352static ra_arena_t *km_ni_arena;
     
    240239uintptr_t km_temporary_page_get(uintptr_t *framep, frame_flags_t flags)
    241240{
     241        uintptr_t frame;
     242        uintptr_t page;
     243
    242244        ASSERT(THREAD);
    243245        ASSERT(framep);
    244246        ASSERT(!(flags & ~(FRAME_NO_RESERVE | FRAME_ATOMIC)));
    245        
     247
    246248        /*
    247249         * Allocate a frame, preferably from high memory.
    248250         */
    249         uintptr_t page;
    250         uintptr_t frame;
    251 
    252         frame = frame_alloc(1, FRAME_HIGHMEM | FRAME_ATOMIC | flags, 0);
     251        frame = (uintptr_t) frame_alloc(ONE_FRAME,
     252            FRAME_HIGHMEM | FRAME_ATOMIC | flags);
    253253        if (frame) {
    254254                page = km_map(frame, PAGE_SIZE,
    255255                    PAGE_READ | PAGE_WRITE | PAGE_CACHEABLE);
    256                 if (!page) {   
    257                         frame_free(frame, 1);
    258                         goto lowmem;
    259                 }
     256                ASSERT(page);   // FIXME
    260257        } else {
    261 lowmem:
    262                 frame = frame_alloc(1, FRAME_LOWMEM | flags, 0);
     258                frame = (uintptr_t) frame_alloc(ONE_FRAME,
     259                    FRAME_LOWMEM | flags);
    263260                if (!frame)
    264261                        return (uintptr_t) NULL;
    265                
    266262                page = PA2KA(frame);
    267263        }
    268        
     264
    269265        *framep = frame;
    270         return page;
     266        return page;   
    271267}
    272268
Note: See TracChangeset for help on using the changeset viewer.