Lines Matching refs:st
141 static int calculate_pagesize(struct pg_state *st, int ps, char s[]) in calculate_pagesize() argument
150 seq_printf(st->seq, " %s_ps: %i%c\t", s, 1<<ps, *unit); in calculate_pagesize()
154 static void dump_flag_info(struct pg_state *st, const struct flag_info in dump_flag_info() argument
171 seq_printf(st->seq, " %s:%llx", flag->set, val); in dump_flag_info()
178 seq_printf(st->seq, " %s", s); in dump_flag_info()
183 static void dump_hpte_info(struct pg_state *st, unsigned long ea, u64 v, u64 r, in dump_hpte_info() argument
188 while (ea >= st->marker[1].start_address) { in dump_hpte_info()
189 st->marker++; in dump_hpte_info()
190 seq_printf(st->seq, "---[ %s ]---\n", st->marker->name); in dump_hpte_info()
192 seq_printf(st->seq, "0x%lx:\t", ea); in dump_hpte_info()
193 seq_printf(st->seq, "AVPN:%llx\t", HPTE_V_AVPN_VAL(v)); in dump_hpte_info()
194 dump_flag_info(st, v_flag_array, v, ARRAY_SIZE(v_flag_array)); in dump_hpte_info()
195 seq_printf(st->seq, " rpn: %lx\t", rpn); in dump_hpte_info()
196 dump_flag_info(st, r_flag_array, r, ARRAY_SIZE(r_flag_array)); in dump_hpte_info()
198 calculate_pagesize(st, bps, "base"); in dump_hpte_info()
199 aps_index = calculate_pagesize(st, aps, "actual"); in dump_hpte_info()
201 seq_printf(st->seq, "LP enc: %lx", lp); in dump_hpte_info()
202 seq_putc(st->seq, '\n'); in dump_hpte_info()
322 static unsigned long hpte_find(struct pg_state *st, unsigned long ea, int psize) in hpte_find() argument
367 dump_hpte_info(st, ea, v, r, rpn, base_psize, actual_psize, lp_bits); in hpte_find()
371 static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start) in walk_pte() argument
393 status = hpte_find(st, addr, psize); in walk_pte()
398 seq_printf(st->seq, "page probably bolted before linux" in walk_pte()
405 static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start) in walk_pmd() argument
415 walk_pte(st, pmd, addr); in walk_pmd()
419 static void walk_pud(struct pg_state *st, p4d_t *p4d, unsigned long start) in walk_pud() argument
429 walk_pmd(st, pud, addr); in walk_pud()
433 static void walk_p4d(struct pg_state *st, pgd_t *pgd, unsigned long start) in walk_p4d() argument
443 walk_pud(st, p4d, addr); in walk_p4d()
447 static void walk_pagetables(struct pg_state *st) in walk_pagetables() argument
461 walk_p4d(st, pgd, addr); in walk_pagetables()
466 static void walk_linearmapping(struct pg_state *st) in walk_linearmapping() argument
478 hpte_find(st, addr, mmu_linear_psize); in walk_linearmapping()
481 static void walk_vmemmap(struct pg_state *st) in walk_vmemmap() argument
492 hpte_find(st, ptr->virt_addr, mmu_vmemmap_psize); in walk_vmemmap()
495 seq_puts(st->seq, "---[ vmemmap end ]---\n"); in walk_vmemmap()
514 struct pg_state st = { in ptdump_show() local
523 walk_linearmapping(&st); in ptdump_show()
524 walk_pagetables(&st); in ptdump_show()
525 walk_vmemmap(&st); in ptdump_show()