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

simcall-gdbio.h (738B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright (C) 2021 Cadence Design Systems Inc. */
      3
      4#ifndef _XTENSA_PLATFORM_ISS_SIMCALL_GDBIO_H
      5#define _XTENSA_PLATFORM_ISS_SIMCALL_GDBIO_H
      6
      7/*
      8 *  System call like services offered by the GDBIO host.
      9 */
     10
     11#define SYS_open	-2
     12#define SYS_close	-3
     13#define SYS_read	-4
     14#define SYS_write	-5
     15#define SYS_lseek	-6
     16
     17static int errno;
     18
     19static inline int __simc(int a, int b, int c, int d)
     20{
     21	register int a1 asm("a2") = a;
     22	register int b1 asm("a6") = b;
     23	register int c1 asm("a3") = c;
     24	register int d1 asm("a4") = d;
     25	__asm__ __volatile__ (
     26			"break 1, 14\n"
     27			: "+r"(a1), "+r"(c1)
     28			: "r"(b1), "r"(d1)
     29			: "memory");
     30	errno = c1;
     31	return a1;
     32}
     33
     34#endif /* _XTENSA_PLATFORM_ISS_SIMCALL_GDBIO_H */