cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pgtable-32.h (987B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) 2012 Regents of the University of California
      4 */
      5
      6#ifndef _ASM_RISCV_PGTABLE_32_H
      7#define _ASM_RISCV_PGTABLE_32_H
      8
      9#include <asm-generic/pgtable-nopmd.h>
     10#include <linux/bits.h>
     11#include <linux/const.h>
     12
     13/* Size of region mapped by a page global directory */
     14#define PGDIR_SHIFT     22
     15#define PGDIR_SIZE      (_AC(1, UL) << PGDIR_SHIFT)
     16#define PGDIR_MASK      (~(PGDIR_SIZE - 1))
     17
     18#define MAX_POSSIBLE_PHYSMEM_BITS 34
     19
     20/*
     21 * rv32 PTE format:
     22 * | XLEN-1  10 | 9             8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
     23 *       PFN      reserved for SW   D   A   G   U   X   W   R   V
     24 */
     25#define _PAGE_PFN_MASK  GENMASK(31, 10)
     26
     27#define _PAGE_NOCACHE		0
     28#define _PAGE_IO		0
     29#define _PAGE_MTMASK		0
     30
     31/* Set of bits to preserve across pte_modify() */
     32#define _PAGE_CHG_MASK  (~(unsigned long)(_PAGE_PRESENT | _PAGE_READ |	\
     33					  _PAGE_WRITE | _PAGE_EXEC |	\
     34					  _PAGE_USER | _PAGE_GLOBAL))
     35
     36#endif /* _ASM_RISCV_PGTABLE_32_H */