Changes in kernel/generic/include/mm/frame.h [9dae191e:bbfdf62] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/frame.h
r9dae191e rbbfdf62 38 38 39 39 #include <typedefs.h> 40 #include <trace.h> 40 41 #include <adt/list.h> 41 42 #include <mm/buddy.h> … … 81 82 82 83 typedef struct { 83 size_t refcount; /**< Tracking of shared frames */84 size_t refcount; /**< Tracking of shared frames */ 84 85 uint8_t buddy_order; /**< Buddy system block order */ 85 86 link_t buddy_link; /**< Link to the next free block inside … … 91 92 pfn_t base; /**< Frame_no of the first frame 92 93 in the frames array */ 93 size_t count; /**< Size of zone */94 size_t free_count; /**< Number of free frame_t94 size_t count; /**< Size of zone */ 95 size_t free_count; /**< Number of free frame_t 95 96 structures */ 96 size_t busy_count; /**< Number of busy frame_t97 size_t busy_count; /**< Number of busy frame_t 97 98 structures */ 98 99 zone_flags_t flags; /**< Type of the zone */ … … 108 109 */ 109 110 typedef struct { 110 SPINLOCK_DECLARE(lock);111 IRQ_SPINLOCK_DECLARE(lock); 111 112 size_t count; 112 113 zone_t info[ZONES_MAX]; … … 115 116 extern zones_t zones; 116 117 117 static inline uintptr_t PFN2ADDR(pfn_t frame)118 NO_TRACE static inline uintptr_t PFN2ADDR(pfn_t frame) 118 119 { 119 120 return (uintptr_t) (frame << FRAME_WIDTH); 120 121 } 121 122 122 static inline pfn_t ADDR2PFN(uintptr_t addr)123 NO_TRACE static inline pfn_t ADDR2PFN(uintptr_t addr) 123 124 { 124 125 return (pfn_t) (addr >> FRAME_WIDTH); 125 126 } 126 127 127 static inline size_t SIZE2FRAMES(size_t size)128 NO_TRACE static inline size_t SIZE2FRAMES(size_t size) 128 129 { 129 130 if (!size) … … 132 133 } 133 134 134 static inline size_t FRAMES2SIZE(size_t frames)135 NO_TRACE static inline size_t FRAMES2SIZE(size_t frames) 135 136 { 136 137 return (size_t) (frames << FRAME_WIDTH); 137 138 } 138 139 139 static inline bool zone_flags_available(zone_flags_t flags)140 NO_TRACE static inline bool zone_flags_available(zone_flags_t flags) 140 141 { 141 142 return ((flags & (ZONE_RESERVED | ZONE_FIRMWARE)) == 0); … … 166 167 extern void frame_set_parent(pfn_t, void *, size_t); 167 168 extern void frame_mark_unavailable(pfn_t, size_t); 168 extern uintptr_t zone_conf_size(size_t);169 extern size_t zone_conf_size(size_t); 169 170 extern bool zone_merge(size_t, size_t); 170 171 extern void zone_merge_all(void);
Note:
See TracChangeset
for help on using the changeset viewer.