10128f8b16
A few of the other page table level helpers are defined on rv32, but not pgtable_l5_enabled. This adds the definition as a constant and converts pgtable_l4_enabled to a constant as well. Link: https://lore.kernel.org/r/20230830044129.11481-2-palmer@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2012 Regents of the University of California
|
|
*/
|
|
|
|
#ifndef _ASM_RISCV_PGTABLE_32_H
|
|
#define _ASM_RISCV_PGTABLE_32_H
|
|
|
|
#include <asm-generic/pgtable-nopmd.h>
|
|
#include <linux/bits.h>
|
|
#include <linux/const.h>
|
|
|
|
/* Size of region mapped by a page global directory */
|
|
#define PGDIR_SHIFT 22
|
|
#define PGDIR_SIZE (_AC(1, UL) << PGDIR_SHIFT)
|
|
#define PGDIR_MASK (~(PGDIR_SIZE - 1))
|
|
|
|
#define MAX_POSSIBLE_PHYSMEM_BITS 34
|
|
|
|
/*
|
|
* rv32 PTE format:
|
|
* | XLEN-1 10 | 9 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
|
* PFN reserved for SW D A G U X W R V
|
|
*/
|
|
#define _PAGE_PFN_MASK GENMASK(31, 10)
|
|
|
|
#define _PAGE_NOCACHE 0
|
|
#define _PAGE_IO 0
|
|
#define _PAGE_MTMASK 0
|
|
|
|
/* Set of bits to preserve across pte_modify() */
|
|
#define _PAGE_CHG_MASK (~(unsigned long)(_PAGE_PRESENT | _PAGE_READ | \
|
|
_PAGE_WRITE | _PAGE_EXEC | \
|
|
_PAGE_USER | _PAGE_GLOBAL))
|
|
|
|
static const __maybe_unused int pgtable_l4_enabled;
|
|
static const __maybe_unused int pgtable_l5_enabled;
|
|
|
|
#endif /* _ASM_RISCV_PGTABLE_32_H */
|