Changeset 5d2ab23 in mainline for generic/include/mm/frame.h


Ignore:
Timestamp:
2006-01-17T20:52:33Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
64c44e8
Parents:
77147d6
Message:

Commit of the falloc_bad branch to trunk (719:723).

File:
1 edited

Legend:

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

    r77147d6 r5d2ab23  
    5050#define ADDR2FRAME(zone, addr)                  (&((zone)->frames[((addr) - (zone)->base) / FRAME_SIZE]))
    5151#define FRAME_INDEX(zone, frame)                ((index_t)((frame) - (zone)->frames))
     52#define FRAME_INDEX_ABS(zone, frame)            (((index_t)((frame) - (zone)->frames)) + (zone)->base_index)
    5253#define FRAME_INDEX_VALID(zone, index)          (((index) >= 0) && ((index) < ((zone)->free_count + (zone)->busy_count)))
    5354#define IS_BUDDY_ORDER_OK(index, order)         ((~(((__native) -1) << (order)) & (index)) == 0)
    5455#define IS_BUDDY_LEFT_BLOCK(zone, frame)        (((FRAME_INDEX((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0)
    5556#define IS_BUDDY_RIGHT_BLOCK(zone, frame)       (((FRAME_INDEX((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1)
     57#define IS_BUDDY_LEFT_BLOCK_ABS(zone, frame)    (((FRAME_INDEX_ABS((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0)
     58#define IS_BUDDY_RIGHT_BLOCK_ABS(zone, frame)   (((FRAME_INDEX_ABS((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1)
    5659
    5760#define ZONE_BLACKLIST_SIZE     4
     
    6265        SPINLOCK_DECLARE(lock); /**< this lock protects everything below */
    6366        __address base;         /**< physical address of the first frame in the frames array */
     67        index_t base_index;     /**< frame index offset of the zone base */
    6468        frame_t *frames;        /**< array of frame_t structures in this zone */
    6569        count_t free_count;     /**< number of free frame_t structures */
Note: See TracChangeset for help on using the changeset viewer.