Changeset 5f7a0ef in mainline for kernel/generic/include/mm/frame.h
- Timestamp:
- 2008-07-06T19:47:48Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 498b201
- Parents:
- 2ec725f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/frame.h
r2ec725f r5f7a0ef 58 58 #define ZONES_MAX 16 59 59 60 /** If possible, merge with neighbouring zones. */61 #define ZONE_JOIN 0x162 63 60 /** Convert the frame address to kernel va. */ 64 61 #define FRAME_KA 0x1 65 62 /** Do not panic and do not sleep on failure. */ 66 #define FRAME_ATOMIC 63 #define FRAME_ATOMIC 0x2 67 64 /** Do not start reclaiming when no free memory. */ 68 #define FRAME_NO_RECLAIM 0x4 65 #define FRAME_NO_RECLAIM 0x4 66 /** Do not allocate above 16GiB. */ 67 #define FRAME_LOW_16_GiB 0x8 69 68 70 69 static inline uintptr_t PFN2ADDR(pfn_t frame) … … 91 90 92 91 #define IS_BUDDY_ORDER_OK(index, order) \ 93 92 ((~(((unative_t) -1) << (order)) & (index)) == 0) 94 93 #define IS_BUDDY_LEFT_BLOCK(zone, frame) \ 95 94 (((frame_index((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0) 96 95 #define IS_BUDDY_RIGHT_BLOCK(zone, frame) \ 97 96 (((frame_index((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1) 98 97 #define IS_BUDDY_LEFT_BLOCK_ABS(zone, frame) \ 99 98 (((frame_index_abs((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0) 100 99 #define IS_BUDDY_RIGHT_BLOCK_ABS(zone, frame) \ 101 100 (((frame_index_abs((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1) 102 101 103 102 #define frame_alloc(order, flags) \ 104 103 frame_alloc_generic(order, flags, NULL) 105 104 106 105 extern void frame_init(void); 107 extern void *frame_alloc_generic(uint8_t order, int flags, unsigned int *pzone);108 extern void frame_free(uintptr_t frame);109 extern void frame_reference_add(pfn_t pfn);106 extern void *frame_alloc_generic(uint8_t, int, unsigned int *); 107 extern void frame_free(uintptr_t); 108 extern void frame_reference_add(pfn_t); 110 109 111 extern int zone_create(pfn_t start, count_t count, pfn_t confframe, int flags);112 extern void *frame_get_parent(pfn_t frame, unsigned int hint);113 extern void frame_set_parent(pfn_t frame, void *data, unsigned int hint);114 extern void frame_mark_unavailable(pfn_t start, count_t count);115 extern uintptr_t zone_conf_size(count_t count);116 extern void zone_merge(unsigned int z1, unsigned int z2);110 extern int zone_create(pfn_t, count_t, pfn_t, int); 111 extern void *frame_get_parent(pfn_t, unsigned int); 112 extern void frame_set_parent(pfn_t, void *, unsigned int); 113 extern void frame_mark_unavailable(pfn_t, count_t); 114 extern uintptr_t zone_conf_size(count_t); 115 extern void zone_merge(unsigned int, unsigned int); 117 116 extern void zone_merge_all(void); 118 117 extern uint64_t zone_total_size(void); … … 122 121 */ 123 122 extern void zone_print_list(void); 124 extern void zone_print_one(unsigned int znum);123 extern void zone_print_one(unsigned int); 125 124 126 125 #endif
Note:
See TracChangeset
for help on using the changeset viewer.