Changeset 53 for trunk/kernel/mm/ppm.h
- Timestamp:
- Jun 26, 2017, 4:22:00 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/mm/ppm.h
r50 r53 69 69 70 70 /***************************************************************************************** 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 /*****************************************************************************************84 71 * This is the low-level physical pages allocation function. 85 72 * It allocates N contiguous physical pages. N is a power of 2. … … 93 80 94 81 /***************************************************************************************** 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. 96 84 * In normal use, you do not need to call it directly, as the recommended way to free 97 85 * physical pages is to call the generic allocator defined in kmem.h. … … 100 88 ****************************************************************************************/ 101 89 void 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 ****************************************************************************************/ 98 void ppm_free_pages_nolock( page_t * page ); 102 99 103 100 /***************************************************************************************** … … 170 167 ***************************************************************************************** 171 168 * @ ppm : pointer on PPM allocator. 169 * @ return 0 if PPM is OK / return -1 if PPM not consistent. 172 170 ****************************************************************************************/ 173 voidppm_assert_order( ppm_t * ppm );171 error_t ppm_assert_order( ppm_t * ppm ); 174 172 175 173 #endif /* _PPM_H_ */
Note: See TracChangeset
for help on using the changeset viewer.