mirror of
https://github.com/opnsense/src.git
synced 2026-04-23 23:28:37 -04:00
Implement pmap_align_superpage on arm64 based on the amd64 implementation.
This will be needed when superpage support is added. Obtained from: ABT Systems Ltd MFC after: 1 month Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
127d6d1a64
commit
4088f71f9b
1 changed files with 14 additions and 0 deletions
|
|
@ -3490,6 +3490,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 < L2_SIZE)
|
||||
return;
|
||||
if (object != NULL && (object->flags & OBJ_COLORED) != 0)
|
||||
offset += ptoa(object->pg_color);
|
||||
superpage_offset = offset & L2_OFFSET;
|
||||
if (size - ((L2_SIZE - superpage_offset) & L2_OFFSET) < L2_SIZE ||
|
||||
(*addr & L2_OFFSET) == superpage_offset)
|
||||
return;
|
||||
if ((*addr & L2_OFFSET) < superpage_offset)
|
||||
*addr = (*addr & ~L2_OFFSET) + superpage_offset;
|
||||
else
|
||||
*addr = ((*addr + L2_OFFSET) & ~L2_OFFSET) + superpage_offset;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue