1 /* 2 * arm cpu system call stubs 3 * 4 * Copyright (c) 2013 Stacey D. Son 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef _TARGET_ARCH_SYSCALL_H_ 21 #define _TARGET_ARCH_SYSCALL_H_ 22 23 struct target_pt_regs { 24 abi_long uregs[17]; 25 }; 26 27 #define ARM_cpsr uregs[16] 28 #define ARM_pc uregs[15] 29 #define ARM_lr uregs[14] 30 #define ARM_sp uregs[13] 31 #define ARM_ip uregs[12] 32 #define ARM_fp uregs[11] 33 #define ARM_r10 uregs[10] 34 #define ARM_r9 uregs[9] 35 #define ARM_r8 uregs[8] 36 #define ARM_r7 uregs[7] 37 #define ARM_r6 uregs[6] 38 #define ARM_r5 uregs[5] 39 #define ARM_r4 uregs[4] 40 #define ARM_r3 uregs[3] 41 #define ARM_r2 uregs[2] 42 #define ARM_r1 uregs[1] 43 #define ARM_r0 uregs[0] 44 45 #define ARM_SYSCALL_BASE 0 /* XXX: FreeBSD only */ 46 47 #define TARGET_FREEBSD_ARM_SYNC_ICACHE 0 48 #define TARGET_FREEBSD_ARM_DRAIN_WRITEBUF 1 49 #define TARGET_FREEBSD_ARM_SET_TP 2 50 #define TARGET_FREEBSD_ARM_GET_TP 3 51 52 #define TARGET_HW_MACHINE "arm" 53 #define TARGET_HW_MACHINE_ARCH "armv7" 54 55 #endif /* !_TARGET_ARCH_SYSCALL_H_ */ 56