Changes in kernel/generic/include/mm/frame.h [3772af6:8cbf1c3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/frame.h
r3772af6 r8cbf1c3 50 50 typedef uint8_t frame_flags_t; 51 51 52 #define FRAME_NONE 0x0 53 /** Convert the frame address to kernel VA. */ 54 #define FRAME_KA 0x1 52 #define FRAME_NONE 0x00 55 53 /** Do not panic and do not sleep on failure. */ 56 #define FRAME_ATOMIC 0x 254 #define FRAME_ATOMIC 0x01 57 55 /** Do not start reclaiming when no free memory. */ 58 #define FRAME_NO_RECLAIM 0x 456 #define FRAME_NO_RECLAIM 0x02 59 57 /** Do not reserve / unreserve memory. */ 60 #define FRAME_NO_RESERVE 0x 858 #define FRAME_NO_RESERVE 0x04 61 59 /** Allocate a frame which can be identity-mapped. */ 62 #define FRAME_LOWMEM 0x1060 #define FRAME_LOWMEM 0x08 63 61 /** Allocate a frame which cannot be identity-mapped. */ 64 #define FRAME_HIGHMEM 0x2062 #define FRAME_HIGHMEM 0x10 65 63 66 64 typedef uint8_t zone_flags_t; 67 65 68 #define ZONE_NONE 0x066 #define ZONE_NONE 0x00 69 67 /** Available zone (free for allocation) */ 70 #define ZONE_AVAILABLE 0x 168 #define ZONE_AVAILABLE 0x01 71 69 /** Zone is reserved (not available for allocation) */ 72 #define ZONE_RESERVED 0x 270 #define ZONE_RESERVED 0x02 73 71 /** Zone is used by firmware (not available for allocation) */ 74 #define ZONE_FIRMWARE 0x 472 #define ZONE_FIRMWARE 0x04 75 73 /** Zone contains memory that can be identity-mapped */ 76 #define ZONE_LOWMEM 0x874 #define ZONE_LOWMEM 0x08 77 75 /** Zone contains memory that cannot be identity-mapped */ 78 #define ZONE_HIGHMEM 76 #define ZONE_HIGHMEM 0x10 79 77 80 78 /** Mask of zone bits that must be matched exactly. */ 81 #define ZONE_EF_MASK 0x779 #define ZONE_EF_MASK 0x07 82 80 83 81 #define FRAME_TO_ZONE_FLAGS(ff) \ … … 138 136 NO_TRACE static inline size_t SIZE2FRAMES(size_t size) 139 137 { 140 if ( !size)138 if (size == 0) 141 139 return 0; 140 142 141 return (size_t) ((size - 1) >> FRAME_WIDTH) + 1; 143 142 } … … 161 160 extern void frame_init(void); 162 161 extern bool frame_adjust_zone_bounds(bool, uintptr_t *, size_t *); 163 extern void *frame_alloc_generic(uint8_t, frame_flags_t, size_t *);164 extern void *frame_alloc(uint8_t, frame_flags_t);165 extern void *frame_alloc_noreserve(uint8_t, frame_flags_t);162 extern uintptr_t frame_alloc_generic(uint8_t, frame_flags_t, uintptr_t, size_t *); 163 extern uintptr_t frame_alloc(uint8_t, frame_flags_t, uintptr_t); 164 extern uintptr_t frame_alloc_noreserve(uint8_t, frame_flags_t, uintptr_t); 166 165 extern void frame_free_generic(uintptr_t, frame_flags_t); 167 166 extern void frame_free(uintptr_t);
Note:
See TracChangeset
for help on using the changeset viewer.