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

suspend.h (941B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (c) 2021 Western Digital Corporation or its affiliates.
      4 * Copyright (c) 2022 Ventana Micro Systems Inc.
      5 */
      6
      7#ifndef _ASM_RISCV_SUSPEND_H
      8#define _ASM_RISCV_SUSPEND_H
      9
     10#include <asm/ptrace.h>
     11
     12struct suspend_context {
     13	/* Saved and restored by low-level functions */
     14	struct pt_regs regs;
     15	/* Saved and restored by high-level functions */
     16	unsigned long scratch;
     17	unsigned long tvec;
     18	unsigned long ie;
     19#ifdef CONFIG_MMU
     20	unsigned long satp;
     21#endif
     22};
     23
     24/* Low-level CPU suspend entry function */
     25int __cpu_suspend_enter(struct suspend_context *context);
     26
     27/* High-level CPU suspend which will save context and call finish() */
     28int cpu_suspend(unsigned long arg,
     29		int (*finish)(unsigned long arg,
     30			      unsigned long entry,
     31			      unsigned long context));
     32
     33/* Low-level CPU resume entry function */
     34int __cpu_resume_enter(unsigned long hartid, unsigned long context);
     35
     36#endif