Changeset 183 for trunk/kernel/mm


Ignore:
Timestamp:
Jul 11, 2017, 1:15:53 PM (7 years ago)
Author:
max@…
Message:

style

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/mm/mapper.c

    r53 r183  
    4848
    4949    // allocate memory for associated mapper
    50         req.type  = KMEM_MAPPER;
    51         req.size  = sizeof(mapper_t);
     50    req.type  = KMEM_MAPPER;
     51    req.size  = sizeof(mapper_t);
    5252    req.flags = AF_KERNEL | AF_ZERO;
    53         mapper    = (mapper_t *)kmem_alloc( &req );
     53    mapper    = (mapper_t *)kmem_alloc( &req );
    5454
    5555    if( mapper == NULL )
     
    6060
    6161    // initialize refcount & inode
    62         mapper->refcount = 0;
     62    mapper->refcount = 0;
    6363    mapper->inode    = NULL;
    6464
    6565    // initialize radix tree
    66         error = grdxt_init( &mapper->radix,
     66    error = grdxt_init( &mapper->radix,
    6767                        CONFIG_VMM_GRDXT_W1,
    6868                        CONFIG_VMM_GRDXT_W2,
     
    7272    {
    7373        printk("\n[ERROR] in %s : cannot initialize radix tree\n", __FUNCTION__ );
    74             req.type  = KMEM_MAPPER;
     74        req.type  = KMEM_MAPPER;
    7575        req.ptr   = mapper;
    7676        kmem_free( &req );
     
    7979
    8080    // initialize mapper lock
    81         rwlock_init(  &mapper->lock );
     81    rwlock_init(  &mapper->lock );
    8282
    8383    // initialize waiting threads xlist (empty)
    84         xlist_root_init( XPTR( local_cxy , &mapper->wait_root ) );
     84    xlist_root_init( XPTR( local_cxy , &mapper->wait_root ) );
    8585
    8686    // initialize vsegs xlist (empty)
    87         xlist_root_init( XPTR( local_cxy , &mapper->vsegs_root ) );
     87    xlist_root_init( XPTR( local_cxy , &mapper->vsegs_root ) );
    8888
    8989    return mapper;
    90 
    91 } // end mapper_create()
     90}
    9291
    9392///////////////////////////////////////////
     
    109108        {
    110109            // remove page from mapper and release to PPM
    111                 error = mapper_release_page( mapper , page );
     110            error = mapper_release_page( mapper , page );
    112111
    113112            if ( error ) return error;
     
    128127
    129128    return 0;
    130 
    131 }  // end mapper_destroy()
    132 
     129}
    133130
    134131////////////////////////////////////////////
     
    136133                          uint32_t   index )
    137134{
    138         kmem_req_t    req;
    139         page_t      * page;
    140         error_t       error;
     135    kmem_req_t    req;
     136    page_t      * page;
     137    error_t       error;
    141138
    142139    thread_t * this = CURRENT_THREAD;
     
    149146
    150147    // test if page available in mapper
    151     if( ( page == NULL) || page_is_flag( page , PG_INLOAD ) )  // page not available 
     148    if( ( page == NULL) || page_is_flag( page , PG_INLOAD ) )  // page not available
    152149    {
    153150        // release the lock in READ_MODE and take it in WRITE_MODE
     
    252249         return page;
    253250    }
    254 }  // end mapper_get_page()
     251}
    255252
    256253///////////////////////////////////////////////
     
    273270
    274271    // remove physical page from radix tree
    275         grdxt_remove( &mapper->radix , page->index );
     272    grdxt_remove( &mapper->radix , page->index );
    276273
    277274    // release mapper lock from WRITE_MODE
     
    279276
    280277    // release page to PPM
    281         kmem_req_t   req;
    282         req.type  = KMEM_PAGE;
     278    kmem_req_t   req;
     279    req.type  = KMEM_PAGE;
    283280    req.ptr   = page;
    284281    kmem_free( &req );
    285282
    286283    return 0;
    287 
    288 }  // end mapper_release_page()
     284}
    289285
    290286/////////////////////////////////////////
     
    316312    for( index = first ; index <= last ; index++ )
    317313    {
    318         // compute page_offset 
     314        // compute page_offset
    319315        if( index == first ) page_offset = min_byte & CONFIG_PPM_PAGE_MASK;
    320316        else                 page_offset = 0;
    321317
    322         // compute page_count 
     318        // compute page_count
    323319        if      ( first == last  ) page_count = size;
    324320        else if ( index == first ) page_count = CONFIG_PPM_PAGE_SIZE - page_offset;
     
    352348
    353349    return 0;
    354 
    355 }  // end mapper_move()
    356 
    357 
    358 
     350}
     351
Note: See TracChangeset for help on using the changeset viewer.