Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/mm/frame.h

    r8cbf1c3 r3772af6  
    5050typedef uint8_t frame_flags_t;
    5151
    52 #define FRAME_NONE        0x00
     52#define FRAME_NONE        0x0
     53/** Convert the frame address to kernel VA. */
     54#define FRAME_KA          0x1
    5355/** Do not panic and do not sleep on failure. */
    54 #define FRAME_ATOMIC      0x01
     56#define FRAME_ATOMIC      0x2
    5557/** Do not start reclaiming when no free memory. */
    56 #define FRAME_NO_RECLAIM  0x02
     58#define FRAME_NO_RECLAIM  0x4
    5759/** Do not reserve / unreserve memory. */
    58 #define FRAME_NO_RESERVE  0x04
     60#define FRAME_NO_RESERVE  0x8
    5961/** Allocate a frame which can be identity-mapped. */
    60 #define FRAME_LOWMEM      0x08
     62#define FRAME_LOWMEM      0x10
    6163/** Allocate a frame which cannot be identity-mapped. */
    62 #define FRAME_HIGHMEM     0x10
     64#define FRAME_HIGHMEM     0x20
    6365
    6466typedef uint8_t zone_flags_t;
    6567
    66 #define ZONE_NONE       0x00
     68#define ZONE_NONE       0x0
    6769/** Available zone (free for allocation) */
    68 #define ZONE_AVAILABLE  0x01
     70#define ZONE_AVAILABLE  0x1
    6971/** Zone is reserved (not available for allocation) */
    70 #define ZONE_RESERVED   0x02
     72#define ZONE_RESERVED   0x2
    7173/** Zone is used by firmware (not available for allocation) */
    72 #define ZONE_FIRMWARE   0x04
     74#define ZONE_FIRMWARE   0x4
    7375/** Zone contains memory that can be identity-mapped */
    74 #define ZONE_LOWMEM     0x08
     76#define ZONE_LOWMEM     0x8
    7577/** Zone contains memory that cannot be identity-mapped */
    76 #define ZONE_HIGHMEM    0x10
     78#define ZONE_HIGHMEM    0x10
    7779
    7880/** Mask of zone bits that must be matched exactly. */
    79 #define ZONE_EF_MASK  0x07
     81#define ZONE_EF_MASK    0x7
    8082
    8183#define FRAME_TO_ZONE_FLAGS(ff) \
     
    136138NO_TRACE static inline size_t SIZE2FRAMES(size_t size)
    137139{
    138         if (size == 0)
     140        if (!size)
    139141                return 0;
    140        
    141142        return (size_t) ((size - 1) >> FRAME_WIDTH) + 1;
    142143}
     
    160161extern void frame_init(void);
    161162extern 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);
     163extern void *frame_alloc_generic(uint8_t, frame_flags_t, size_t *);
     164extern void *frame_alloc(uint8_t, frame_flags_t);
     165extern void *frame_alloc_noreserve(uint8_t, frame_flags_t);
    165166extern void frame_free_generic(uintptr_t, frame_flags_t);
    166167extern void frame_free(uintptr_t);
Note: See TracChangeset for help on using the changeset viewer.