Ignore:
File:
1 edited

Legend:

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

    r7e752b2 re608cbe  
    695695 * not to be 2^order size. Once the allocator is running it is no longer
    696696 * possible, merged configuration data occupies more space :-/
    697  *
    698  * The function uses
    699697 *
    700698 */
     
    10881086}
    10891087
     1088void *frame_alloc(uint8_t order, frame_flags_t flags)
     1089{
     1090        return frame_alloc_generic(order, flags, NULL);
     1091}
     1092
     1093void *frame_alloc_noreserve(uint8_t order, frame_flags_t flags)
     1094{
     1095        return frame_alloc_generic(order, flags | FRAME_NO_RESERVE, NULL);
     1096}
     1097
    10901098/** Free a frame.
    10911099 *
     
    10951103 *
    10961104 * @param frame Physical Address of of the frame to be freed.
    1097  *
    1098  */
    1099 void frame_free(uintptr_t frame)
     1105 * @param flags Flags to control memory reservation.
     1106 *
     1107 */
     1108void frame_free_generic(uintptr_t frame, frame_flags_t flags)
    11001109{
    11011110        irq_spinlock_lock(&zones.lock, true);
     
    11251134        }
    11261135        mutex_unlock(&mem_avail_mtx);
     1136}
     1137
     1138void frame_free(uintptr_t frame)
     1139{
     1140        frame_free_generic(frame, 0);
     1141}
     1142
     1143void frame_free_noreserve(uintptr_t frame)
     1144{
     1145        frame_free_generic(frame, FRAME_NO_RESERVE);
    11271146}
    11281147
Note: See TracChangeset for help on using the changeset viewer.