- Timestamp:
- 2006-02-02T15:04:41Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bc504ef2
- Parents:
- a294ad0
- Location:
- generic
- Files:
-
- 2 edited
-
include/mm/frame.h (modified) (1 diff)
-
src/mm/slab.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
generic/include/mm/frame.h
ra294ad0 r2d43f3e 49 49 #define FRAME_ERROR 2 /* frame_alloc return status */ 50 50 51 #define FRAME2ADDR(zone, frame) ((zone)->base + (( frame) - (zone)->frames) * FRAME_SIZE)52 #define ADDR2FRAME(zone, addr) (&((zone)->frames[(( addr) - (zone)->base) / FRAME_SIZE]))51 #define FRAME2ADDR(zone, frame) ((zone)->base + (((frame) - (zone)->frames) << FRAME_WIDTH)) 52 #define ADDR2FRAME(zone, addr) (&((zone)->frames[(((addr) - (zone)->base) >> FRAME_WIDTH)])) 53 53 #define FRAME_INDEX(zone, frame) ((index_t)((frame) - (zone)->frames)) 54 54 #define FRAME_INDEX_ABS(zone, frame) (((index_t)((frame) - (zone)->frames)) + (zone)->base_index) -
generic/src/mm/slab.c
ra294ad0 r2d43f3e 87 87 88 88 /* Fill in slab structures */ 89 /* TODO: some better way of accessing the frame, although 90 * the optimizer might optimize the division out :-/ */ 89 /* TODO: some better way of accessing the frame */ 91 90 for (i=0; i< (1<<cache->order); i++) { 92 91 ADDR2FRAME(zone, (__address)(data+i*PAGE_SIZE))->parent = slab; … … 145 144 slab = obj2slab(obj); 146 145 147 spinlock_lock( cache->lock);146 spinlock_lock(&cache->lock); 148 147 149 148 *((int *)obj) = slab->nextavail; … … 166 165 } 167 166 168 spinlock_unlock( cache->lock);167 spinlock_unlock(&cache->lock); 169 168 170 169 return frames;
Note:
See TracChangeset
for help on using the changeset viewer.
