Lines Matching refs:table
127 vmsa_level_table_t *table; member
334 #error Need to specify page table granule for pgtable module
624 get_entry(vmsa_level_table_t *table, index_t idx);
634 get_table_refcount(vmsa_level_table_t *table, index_t idx);
637 get_entry(vmsa_level_table_t *table, index_t idx);
647 get_table_refcount(vmsa_level_table_t *table, index_t idx);
651 set_table_refcount(vmsa_level_table_t *table, index_t idx, count_t refcount);
695 set_invalid_entry(vmsa_level_table_t *table, index_t idx);
698 set_page_entry(vmsa_level_table_t *table, index_t idx, paddr_t addr,
703 set_block_entry(vmsa_level_table_t *table, index_t idx, paddr_t addr,
709 set_notlb_flag(vmsa_label_table_t *table, index_t idx, bool nt);
722 paddr_t *paddr, vmsa_level_table_t **table);
751 unmap_clear_cont_bit(vmsa_level_table_t *table, vmaddr_t virtual_address,
876 get_entry(vmsa_level_table_t *table, index_t idx) in get_entry() argument
878 partition_phys_access_enable(&table[idx]); in get_entry()
880 .base = atomic_load_explicit(&table[idx], memory_order_relaxed), in get_entry()
883 partition_phys_access_disable(&table[idx]); in get_entry()
964 tb = entry->table; in get_entry_paddr()
973 get_table_refcount(vmsa_level_table_t *table, index_t idx) in get_table_refcount() argument
975 vmsa_entry_t g = get_entry(table, idx); in get_table_refcount()
976 vmsa_table_entry_t entry = g.table; in get_table_refcount()
982 set_table_refcount(vmsa_level_table_t *table, index_t idx, count_t refcount) in set_table_refcount() argument
984 vmsa_entry_t g = get_entry(table, idx); in set_table_refcount()
985 vmsa_table_entry_t val = g.table; in set_table_refcount()
988 partition_phys_access_enable(&table[idx]); in set_table_refcount()
989 g.table = val; in set_table_refcount()
990 atomic_store_explicit(&table[idx], g.base, memory_order_relaxed); in set_table_refcount()
991 partition_phys_access_disable(&table[idx]); in set_table_refcount()
1258 set_invalid_entry(vmsa_level_table_t *table, index_t idx) in set_invalid_entry() argument
1262 partition_phys_access_enable(&table[idx]); in set_invalid_entry()
1263 atomic_store_explicit(&table[idx], entry, memory_order_relaxed); in set_invalid_entry()
1264 partition_phys_access_disable(&table[idx]); in set_invalid_entry()
1268 set_table_entry(vmsa_level_table_t *table, index_t idx, paddr_t addr, in set_table_entry() argument
1279 partition_phys_access_enable(&table[idx]); in set_table_entry()
1280 vmsa_entry_t g = { .table = entry }; in set_table_entry()
1281 atomic_store_explicit(&table[idx], g.base, memory_order_relaxed); in set_table_entry()
1282 partition_phys_access_disable(&table[idx]); in set_table_entry()
1286 set_page_entry(vmsa_level_table_t *table, index_t idx, paddr_t addr, in set_page_entry() argument
1301 partition_phys_access_enable(&table[idx]); in set_page_entry()
1304 atomic_store_explicit(&table[idx], g.base, in set_page_entry()
1307 atomic_store_explicit(&table[idx], g.base, in set_page_entry()
1310 partition_phys_access_disable(&table[idx]); in set_page_entry()
1314 set_block_entry(vmsa_level_table_t *table, index_t idx, paddr_t addr, in set_block_entry() argument
1334 partition_phys_access_enable(&table[idx]); in set_block_entry()
1337 atomic_store_explicit(&table[idx], g.base, in set_block_entry()
1340 atomic_store_explicit(&table[idx], g.base, in set_block_entry()
1343 partition_phys_access_disable(&table[idx]); in set_block_entry()
1348 set_notlb_flag(vmsa_label_table_t *table, index_t idx, bool nt) in set_notlb_flag() argument
1352 partition_phys_access_enable(&table[idx]); in set_notlb_flag()
1353 atomic_load_explicit(&table[idx], entry, memory_order_relaxed); in set_notlb_flag()
1358 atomic_store_explicit(&table[idx], g.base, memory_order_relaxed); in set_notlb_flag()
1359 partition_phys_access_disable(&table[idx]); in set_notlb_flag()
1365 paddr_t *paddr, vmsa_level_table_t **table) in alloc_level_table() argument
1374 *table = (vmsa_level_table_t *)alloc_ret.r; in alloc_level_table()
1392 vmsa_level_table_t *table; in set_pgtables() local
1402 table = stack[level - 1U].table; in set_pgtables()
1410 g = get_entry(table, idx); in set_pgtables()
1418 refcount = get_table_refcount(table, idx) + 1U; in set_pgtables()
1419 set_table_refcount(table, idx, refcount); in set_pgtables()
1422 set_table_entry(table, idx, lower, refcount, in set_pgtables()
1492 vmsa_level_table_t *table = stack[level].table; in pgtable_maybe_update_access() local
1493 partition_phys_access_enable(&table[0]); in pgtable_maybe_update_access()
1496 .base = atomic_load_explicit(&table[idx], in pgtable_maybe_update_access()
1549 atomic_store_explicit(&table[idx], cur_entry.base, in pgtable_maybe_update_access()
1556 partition_phys_access_disable(&table[0]); in pgtable_maybe_update_access()
1611 partition_phys_access_disable(&table[0]); in pgtable_maybe_update_access()
1653 .table = new_pgt, in pgtable_add_table_entry()
1703 set_invalid_entry(stack[level].table, idx); in pgtable_split_block()
1709 set_notlb_flag(stack[level].table, idx, true); in pgtable_split_block()
1791 set_block_entry(stack[level].table, idx, phys, in pgtable_split_block()
1795 set_page_entry(stack[level].table, idx, phys, in pgtable_split_block()
1910 vmsa_table_entry_get_refcount(&cur_entry.table); in pgtable_maybe_merge_block()
2010 vmsa_level_table_t *cur_table = stack[level].table; in pgtable_maybe_merge_block()
2016 set_invalid_entry(stack[level].table, idx); in pgtable_maybe_merge_block()
2291 vmsa_level_table_t *cur_table = stack[level].table; in map_modifier()
2335 stack[level].table, pgtable_size); in map_modifier()
2337 stack[level].table = NULL; in map_modifier()
2399 cur_table = stack[level].table; in check_refcount()
2501 partition_phys_unmap(free_list[free_idx]->table, in check_refcount()
2509 free_list[free_idx]->table = NULL; in check_refcount()
2557 unmap_clear_cont_bit(vmsa_level_table_t *table, vmaddr_t virtual_address, in unmap_clear_cont_bit() argument
2577 set_invalid_entry(table, idx); in unmap_clear_cont_bit()
2642 set_block_entry(table, idx, entry_phys, upper_attrs, in unmap_clear_cont_bit()
2650 set_page_entry(table, idx, entry_phys, upper_attrs, in unmap_clear_cont_bit()
2685 cur_table = stack[level].table; in unmap_modifier()
2871 .table = new_pgt, in prealloc_modifier()
2912 cur_table = stack[level].table; in dump_modifier()
3096 stack[start_level].table = root; in translation_table_walk()
3124 cur_table = stack[cur_level].table; in translation_table_walk()
3136 stack[cur_level].table = cur_table; in translation_table_walk()
3166 stack[cur_level].table = NULL; in translation_table_walk()
3330 stack[prev_level].table, in translation_table_walk()
3335 stack[prev_level].table = NULL; in translation_table_walk()
3348 partition_phys_unmap(stack[cur_level].table, in translation_table_walk()
3354 stack[cur_level].table = NULL; in translation_table_walk()