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 */