Lines Matching defs:level

57 	int level = 4;
63 level--;
66 ASSERT(level >= 0);
68 return level;
125 VMSAv8TranslationMap::MakeBlock(phys_addr_t pa, int level, uint64_t attr)
127 ASSERT(level >= fMinBlockLevel && level < 4);
129 return pa | attr | (level == 3 ? 0x3 : 0x1);
134 VMSAv8TranslationMap::FreeTable(phys_addr_t ptPa, int level)
136 ASSERT(level < 3);
138 if (level + 1 < 3) {
146 FreeTable(pte & kPteAddrMask, level + 1);
158 phys_addr_t ptPa, int level, int index, vm_page_reservation* reservation)
160 if (level == 3)
180 int shift = tableBits * (3 - (level + 1)) + fPageBits;
189 newTable[i] = MakeBlock(addr + i * entrySize, level + 1, attr);
207 VMSAv8TranslationMap::MapRange(phys_addr_t ptPa, int level, addr_t va, phys_addr_t pa, size_t size,
210 ASSERT(level < 4);
217 int shift = tableBits * (3 - level) + fPageBits;
225 // Handle misaligned header that straddles entry boundary in next-level table
230 phys_addr_t table = MakeTable(ptPa, level, index, reservation);
231 MapRange(table, level + 1, va, pa, aligned - va, action, attr, reservation);
243 blockAllowed = (level >= fMinBlockLevel && (targetPa & entryMask) == 0);
245 blockAllowed = (MakeTable(ptPa, level, index, NULL) == 0);
259 newPte = MakeBlock(targetPa, level, attr);
261 newPte = MakeBlock(oldPte & kPteAddrMask, level, MoveAttrFlags(attr, oldPte));
263 newPte = MakeBlock(oldPte & kPteAddrMask, level, ClearAttrFlags(oldPte, attr));
273 if (level < 3 && (oldPte & 0x3) == 0x3) {
275 FreeTable(oldPte & kPteAddrMask, level);
279 // Otherwise handle mapping in next-level table
280 phys_addr_t table = MakeTable(ptPa, level, index, reservation);
281 MapRange(table, level + 1, nextVa, targetPa, entrySize, action, attr, reservation);
286 // Handle misaligned tail area (or entirety of small area) in next-level table
289 phys_addr_t table = MakeTable(ptPa, level, index, reservation);
291 table, level + 1, nextVa, pa + (nextVa - va), end - nextVa, action, attr, reservation);
444 phys_addr_t ptPa, int level, addr_t va, phys_addr_t* pa, uint64_t* rpte)
449 int shift = tableBits * (3 - level) + fPageBits;
462 if (level < 3) {
464 return WalkTable(addr, level + 1, va, pa, rpte);