summary refs log tree commit diff stats
path: root/bsd-user/arm/target_syscall.h
diff options
context:
space:
mode:
authorStacey Son <sson@FreeBSD.org>2020-12-18 13:54:50 -0700
committerThomas Huth <thuth@redhat.com>2021-01-11 14:59:21 +0100
commitea1ab4cf2c268c61e97b12cac670c5ccfc71d745 (patch)
treedba61e41ed5a2c92e4e30a3ac75cf0f56bd55f92 /bsd-user/arm/target_syscall.h
parent4d306e59cbc0ea8539bbb6732a30f113cdf0bf2d (diff)
downloadfocaccia-qemu-ea1ab4cf2c268c61e97b12cac670c5ccfc71d745.tar.gz
focaccia-qemu-ea1ab4cf2c268c61e97b12cac670c5ccfc71d745.zip
bsd-user: move strace OS/arch dependent code to host/arch dirs
This change moves host OS and arch dependent code for the sysarch
system call related to the -strace functionality into the
appropriate host OS and target arch directories.

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Sean Bruno <sburno@FreeBSD.org>
[ imp integrated minor build fixes from sbruno ]
Signed-off-by: Warner Losh <imp@FreeBSD.org>
Message-Id: <20201218205451.10559-4-imp@freebsd.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'bsd-user/arm/target_syscall.h')
-rw-r--r--bsd-user/arm/target_syscall.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/bsd-user/arm/target_syscall.h b/bsd-user/arm/target_syscall.h
new file mode 100644
index 0000000000..ef4b37f017
--- /dev/null
+++ b/bsd-user/arm/target_syscall.h
@@ -0,0 +1,36 @@
+#ifndef BSD_USER_ARCH_SYSCALL_H_
+#define BSD_USER_ARCH_SYSCALL_H_
+
+struct target_pt_regs {
+    abi_long uregs[17];
+};
+
+#define ARM_cpsr    uregs[16]
+#define ARM_pc      uregs[15]
+#define ARM_lr      uregs[14]
+#define ARM_sp      uregs[13]
+#define ARM_ip      uregs[12]
+#define ARM_fp      uregs[11]
+#define ARM_r10     uregs[10]
+#define ARM_r9      uregs[9]
+#define ARM_r8      uregs[8]
+#define ARM_r7      uregs[7]
+#define ARM_r6      uregs[6]
+#define ARM_r5      uregs[5]
+#define ARM_r4      uregs[4]
+#define ARM_r3      uregs[3]
+#define ARM_r2      uregs[2]
+#define ARM_r1      uregs[1]
+#define ARM_r0      uregs[0]
+
+#define ARM_SYSCALL_BASE    0 /* XXX: FreeBSD only */
+
+#define TARGET_FREEBSD_ARM_SYNC_ICACHE      0
+#define TARGET_FREEBSD_ARM_DRAIN_WRITEBUF   1
+#define TARGET_FREEBSD_ARM_SET_TP       2
+#define TARGET_FREEBSD_ARM_GET_TP       3
+
+#define TARGET_HW_MACHINE       "arm"
+#define TARGET_HW_MACHINE_ARCH  "armv6"
+
+#endif /* !BSD_USER_ARCH_SYSCALL_H_ */