/kernel/trunk/generic/src/mm/as.c |
---|
224,6 → 224,8 |
return 0; |
} |
ASSERT(!(area->flags & AS_AREA_DEVICE)); |
page_table_lock(AS, false); |
/* |
447,6 → 449,17 |
return (__address) -1; |
} |
if (area->flags & AS_AREA_DEVICE) { |
/* |
* Remapping of address space areas associated |
* with memory mapped devices is not supported. |
*/ |
spinlock_unlock(&area->lock); |
spinlock_unlock(&as->lock); |
interrupts_restore(ipl); |
return (__address) -1; |
} |
pages = SIZE2FRAMES((address - area->base) + size); |
if (pages < area->pages) { |
int i; |