+ if (mp == swapmap &&
+ (first = DMMAX - bp->m_addr%DMMAX) < bp->m_size) {
+ if (bp->m_size - first < size)
+ continue;
+ a = bp->m_addr + first;
+ rest = bp->m_size - first - size;
+ bp->m_size = first;
+ if (rest)
+ mfree(swapmap, rest, a+size);
+ return (a);
+ }