Lines Matching refs:level

778 	level_t		level,
787 if (level < 0 || level > TOP_LEVEL(hat))
788 panic("htable_alloc(): level %d out of range\n", level);
790 is_vlp = (hat->hat_flags & HAT_VLP) && level == VLP_LEVEL;
891 * Under the 64-bit hypervisor, we have 2 top level page tables.
896 if (level == mmu.max_level) {
947 ht->ht_level = level;
961 if (level == mmu.max_level)
1086 * Unlink an entry for a table at vaddr and level out of the existing table
1087 * one level higher. We are always holding the HASH_ENTER() when doing this.
1114 * When a top level VLP page table entry changes, we must issue
1130 * Link an entry for a new table at vaddr and level into the existing table
1131 * one level higher. We are always holding the HASH_ENTER() when doing this.
1151 * When any top level VLP page table entry changes, we must issue
1169 * upper level pagetables. They are instead handled in bulk by hat_free_end().
1182 level_t level;
1189 level = ht->ht_level;
1190 hashval = HTABLE_HASH(hat, va, level);
1221 if (level >= mmu.max_page_level &&
1279 * Find the htable for the pagetable at the given level for the given address.
1283 htable_lookup(hat_t *hat, uintptr_t vaddr, level_t level)
1289 ASSERT(level >= 0);
1290 ASSERT(level <= TOP_LEVEL(hat));
1292 if (level == TOP_LEVEL(hat)) {
1303 base = vaddr & LEVEL_MASK(level + 1);
1306 hashval = HTABLE_HASH(hat, base, level);
1311 ht->ht_level == level)
1328 level_t level = ht->ht_level;
1330 uint_t hashval = HTABLE_HASH(hat, base, level);
1352 * Find the htable for the pagetable at the given level for the given address.
1364 level_t level,
1374 if (level < 0 || level > TOP_LEVEL(hat))
1375 panic("htable_create(): level %d out of range\n", level);
1380 for (l = TOP_LEVEL(hat); l >= level; --l) {
1390 * look up the htable at this level
1413 if (l == level && shared && ht->ht_shares &&
1434 l == level ? shared : NULL);
1439 * Link new table into higher, when not at top level.
1466 if (l == level && shared) {
1486 level_t level,
1499 if (level == mmu.max_level)
1504 ht->ht_level = level;
1515 h = HTABLE_HASH(hat, base, level);
1562 * Count valid mappings and recursively attach lower level pagetables.
1572 if (!PTE_ISPAGE(pte, level)) {
1573 htable_attach(hat, base, level - 1,
1574 ht, PTE2PFN(pte, level));
1578 base += LEVEL_SIZE(level);
1664 * limit to the address range to search. Uses level information to quickly
1721 * Find the level of the largest pagesize used by this HAT.
1751 * No htable at this level for the address. If there
1771 * with pagesize at or below given level.
1781 level_t level)
1787 ASSERT(level <= mmu.max_page_level);
1789 for (l = 0; l <= level; ++l) {
1878 * Need to skip over any VA hole in top level table
2184 * We can't use writable pagetables for upper level tables, so fake it.
2401 * The hypervisor only supports writable pagetables at level 0, so we have