root/arch/powerpc/mm/ptdump/shared.c

/* [<][>][^][v][top][bottom][index][help] */
   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 <asm/pgtable.h>
   9 
  10 #include "ptdump.h"
  11 
  12 static const struct flag_info flag_array[] = {
  13         {
  14                 .mask   = _PAGE_USER,
  15                 .val    = _PAGE_USER,
  16                 .set    = "user",
  17                 .clear  = "    ",
  18         }, {
  19                 .mask   = _PAGE_RW,
  20                 .val    = _PAGE_RW,
  21                 .set    = "rw",
  22                 .clear  = "r ",
  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_GUARDED,
  35                 .val    = _PAGE_GUARDED,
  36                 .set    = "guarded",
  37                 .clear  = "       ",
  38         }, {
  39                 .mask   = _PAGE_DIRTY,
  40                 .val    = _PAGE_DIRTY,
  41                 .set    = "dirty",
  42                 .clear  = "     ",
  43         }, {
  44                 .mask   = _PAGE_ACCESSED,
  45                 .val    = _PAGE_ACCESSED,
  46                 .set    = "accessed",
  47                 .clear  = "        ",
  48         }, {
  49                 .mask   = _PAGE_WRITETHRU,
  50                 .val    = _PAGE_WRITETHRU,
  51                 .set    = "write through",
  52                 .clear  = "             ",
  53         }, {
  54                 .mask   = _PAGE_NO_CACHE,
  55                 .val    = _PAGE_NO_CACHE,
  56                 .set    = "no cache",
  57                 .clear  = "        ",
  58         }, {
  59                 .mask   = _PAGE_SPECIAL,
  60                 .val    = _PAGE_SPECIAL,
  61                 .set    = "special",
  62         }
  63 };
  64 
  65 struct pgtable_level pg_level[5] = {
  66         {
  67         }, { /* pgd */
  68                 .flag   = flag_array,
  69                 .num    = ARRAY_SIZE(flag_array),
  70         }, { /* pud */
  71                 .flag   = flag_array,
  72                 .num    = ARRAY_SIZE(flag_array),
  73         }, { /* pmd */
  74                 .flag   = flag_array,
  75                 .num    = ARRAY_SIZE(flag_array),
  76         }, { /* pte */
  77                 .flag   = flag_array,
  78                 .num    = ARRAY_SIZE(flag_array),
  79         },
  80 };

/* [<][>][^][v][top][bottom][index][help] */