Lines Matching refs:va
207 VMSAv8TranslationMap::MapRange(phys_addr_t ptPa, int level, addr_t va, phys_addr_t pa, size_t size,
221 uint64_t nextVa = va;
222 uint64_t end = va + size;
226 if ((va & entryMask) != 0) {
227 uint64_t aligned = (va & ~entryMask) + entrySize;
229 index = (va >> shift) & tableMask;
231 MapRange(table, level + 1, va, pa, aligned - va, action, attr, reservation);
238 phys_addr_t targetPa = pa + (nextVa - va);
291 table, level + 1, nextVa, pa + (nextVa - va), end - nextVa, action, attr, reservation);
370 VMSAv8TranslationMap::Map(addr_t va, phys_addr_t pa, uint32 attributes, uint32 memoryType,
378 ASSERT((va & pageMask) == 0);
380 ASSERT(ValidateVa(va));
390 fPageTable, fInitialLevel, va & vaMask, pa, B_PAGE_SIZE, VMAction::MAP, attr, reservation);
444 phys_addr_t ptPa, int level, addr_t va, phys_addr_t* pa, uint64_t* rpte)
453 int index = (va >> shift) & tableMask;
464 return WalkTable(addr, level + 1, va, pa, rpte);
466 *pa = addr | (va & entryMask);
480 VMSAv8TranslationMap::ValidateVa(addr_t va)
483 bool kernelAddr = (va & (1UL << 63)) != 0;
486 if ((va & ~vaMask) != (fIsKernel ? ~vaMask : 0))
493 VMSAv8TranslationMap::Query(addr_t va, phys_addr_t* pa, uint32* flags)
497 ASSERT(ValidateVa(va));
500 bool ret = WalkTable(fPageTable, fInitialLevel, va, pa, &pte);
565 VMSAv8TranslationMap::ClearFlags(addr_t va, uint32 flags)
572 ASSERT((va & pageMask) == 0);
573 ASSERT(ValidateVa(va));
576 fPageTable, fInitialLevel, va & vaMask, 0, B_PAGE_SIZE, VMAction::CLEAR_FLAGS, flags, NULL);