arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / powerpc / mm / ptdump / book3s64.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * From split of dump_linuxpagetables.c
4  * Copyright 2016, Rashmica Gupta, IBM Corp.
5  *
6  */
7 #include <linux/kernel.h>
8 #include <linux/pgtable.h>
9
10 #include "ptdump.h"
11
12 static const struct flag_info flag_array[] = {
13         {
14                 .mask   = _PAGE_PRIVILEGED,
15                 .val    = 0,
16                 .set    = "user",
17                 .clear  = "    ",
18         }, {
19                 .mask   = _PAGE_READ,
20                 .val    = _PAGE_READ,
21                 .set    = "r",
22                 .clear  = " ",
23         }, {
24                 .mask   = _PAGE_WRITE,
25                 .val    = _PAGE_WRITE,
26                 .set    = "w",
27                 .clear  = " ",
28         }, {
29                 .mask   = _PAGE_EXEC,
30                 .val    = _PAGE_EXEC,
31                 .set    = " X ",
32                 .clear  = "   ",
33         }, {
34                 .mask   = _PAGE_PTE,
35                 .val    = _PAGE_PTE,
36                 .set    = "pte",
37                 .clear  = "   ",
38         }, {
39                 .mask   = _PAGE_PRESENT,
40                 .val    = _PAGE_PRESENT,
41                 .set    = "valid",
42                 .clear  = "     ",
43         }, {
44                 .mask   = _PAGE_PRESENT | _PAGE_INVALID,
45                 .val    = 0,
46                 .set    = "       ",
47                 .clear  = "present",
48         }, {
49                 .mask   = H_PAGE_HASHPTE,
50                 .val    = H_PAGE_HASHPTE,
51                 .set    = "hpte",
52                 .clear  = "    ",
53         }, {
54                 .mask   = _PAGE_DIRTY,
55                 .val    = _PAGE_DIRTY,
56                 .set    = "dirty",
57                 .clear  = "     ",
58         }, {
59                 .mask   = _PAGE_ACCESSED,
60                 .val    = _PAGE_ACCESSED,
61                 .set    = "accessed",
62                 .clear  = "        ",
63         }, {
64                 .mask   = _PAGE_NON_IDEMPOTENT,
65                 .val    = _PAGE_NON_IDEMPOTENT,
66                 .set    = "non-idempotent",
67                 .clear  = "              ",
68         }, {
69                 .mask   = _PAGE_TOLERANT,
70                 .val    = _PAGE_TOLERANT,
71                 .set    = "tolerant",
72                 .clear  = "        ",
73         }, {
74                 .mask   = H_PAGE_BUSY,
75                 .val    = H_PAGE_BUSY,
76                 .set    = "busy",
77         }, {
78 #ifdef CONFIG_PPC_64K_PAGES
79                 .mask   = H_PAGE_COMBO,
80                 .val    = H_PAGE_COMBO,
81                 .set    = "combo",
82         }, {
83                 .mask   = H_PAGE_4K_PFN,
84                 .val    = H_PAGE_4K_PFN,
85                 .set    = "4K_pfn",
86         }, {
87 #else /* CONFIG_PPC_64K_PAGES */
88                 .mask   = H_PAGE_F_GIX,
89                 .val    = H_PAGE_F_GIX,
90                 .set    = "f_gix",
91                 .is_val = true,
92                 .shift  = H_PAGE_F_GIX_SHIFT,
93         }, {
94                 .mask   = H_PAGE_F_SECOND,
95                 .val    = H_PAGE_F_SECOND,
96                 .set    = "f_second",
97         }, {
98 #endif /* CONFIG_PPC_64K_PAGES */
99                 .mask   = _PAGE_SPECIAL,
100                 .val    = _PAGE_SPECIAL,
101                 .set    = "special",
102         }
103 };
104
105 struct pgtable_level pg_level[5] = {
106         { /* pgd */
107                 .flag   = flag_array,
108                 .num    = ARRAY_SIZE(flag_array),
109         }, { /* p4d */
110                 .flag   = flag_array,
111                 .num    = ARRAY_SIZE(flag_array),
112         }, { /* pud */
113                 .flag   = flag_array,
114                 .num    = ARRAY_SIZE(flag_array),
115         }, { /* pmd */
116                 .flag   = flag_array,
117                 .num    = ARRAY_SIZE(flag_array),
118         }, { /* pte */
119                 .flag   = flag_array,
120                 .num    = ARRAY_SIZE(flag_array),
121         },
122 };