/kernel/trunk/generic/include/mm/frame.h |
---|
48,8 → 48,8 |
#define FRAME_NO_MEMORY 1 /* frame_alloc return status */ |
#define FRAME_ERROR 2 /* frame_alloc return status */ |
#define FRAME2ADDR(zone, frame) ((zone)->base + ((frame) - (zone)->frames) * FRAME_SIZE) |
#define ADDR2FRAME(zone, addr) (&((zone)->frames[((addr) - (zone)->base) / FRAME_SIZE])) |
#define FRAME2ADDR(zone, frame) ((zone)->base + (((frame) - (zone)->frames) << FRAME_WIDTH)) |
#define ADDR2FRAME(zone, addr) (&((zone)->frames[(((addr) - (zone)->base) >> FRAME_WIDTH)])) |
#define FRAME_INDEX(zone, frame) ((index_t)((frame) - (zone)->frames)) |
#define FRAME_INDEX_ABS(zone, frame) (((index_t)((frame) - (zone)->frames)) + (zone)->base_index) |
#define FRAME_INDEX_VALID(zone, index) (((index) >= 0) && ((index) < ((zone)->free_count + (zone)->busy_count))) |
/kernel/trunk/generic/src/mm/slab.c |
---|
86,8 → 86,7 |
} |
/* Fill in slab structures */ |
/* TODO: some better way of accessing the frame, although |
* the optimizer might optimize the division out :-/ */ |
/* TODO: some better way of accessing the frame */ |
for (i=0; i< (1<<cache->order); i++) { |
ADDR2FRAME(zone, (__address)(data+i*PAGE_SIZE))->parent = slab; |
} |
144,7 → 143,7 |
if (!slab) |
slab = obj2slab(obj); |
spinlock_lock(cache->lock); |
spinlock_lock(&cache->lock); |
*((int *)obj) = slab->nextavail; |
slab->nextavail = (obj - slab->start)/cache->size; |
165,7 → 164,7 |
spinlock_lock(&cache->lock); |
} |
spinlock_unlock(cache->lock); |
spinlock_unlock(&cache->lock); |
return frames; |
} |
/kernel/trunk/arch/sparc64/include/mm/frame.h |
---|
31,7 → 31,7 |
#include <arch/types.h> |
#define FRAME_WIDTH 13 |
#define FRAME_WIDTH 13 /* 8K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
union frame_address { |
/kernel/trunk/arch/ia64/include/mm/frame.h |
---|
29,7 → 29,7 |
#ifndef __ia64_FRAME_H__ |
#define __ia64_FRAME_H__ |
#define FRAME_WIDTH 14 |
#define FRAME_WIDTH 14 /* 16K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
extern void frame_arch_init(void); |
/kernel/trunk/arch/ppc32/include/mm/frame.h |
---|
29,7 → 29,8 |
#ifndef __ppc32_FRAME_H__ |
#define __ppc32_FRAME_H__ |
#define FRAME_SIZE 4096 |
#define FRAME_WIDTH 12 /* 4K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
extern void frame_arch_init(void); |
/kernel/trunk/arch/amd64/include/mm/frame.h |
---|
33,8 → 33,10 |
#include <arch/types.h> |
#endif /* __ASM__ */ |
#define FRAME_SIZE 4096 |
#define FRAME_WIDTH 12 /* 4K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
#ifndef __ASM__ |
extern __address last_frame; |
extern void frame_arch_init(void); |
/kernel/trunk/arch/mips32/include/mm/frame.h |
---|
29,7 → 29,8 |
#ifndef __mips32_FRAME_H__ |
#define __mips32_FRAME_H__ |
#define FRAME_SIZE 16384 |
#define FRAME_WIDTH 14 /* 16K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
extern void frame_arch_init(void); |
/kernel/trunk/arch/ia32/include/mm/frame.h |
---|
31,7 → 31,8 |
#include <arch/types.h> |
#define FRAME_SIZE 4096 |
#define FRAME_WIDTH 12 /* 4K */ |
#define FRAME_SIZE (1<<FRAME_WIDTH) |
extern __address last_frame; |