Changeset View
Changeset View
Standalone View
Standalone View
sys/mips/mips/pmap_mips64.c
Context not available. | |||||
{ | { | ||||
vm_offset_t superpage_offset; | vm_offset_t superpage_offset; | ||||
if (size < NBSEG) | if (size < PDRSIZE) | ||||
return; | return; | ||||
if (object != NULL && (object->flags & OBJ_COLORED) != 0) | if (object != NULL && (object->flags & OBJ_COLORED) != 0) | ||||
offset += ptoa(object->pg_color); | offset += ptoa(object->pg_color); | ||||
superpage_offset = offset & SEGMASK; | superpage_offset = offset & PDRMASK; | ||||
if (size - ((NBSEG - superpage_offset) & SEGMASK) < NBSEG || | if (size - ((PDRSIZE - superpage_offset) & PDRMASK) < PDRSIZE || | ||||
(*addr & SEGMASK) == superpage_offset) | (*addr & PDRMASK) == superpage_offset) | ||||
return; | return; | ||||
if ((*addr & SEGMASK) < superpage_offset) | if ((*addr & PDRMASK) < superpage_offset) | ||||
*addr = (*addr & ~SEGMASK) + superpage_offset; | *addr = (*addr & ~PDRMASK) + superpage_offset; | ||||
else | else | ||||
*addr = ((*addr + SEGMASK) & ~SEGMASK) + superpage_offset; | *addr = ((*addr + PDRMASK) & ~PDRMASK) + superpage_offset; | ||||
} | } | ||||
#ifdef DDB | #ifdef DDB | ||||
Context not available. |