Changeset 30187eb in mainline for generic/include/mm/frame.h
- Timestamp:
- 2005-11-12T20:30:45Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a4be38d
- Parents:
- 6e8b3c8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/include/mm/frame.h
r6e8b3c8 r30187eb 1 1 /* 2 2 * Copyright (C) 2005 Jakub Jermar 3 * Copyright (C) 2005 Sergey Bondari 3 4 * All rights reserved. 4 5 * … … 39 40 #define FRAME_PANIC 2 /* panic on failure */ 40 41 41 #define FRAME2ADDR(zone, frame) ((zone)->base + ((frame) - (zone)->frames) * FRAME_SIZE) 42 #define ADDR2FRAME(zone, addr) (&((zone)->frames[((addr) - (zone)->base) / FRAME_SIZE])) 42 #define FRAME2ADDR(zone, frame) ((zone)->base + ((frame) - (zone)->frames) * FRAME_SIZE) 43 #define ADDR2FRAME(zone, addr) (&((zone)->frames[((addr) - (zone)->base) / FRAME_SIZE])) 44 #define FRAME_INDEX(zone, frame) ((count_t)((frame) - (zone)->frames)) 45 #define IS_BUDDY_LEFT_BLOCK(zone, frame) ((FRAME_INDEX((zone), (frame)) % (1 >> ((frame)->buddy_order + 1))) == 0) 46 #define IS_BUDDY_RIGHT_BLOCK(zone, frame) ((FRAME_INDEX((zone), (frame)) % (1 >> ((frame)->buddy_order + 1))) == (1 >> (frame)->buddy_order)) 47 48 43 49 44 50 struct zone { … … 52 58 count_t busy_count; /**< number of frame_t structures not in free list */ 53 59 54 buddy_system_t * buddy_system; /**< buddy system allocatorfor the zone */60 buddy_system_t * buddy_system; /**< buddy system for the zone */ 55 61 int flags; 56 62 }; … … 59 65 count_t refcount; /**< when == 0, the frame is in free list */ 60 66 link_t link; /**< link to zone free list when refcount == 0 */ 61 __u8 order; /**< buddy systemblock order */67 __u8 buddy_order; /**< buddy system block order */ 62 68 link_t buddy_link; /**< link to the next free block inside one order*/ 63 69 }; … … 76 82 extern void frame_not_free(__address addr); 77 83 extern void frame_region_not_free(__address start, __address stop); 84 zone_t * get_zone_by_frame(frame_t * frame); 78 85 79 86 /*
Note:
See TracChangeset
for help on using the changeset viewer.