Changeset 53 for trunk/kernel/mm/ppm.h


Ignore:
Timestamp:
Jun 26, 2017, 4:22:00 PM (5 years ago)
Author:
alain
Message:

Compilation OK pout TSAR

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/mm/ppm.h

    r50 r53  
    6969
    7070/*****************************************************************************************
    71  * This function initializes a PPM (Physical Pages Manager) in a cluster.
    72  * The physical memory base address in all clusters is zero.
    73  * The physical memory size is NOT constrained to be smaller than 4 Gbytes.
    74  *****************************************************************************************
    75  * @ ppm          : pointer on physical pages manager.
    76  * @ pages_nr     : total physical memory size (number of 4 Kbytes pages).
    77  * @ pages_offset : number of pages already allocated in this physical memory.
    78  ****************************************************************************************/
    79 void ppm_init( ppm_t    * ppm,
    80                uint32_t   pages_nr,
    81                    uint32_t   pages_offset );
    82 
    83 /*****************************************************************************************
    8471 * This is the low-level physical pages allocation function.
    8572 * It allocates N contiguous physical pages. N is a power of 2.
     
    9380
    9481/*****************************************************************************************
    95  * This is the low-level physical pages release function.
     82 * This is the low-level physical pages release function. It takes the lock protecting
     83 * the free_list before register the released page in the relevant free_list.
    9684 * In normal use, you do not need to call it directly, as the recommended way to free
    9785 * physical pages is to call the generic allocator defined in kmem.h.
     
    10088 ****************************************************************************************/
    10189void ppm_free_pages( page_t * page );
     90
     91/*****************************************************************************************
     92 * This function does the same as the ppm_free_page() function, without taking the lock.
     93 * It is used by the hal_ppm_init() function to initialize the pages_tbl[] array, when
     94 * there is no concurrent access issue.
     95 *****************************************************************************************
     96 * @ page         : pointer to the page descriptor to be released
     97 ****************************************************************************************/
     98void ppm_free_pages_nolock( page_t * page );
    10299
    103100/*****************************************************************************************
     
    170167 *****************************************************************************************
    171168 * @ ppm      : pointer on PPM allocator.
     169 * @ return 0 if PPM is OK / return -1 if PPM not consistent.
    172170 ****************************************************************************************/
    173 void ppm_assert_order( ppm_t * ppm );
     171error_t ppm_assert_order( ppm_t * ppm );
    174172
    175173#endif  /* _PPM_H_ */
Note: See TracChangeset for help on using the changeset viewer.