Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/mm/ptdump/shared.c
26481 views
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_READ,
15
.val = 0,
16
.set = " ",
17
.clear = "r",
18
}, {
19
.mask = _PAGE_WRITE,
20
.val = 0,
21
.set = " ",
22
.clear = "w",
23
}, {
24
.mask = _PAGE_EXEC,
25
.val = _PAGE_EXEC,
26
.set = " X ",
27
.clear = " ",
28
}, {
29
.mask = _PAGE_PRESENT,
30
.val = _PAGE_PRESENT,
31
.set = "present",
32
.clear = " ",
33
}, {
34
.mask = _PAGE_COHERENT,
35
.val = _PAGE_COHERENT,
36
.set = "coherent",
37
.clear = " ",
38
}, {
39
.mask = _PAGE_GUARDED,
40
.val = _PAGE_GUARDED,
41
.set = "guarded",
42
.clear = " ",
43
}, {
44
.mask = _PAGE_DIRTY,
45
.val = _PAGE_DIRTY,
46
.set = "dirty",
47
.clear = " ",
48
}, {
49
.mask = _PAGE_ACCESSED,
50
.val = _PAGE_ACCESSED,
51
.set = "accessed",
52
.clear = " ",
53
}, {
54
.mask = _PAGE_WRITETHRU,
55
.val = _PAGE_WRITETHRU,
56
.set = "write through",
57
.clear = " ",
58
}, {
59
.mask = _PAGE_NO_CACHE,
60
.val = _PAGE_NO_CACHE,
61
.set = "no cache",
62
.clear = " ",
63
}, {
64
.mask = _PAGE_SPECIAL,
65
.val = _PAGE_SPECIAL,
66
.set = "special",
67
}
68
};
69
70
struct pgtable_level pg_level[5] = {
71
{ /* pgd */
72
.flag = flag_array,
73
.num = ARRAY_SIZE(flag_array),
74
}, { /* p4d */
75
.flag = flag_array,
76
.num = ARRAY_SIZE(flag_array),
77
}, { /* pud */
78
.flag = flag_array,
79
.num = ARRAY_SIZE(flag_array),
80
}, { /* pmd */
81
.flag = flag_array,
82
.num = ARRAY_SIZE(flag_array),
83
}, { /* pte */
84
.flag = flag_array,
85
.num = ARRAY_SIZE(flag_array),
86
},
87
};
88
89