162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#include <linux/types.h> 362306a36Sopenharmony_ci#include <linux/seq_file.h> 462306a36Sopenharmony_ci 562306a36Sopenharmony_cistruct flag_info { 662306a36Sopenharmony_ci u64 mask; 762306a36Sopenharmony_ci u64 val; 862306a36Sopenharmony_ci const char *set; 962306a36Sopenharmony_ci const char *clear; 1062306a36Sopenharmony_ci bool is_val; 1162306a36Sopenharmony_ci int shift; 1262306a36Sopenharmony_ci}; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cistruct pgtable_level { 1562306a36Sopenharmony_ci const struct flag_info *flag; 1662306a36Sopenharmony_ci size_t num; 1762306a36Sopenharmony_ci u64 mask; 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciextern struct pgtable_level pg_level[5]; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_civoid pt_dump_size(struct seq_file *m, unsigned long delta); 23