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