HPT_SP_MASK
(tpvo = moea64_pvo_find_va(pmap, va & ~HPT_SP_MASK)) != NULL &&
(va & HPT_SP_MASK) == (pa & HPT_SP_MASK) &&
if ((va & HPT_SP_MASK) == 0 && va + HPT_SP_SIZE <= end &&
((sp = PHYS_TO_VM_PAGE(VM_PAGE_TO_PHYS(m) & ~HPT_SP_MASK)) != NULL &&
sp_offset = offset & HPT_SP_MASK;
if (size - ((HPT_SP_SIZE - sp_offset) & HPT_SP_MASK) < HPT_SP_SIZE ||
(*addr & HPT_SP_MASK) == sp_offset)
if ((*addr & HPT_SP_MASK) < sp_offset)
*addr = (*addr & ~HPT_SP_MASK) + sp_offset;
*addr = ((*addr + HPT_SP_MASK) & ~HPT_SP_MASK) + sp_offset;
spva = PVO_VADDR(pvo) & ~HPT_SP_MASK;
KASSERT((va & HPT_SP_MASK) == 0, ("%s: va %#jx unaligned",
pvo->pvo_pte.pa = (pa & ~HPT_SP_MASK) | LPTE_LP_4K_16M |
va &= ~HPT_SP_MASK;
pa = VM_PAGE_TO_PHYS(m) & ~HPT_SP_MASK;
pvo->pvo_pte.pa &= ADDR_POFF | ~HPT_SP_MASK;
if ((PVO_VADDR(pvo) & HPT_SP_MASK) != 0) {
PVO_VADDR(pvo) & ~HPT_SP_MASK);
__func__, (uintmax_t)(PVO_VADDR(pvo) & ~HPT_SP_MASK)));
if ((PVO_VADDR(pvo) & HPT_SP_MASK) != 0) {
sp = moea64_pvo_find_va(pmap, PVO_VADDR(pvo) & ~HPT_SP_MASK);
__func__, (uintmax_t)(PVO_VADDR(pvo) & ~HPT_SP_MASK)));
if ((PVO_VADDR(pvo) & HPT_SP_MASK) != 0) {
sp = moea64_pvo_find_va(pmap, PVO_VADDR(pvo) & ~HPT_SP_MASK);
__func__, (uintmax_t)(PVO_VADDR(pvo) & ~HPT_SP_MASK)));
pa &= ~HPT_SP_MASK; /* This is needed to clear LPTE_LP bits. */
pa |= PVO_VADDR(pvo) & HPT_SP_MASK;
KASSERT((PVO_VADDR(pvo) & HPT_SP_MASK) == 0,
KASSERT((PVO_VADDR(pvo) & HPT_SP_MASK) == 0,
KASSERT((PVO_VADDR(pvo) & HPT_SP_MASK) == 0,
KASSERT((PVO_VADDR(pvo) & HPT_SP_MASK) == 0,
KASSERT((PVO_VADDR(pvo) & HPT_SP_MASK) == 0,