1 // SPDX-License-Identifier: GPL-2.0
3 * From split of dump_linuxpagetables.c
4 * Copyright 2016, Rashmica Gupta, IBM Corp.
7 #include <linux/kernel.h>
8 #include <asm/pgtable.h>
10 #include "dump_linuxpagetables.h"
12 static const struct flag_info flag_array[] = {
14 .mask = _PAGE_PRIVILEGED,
39 .mask = _PAGE_PRESENT,
44 .mask = H_PAGE_HASHPTE,
45 .val = H_PAGE_HASHPTE,
54 .mask = _PAGE_ACCESSED,
55 .val = _PAGE_ACCESSED,
59 .mask = _PAGE_NON_IDEMPOTENT,
60 .val = _PAGE_NON_IDEMPOTENT,
61 .set = "non-idempotent",
64 .mask = _PAGE_TOLERANT,
65 .val = _PAGE_TOLERANT,
73 #ifdef CONFIG_PPC_64K_PAGES
78 .mask = H_PAGE_4K_PFN,
82 #else /* CONFIG_PPC_64K_PAGES */
87 .shift = H_PAGE_F_GIX_SHIFT,
89 .mask = H_PAGE_F_SECOND,
90 .val = H_PAGE_F_SECOND,
93 #endif /* CONFIG_PPC_64K_PAGES */
94 .mask = _PAGE_SPECIAL,
100 struct pgtable_level pg_level[5] = {
104 .num = ARRAY_SIZE(flag_array),
107 .num = ARRAY_SIZE(flag_array),
110 .num = ARRAY_SIZE(flag_array),
113 .num = ARRAY_SIZE(flag_array),