/* Syscall definitions, Linux MIPS generic version. Copyright (C) 2019-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library. If not, see . */ #include #define VDSO_NAME "LINUX_2.6" #define VDSO_HASH 61765110 /* List of system calls which are supported as vsyscalls. */ #define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime" #if _MIPS_SIM != _ABI64 # define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime64" #endif #define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday" #define HAVE_CLOCK_GETRES_VSYSCALL "__vdso_clock_getres" #ifndef __ASSEMBLER__ /* Standard MIPS syscalls have an error flag, and return a positive errno when the error flag is set. Emulate this behaviour for vsyscalls so that the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ #define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ ({ \ long _ret = funcptr (args); \ err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ if (err) \ _ret = -_ret; \ _ret; \ }) #endif /* __ASSEMBLER__ */