mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-10 19:39:54 +01:00
The include/linux/pgtable.h is going to be the home of generic page table manipulation functions. Start with moving asm-generic/pgtable.h to include/linux/pgtable.h and make the latter include asm/pgtable.h. Signed-off-by: Mike Rapoport <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Brian Cain <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Chris Zankel <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Greentime Hu <[email protected]> Cc: Greg Ungerer <[email protected]> Cc: Guan Xuetao <[email protected]> Cc: Guo Ren <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Helge Deller <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Ley Foon Tan <[email protected]> Cc: Mark Salter <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Matt Turner <[email protected]> Cc: Max Filippov <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: Michal Simek <[email protected]> Cc: Nick Hu <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Richard Weinberger <[email protected]> Cc: Rich Felker <[email protected]> Cc: Russell King <[email protected]> Cc: Stafford Horne <[email protected]> Cc: Thomas Bogendoerfer <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Tony Luck <[email protected]> Cc: Vincent Chen <[email protected]> Cc: Vineet Gupta <[email protected]> Cc: Will Deacon <[email protected]> Cc: Yoshinori Sato <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
86 lines
1.6 KiB
C
86 lines
1.6 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 <linux/pgtable.h>
|
|
|
|
#include "ptdump.h"
|
|
|
|
static const struct flag_info flag_array[] = {
|
|
{
|
|
.mask = _PAGE_USER,
|
|
.val = _PAGE_USER,
|
|
.set = "user",
|
|
.clear = " ",
|
|
}, {
|
|
.mask = _PAGE_RW,
|
|
.val = _PAGE_RW,
|
|
.set = "rw",
|
|
.clear = "r ",
|
|
}, {
|
|
.mask = _PAGE_EXEC,
|
|
.val = _PAGE_EXEC,
|
|
.set = " X ",
|
|
.clear = " ",
|
|
}, {
|
|
.mask = _PAGE_PRESENT,
|
|
.val = _PAGE_PRESENT,
|
|
.set = "present",
|
|
.clear = " ",
|
|
}, {
|
|
.mask = _PAGE_COHERENT,
|
|
.val = _PAGE_COHERENT,
|
|
.set = "coherent",
|
|
.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_WRITETHRU,
|
|
.val = _PAGE_WRITETHRU,
|
|
.set = "write through",
|
|
.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),
|
|
},
|
|
};
|