svn commit: r266412 - stable/10/sys/arm/arm
Ian Lepore
ian at FreeBSD.org
Sun May 18 17:46:49 UTC 2014
Author: ian
Date: Sun May 18 17:46:48 2014
New Revision: 266412
URL: http://svnweb.freebsd.org/changeset/base/266412
Log:
MFC 258287: Implement pmap_align_superpage().
Modified:
stable/10/sys/arm/arm/pmap-v6.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/arm/arm/pmap-v6.c
==============================================================================
--- stable/10/sys/arm/arm/pmap-v6.c Sun May 18 17:14:08 2014 (r266411)
+++ stable/10/sys/arm/arm/pmap-v6.c Sun May 18 17:46:48 2014 (r266412)
@@ -5089,6 +5089,20 @@ void
pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
vm_offset_t *addr, vm_size_t size)
{
+ vm_offset_t superpage_offset;
+
+ if (size < NBPDR)
+ return;
+ if (object != NULL && (object->flags & OBJ_COLORED) != 0)
+ offset += ptoa(object->pg_color);
+ superpage_offset = offset & PDRMASK;
+ if (size - ((NBPDR - superpage_offset) & PDRMASK) < NBPDR ||
+ (*addr & PDRMASK) == superpage_offset)
+ return;
+ if ((*addr & PDRMASK) < superpage_offset)
+ *addr = (*addr & ~PDRMASK) + superpage_offset;
+ else
+ *addr = ((*addr + PDRMASK) & ~PDRMASK) + superpage_offset;
}
/*
More information about the svn-src-stable-10
mailing list