1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (c) 2021 Loongson Technology Corporation Limited 4 */ 5 6 #ifndef LOONGARCH_TARGET_SYSCALL_H 7 #define LOONGARCH_TARGET_SYSCALL_H 8 9 #include "qemu/units.h" 10 11 /* 12 * this struct defines the way the registers are stored on the 13 * stack during a system call. 14 */ 15 16 struct target_pt_regs { 17 /* Saved main processor registers. */ 18 target_ulong regs[32]; 19 20 /* Saved special registers. */ 21 struct { 22 target_ulong era; 23 target_ulong badv; 24 target_ulong crmd; 25 target_ulong prmd; 26 target_ulong euen; 27 target_ulong ecfg; 28 target_ulong estat; 29 } csr; 30 target_ulong orig_a0; 31 target_ulong __last[0]; 32 }; 33 34 #define UNAME_MACHINE "loongarch64" 35 #define UNAME_MINIMUM_RELEASE "5.19.0" 36 37 #define TARGET_MCL_CURRENT 1 38 #define TARGET_MCL_FUTURE 2 39 #define TARGET_MCL_ONFAULT 4 40 41 #endif 42