Changeset 23 for trunk/kernel/mm/page.c


Ignore:
Timestamp:
Jun 18, 2017, 10:06:41 PM (5 years ago)
Author:
alain
Message:

Introduce syscalls.

File:
1 edited

Legend:

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

    r22 r23  
    33 *
    44 * Authors  Ghassan Almaless (2008,2009,2010,2011,2012)
    5  *          Alain Greiner    (2016)
     5 *          Alain Greiner    (2016,2017)
    66 *
    77 * Copyright (c) UPMC Sorbonne Universites
     
    4444        page->flags    = 0;
    4545        page->order    = 0;
     46        page->mapper   = NULL;
    4647        page->index    = 0;
    47         page->mapper   = NULL;
    48         page->private  = 0;
     48        page->fork_nr  = 0;
    4949        page->refcount = 0;
     50
    5051        spinlock_init( &page->lock );
    5152        list_entry_init( &page->list );
     53    xlist_root_init( XPTR( local_cxy , &page->wait_root ) );
    5254}
    5355
    5456////////////////////////////////////////////
    5557inline void page_set_flag( page_t   * page,
    56                            uint16_t   value )
     58                           uint32_t   value )
    5759{
    5860        hal_atomic_or( (uint32_t *)&page->flags , (uint32_t)value );
     
    6163//////////////////////////////////////////////
    6264inline void page_clear_flag( page_t   * page,
    63                              uint16_t   value )
     65                             uint32_t   value )
    6466{
    6567        hal_atomic_and( (uint32_t *)&page->flags , ~((uint32_t)value) );
     
    6870//////////////////////////////////////////////
    6971inline bool_t page_is_flag( page_t   * page,
    70                             uint16_t   value )
    71 {
    72         return (bool_t)(page->flags & value);
     72                            uint32_t   value )
     73{
     74    return ( (page->flags & value) ? 1 : 0 );
    7375}
    7476
     
    150152
    151153                // sync the page
    152                 mapper_sync_page( mapper , index , page );
     154                vfs_move_page_from_mapper( page );
    153155
    154156                // unlock the page
     
    226228inline void page_refcount_up( page_t *page )
    227229{
    228         hal_atomic_inc( &page->refcount );
     230    hal_atomic_add( &page->refcount , +1 );
    229231}
    230232
     
    232234inline void page_refcount_down( page_t *page )
    233235{
    234         hal_atomic_dec( &page->refcount );
     236    hal_atomic_add( &page->refcount , -1 );
    235237}
    236238
Note: See TracChangeset for help on using the changeset viewer.