Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3207 → Rev 3208

/trunk/kernel/generic/include/mm/frame.h
63,8 → 63,8
#define FRAME_ATOMIC 0x2
/** Do not start reclaiming when no free memory. */
#define FRAME_NO_RECLAIM 0x4
/** Do not allocate above 16GiB. */
#define FRAME_LOW_16_GiB 0x8
/** Do not allocate above 4 GiB. */
#define FRAME_LOW_4_GiB 0x8
 
static inline uintptr_t PFN2ADDR(pfn_t frame)
{
/trunk/kernel/generic/src/mm/frame.c
265,7 → 265,7
unsigned int hint = pzone ? *pzone : 0;
/* Mask off flags that are not applicable. */
flags &= FRAME_LOW_16_GiB;
flags &= FRAME_LOW_4_GiB;
 
spinlock_lock(&zones.lock);
if (hint >= zones.count)
823,10 → 823,10
z->count = count;
 
/* Mask off flags that are calculated automatically. */
flags &= ~FRAME_LOW_16_GiB;
flags &= ~FRAME_LOW_4_GiB;
/* Determine calculated flags. */
if (z->base + count < (1ULL << (34 - FRAME_WIDTH))) /* 16 GiB */
flags |= FRAME_LOW_16_GiB;
if (z->base + count < (1ULL << (32 - FRAME_WIDTH))) /* 4 GiB */
flags |= FRAME_LOW_4_GiB;
 
z->flags = flags;