Lines Matching refs:st

190 static void note_page(struct seq_file *m, struct pg_state *st,  in note_page()  argument
202 cur = pgprot_val(st->current_prot) & PTE_FLAGS_MASK; in note_page()
204 if (!st->level) { in note_page()
206 st->current_prot = new_prot; in note_page()
207 st->level = level; in note_page()
208 st->marker = address_markers; in note_page()
209 st->lines = 0; in note_page()
210 pt_dump_seq_printf(m, st->to_dmesg, "---[ %s ]---\n", in note_page()
211 st->marker->name); in note_page()
212 } else if (prot != cur || level != st->level || in note_page()
213 st->current_address >= st->marker[1].start_address) { in note_page()
221 if (!st->marker->max_lines || in note_page()
222 st->lines < st->marker->max_lines) { in note_page()
223 pt_dump_seq_printf(m, st->to_dmesg, in note_page()
225 width, st->start_address, in note_page()
226 width, st->current_address); in note_page()
228 delta = st->current_address - st->start_address; in note_page()
233 pt_dump_cont_printf(m, st->to_dmesg, "%9lu%c ", in note_page()
235 printk_prot(m, st->current_prot, st->level, in note_page()
236 st->to_dmesg); in note_page()
238 st->lines++; in note_page()
245 if (st->current_address >= st->marker[1].start_address) { in note_page()
246 if (st->marker->max_lines && in note_page()
247 st->lines > st->marker->max_lines) { in note_page()
249 st->lines - st->marker->max_lines; in note_page()
250 pt_dump_seq_printf(m, st->to_dmesg, in note_page()
255 st->marker++; in note_page()
256 st->lines = 0; in note_page()
257 pt_dump_seq_printf(m, st->to_dmesg, "---[ %s ]---\n", in note_page()
258 st->marker->name); in note_page()
261 st->start_address = st->current_address; in note_page()
262 st->current_prot = new_prot; in note_page()
263 st->level = level; in note_page()
267 static void walk_pte_level(struct seq_file *m, struct pg_state *st, pmd_t addr, in walk_pte_level() argument
277 st->current_address = normalize_addr(P + i * PTE_LEVEL_MULT); in walk_pte_level()
278 note_page(m, st, prot, 4); in walk_pte_level()
285 static void walk_pmd_level(struct seq_file *m, struct pg_state *st, pud_t addr, in walk_pmd_level() argument
293 st->current_address = normalize_addr(P + i * PMD_LEVEL_MULT); in walk_pmd_level()
298 note_page(m, st, __pgprot(prot), 3); in walk_pmd_level()
300 walk_pte_level(m, st, *start, in walk_pmd_level()
303 note_page(m, st, __pgprot(0), 3); in walk_pmd_level()
316 static void walk_pud_level(struct seq_file *m, struct pg_state *st, pgd_t addr, in walk_pud_level() argument
325 st->current_address = normalize_addr(P + i * PUD_LEVEL_MULT); in walk_pud_level()
330 note_page(m, st, __pgprot(prot), 2); in walk_pud_level()
332 walk_pmd_level(m, st, *start, in walk_pud_level()
335 note_page(m, st, __pgprot(0), 2); in walk_pud_level()
355 struct pg_state st = {}; in ptdump_walk_pgd_level() local
359 st.to_dmesg = true; in ptdump_walk_pgd_level()
363 st.current_address = normalize_addr(i * PGD_LEVEL_MULT); in ptdump_walk_pgd_level()
368 note_page(m, &st, __pgprot(prot), 1); in ptdump_walk_pgd_level()
370 walk_pud_level(m, &st, *start, in ptdump_walk_pgd_level()
373 note_page(m, &st, __pgprot(0), 1); in ptdump_walk_pgd_level()
379 st.current_address = normalize_addr(PTRS_PER_PGD*PGD_LEVEL_MULT); in ptdump_walk_pgd_level()
380 note_page(m, &st, __pgprot(0), 0); in ptdump_walk_pgd_level()