1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #include <linux/types.h> 3*4882a593Smuzhiyun #include <linux/seq_file.h> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun struct flag_info { 6*4882a593Smuzhiyun u64 mask; 7*4882a593Smuzhiyun u64 val; 8*4882a593Smuzhiyun const char *set; 9*4882a593Smuzhiyun const char *clear; 10*4882a593Smuzhiyun bool is_val; 11*4882a593Smuzhiyun int shift; 12*4882a593Smuzhiyun }; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun struct pgtable_level { 15*4882a593Smuzhiyun const struct flag_info *flag; 16*4882a593Smuzhiyun size_t num; 17*4882a593Smuzhiyun u64 mask; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun extern struct pgtable_level pg_level[5]; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun void pt_dump_size(struct seq_file *m, unsigned long delta); 23