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

mmu.h (949B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __ARM_MMU_H
      3#define __ARM_MMU_H
      4
      5#ifdef CONFIG_MMU
      6
      7typedef struct {
      8#ifdef CONFIG_CPU_HAS_ASID
      9	atomic64_t	id;
     10#else
     11	int		switch_pending;
     12#endif
     13	atomic_t	vmalloc_seq;
     14	unsigned long	sigpage;
     15#ifdef CONFIG_VDSO
     16	unsigned long	vdso;
     17#endif
     18#ifdef CONFIG_BINFMT_ELF_FDPIC
     19	unsigned long	exec_fdpic_loadmap;
     20	unsigned long	interp_fdpic_loadmap;
     21#endif
     22} mm_context_t;
     23
     24#ifdef CONFIG_CPU_HAS_ASID
     25#define ASID_BITS	8
     26#define ASID_MASK	((~0ULL) << ASID_BITS)
     27#define ASID(mm)	((unsigned int)((mm)->context.id.counter & ~ASID_MASK))
     28#else
     29#define ASID(mm)	(0)
     30#endif
     31
     32#else
     33
     34/*
     35 * From nommu.h:
     36 *  Copyright (C) 2002, David McCullough <davidm@snapgear.com>
     37 *  modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com>
     38 */
     39typedef struct {
     40	unsigned long	end_brk;
     41#ifdef CONFIG_BINFMT_ELF_FDPIC
     42	unsigned long	exec_fdpic_loadmap;
     43	unsigned long	interp_fdpic_loadmap;
     44#endif
     45} mm_context_t;
     46
     47#endif
     48
     49#endif