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_context.h (898B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) 2012 Regents of the University of California
      4 * Copyright (C) 2017 SiFive
      5 */
      6
      7#ifndef _ASM_RISCV_MMU_CONTEXT_H
      8#define _ASM_RISCV_MMU_CONTEXT_H
      9
     10#include <linux/mm_types.h>
     11#include <asm-generic/mm_hooks.h>
     12
     13#include <linux/mm.h>
     14#include <linux/sched.h>
     15
     16void switch_mm(struct mm_struct *prev, struct mm_struct *next,
     17	struct task_struct *task);
     18
     19#define activate_mm activate_mm
     20static inline void activate_mm(struct mm_struct *prev,
     21			       struct mm_struct *next)
     22{
     23	switch_mm(prev, next, NULL);
     24}
     25
     26#define init_new_context init_new_context
     27static inline int init_new_context(struct task_struct *tsk,
     28			struct mm_struct *mm)
     29{
     30#ifdef CONFIG_MMU
     31	atomic_long_set(&mm->context.id, 0);
     32#endif
     33	return 0;
     34}
     35
     36DECLARE_STATIC_KEY_FALSE(use_asid_allocator);
     37
     38#include <asm-generic/mmu_context.h>
     39
     40#endif /* _ASM_RISCV_MMU_CONTEXT_H */