blob: a67065c403c38e0db30c9d929757e8349a108671 [file] [log] [blame]
Steven Price30d621f2020-02-03 17:36:20 -08001/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef _LINUX_PTDUMP_H
4#define _LINUX_PTDUMP_H
5
6#include <linux/mm_types.h>
7
8struct ptdump_range {
9 unsigned long start;
10 unsigned long end;
11};
12
13struct ptdump_state {
Steven Pricef8f0d0b2020-02-03 17:36:38 -080014 /* level is 0:PGD to 4:PTE, or -1 if unknown */
Steven Price30d621f2020-02-03 17:36:20 -080015 void (*note_page)(struct ptdump_state *st, unsigned long addr,
16 int level, unsigned long val);
17 const struct ptdump_range *range;
18};
19
Steven Pricee47690d2020-02-03 17:36:42 -080020void ptdump_walk_pgd(struct ptdump_state *st, struct mm_struct *mm, pgd_t *pgd);
Steven Price30d621f2020-02-03 17:36:20 -080021
22#endif /* _LINUX_PTDUMP_H */