LAST_CONTEXT
extern struct mm_struct *context_mm[LAST_CONTEXT+1];
ctx = find_next_zero_bit(context_map, LAST_CONTEXT+1, ctx);
if (ctx > LAST_CONTEXT)
next_mmu_context = (ctx + 1) & LAST_CONTEXT;
atomic_set(&nr_free_contexts, LAST_CONTEXT - FIRST_CONTEXT + 1);
unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1];
struct mm_struct *context_mm[LAST_CONTEXT+1];
extern struct mm_struct *context_mm[LAST_CONTEXT+1];
ctx = find_next_zero_bit(context_map, LAST_CONTEXT+1, ctx);
if (ctx > LAST_CONTEXT)
next_mmu_context = (ctx + 1) & LAST_CONTEXT;
unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1];
struct mm_struct *context_mm[LAST_CONTEXT+1];
atomic_set(&nr_free_contexts, LAST_CONTEXT - FIRST_CONTEXT + 1);
static unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1];
ctx = find_next_zero_bit(context_map, LAST_CONTEXT+1, ctx);
if (ctx > LAST_CONTEXT)
next_mmu_context = (ctx + 1) & LAST_CONTEXT;
max = LAST_CONTEXT - FIRST_CONTEXT;
if (id > LAST_CONTEXT)
for (id = FIRST_CONTEXT; id <= LAST_CONTEXT; id++) {
nr_free_contexts = LAST_CONTEXT - FIRST_CONTEXT;
if (id > LAST_CONTEXT)
id = find_next_zero_bit(map, LAST_CONTEXT+1, id);
if (id > LAST_CONTEXT)
context_mm = memblock_alloc_or_panic(sizeof(void *) * (LAST_CONTEXT + 1),
2 * CTX_MAP_SIZE + (sizeof(void *) * (LAST_CONTEXT + 1)),
LAST_CONTEXT - FIRST_CONTEXT + 1);
nr_free_contexts = LAST_CONTEXT - FIRST_CONTEXT + 1;
(sizeof(unsigned long) * (LAST_CONTEXT / BITS_PER_LONG + 1))