2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 03:33:59 +08:00
linux-next/arch/powerpc/mm/dump_linuxpagetables-8xx.c
Christophe Leroy ff00552578 powerpc/8xx: change name of a few page flags to avoid confusion
_PAGE_PRIVILEGED corresponds to the SH bit which doesn't protect
against user access but only disables ASID verification on kernel
accesses. User access is controlled with _PMD_USER flag.

Name it _PAGE_SH instead of _PAGE_PRIVILEGED

_PAGE_HUGE corresponds to the SPS bit which doesn't really tells
that's it is a huge page but only that it is not a 4k page.

Name it _PAGE_SPS instead of _PAGE_HUGE

Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-14 18:04:09 +11:00

83 lines
1.5 KiB
C

// SPDX-License-Identifier: GPL-2.0
/*
* From split of dump_linuxpagetables.c
* Copyright 2016, Rashmica Gupta, IBM Corp.
*
*/
#include <linux/kernel.h>
#include <asm/pgtable.h>
#include "dump_linuxpagetables.h"
static const struct flag_info flag_array[] = {
{
.mask = _PAGE_SH,
.val = 0,
.set = "user",
.clear = " ",
}, {
.mask = _PAGE_RO | _PAGE_NA,
.val = 0,
.set = "rw",
}, {
.mask = _PAGE_RO | _PAGE_NA,
.val = _PAGE_RO,
.set = "r ",
}, {
.mask = _PAGE_RO | _PAGE_NA,
.val = _PAGE_NA,
.set = " ",
}, {
.mask = _PAGE_EXEC,
.val = _PAGE_EXEC,
.set = " X ",
.clear = " ",
}, {
.mask = _PAGE_PRESENT,
.val = _PAGE_PRESENT,
.set = "present",
.clear = " ",
}, {
.mask = _PAGE_GUARDED,
.val = _PAGE_GUARDED,
.set = "guarded",
.clear = " ",
}, {
.mask = _PAGE_DIRTY,
.val = _PAGE_DIRTY,
.set = "dirty",
.clear = " ",
}, {
.mask = _PAGE_ACCESSED,
.val = _PAGE_ACCESSED,
.set = "accessed",
.clear = " ",
}, {
.mask = _PAGE_NO_CACHE,
.val = _PAGE_NO_CACHE,
.set = "no cache",
.clear = " ",
}, {
.mask = _PAGE_SPECIAL,
.val = _PAGE_SPECIAL,
.set = "special",
}
};
struct pgtable_level pg_level[5] = {
{
}, { /* pgd */
.flag = flag_array,
.num = ARRAY_SIZE(flag_array),
}, { /* pud */
.flag = flag_array,
.num = ARRAY_SIZE(flag_array),
}, { /* pmd */
.flag = flag_array,
.num = ARRAY_SIZE(flag_array),
}, { /* pte */
.flag = flag_array,
.num = ARRAY_SIZE(flag_array),
},
};