1/* Copyright (C) 1991-2022 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <https://www.gnu.org/licenses/>. */ 17 18#include <sysdep.h> 19 20ENTRY (syscall) 21 mr r0,r3 22 mr r3,r4 23 mr r4,r5 24 mr r5,r6 25 mr r6,r7 26 mr r7,r8 27 mr r8,r9 28#if defined(USE_PPC_SCV) && !IS_IN(rtld) && (defined(__PPC64__) || defined(__powerpc64__)) 29 CHECK_SCV_SUPPORT r9 0f 30 stdu r1,-SCV_FRAME_SIZE(r1) 31 cfi_adjust_cfa_offset(SCV_FRAME_SIZE) 32 DO_CALL_SCV 33 addi r1,r1,SCV_FRAME_SIZE 34 cfi_adjust_cfa_offset(-SCV_FRAME_SIZE) 35 RET_SCV 36 b 1f 37#endif 380: DO_CALL_SC 39 RET_SC 401: TAIL_CALL_SYSCALL_ERROR 41PSEUDO_END (syscall) 42