aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/include/armreg.h
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2017-11-26 14:28:27 +0000
committerEd Schouten <ed@FreeBSD.org>2017-11-26 14:28:27 +0000
commit7af24ff710c4638a3d8e83febcca54adb464da9f (patch)
treed2060a0392b209a2015b584f45e48e48e95e29c8 /sys/arm64/include/armreg.h
parent41c0f8d354aacc69c352dd05c201b1f213a0f422 (diff)
downloadsrc-7af24ff710c4638a3d8e83febcca54adb464da9f.tar.gz
src-7af24ff710c4638a3d8e83febcca54adb464da9f.zip
Make 32-bit system calls end up in svc_handler().
The nice thing about ARM64 is that it's pretty elegant to install separate trap/exception handlers for 32-bit and 64-bit processes. That said, for all other architectures (e.g., i386 on amd64) we always let 32-bit counterparts go through the regular system call codepath. Let's do the same on ARM64. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D13146
Notes
Notes: svn path=/head/; revision=326227
Diffstat (limited to 'sys/arm64/include/armreg.h')
-rw-r--r--sys/arm64/include/armreg.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
index cf24fadf1623..b3580de6a8fc 100644
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -123,7 +123,8 @@
#define EXCP_UNKNOWN 0x00 /* Unkwn exception */
#define EXCP_FP_SIMD 0x07 /* VFP/SIMD trap */
#define EXCP_ILL_STATE 0x0e /* Illegal execution state */
-#define EXCP_SVC 0x15 /* SVC trap */
+#define EXCP_SVC32 0x11 /* SVC trap for AArch32 */
+#define EXCP_SVC64 0x15 /* SVC trap for AArch64 */
#define EXCP_MSR 0x18 /* MSR/MRS trap */
#define EXCP_INSN_ABORT_L 0x20 /* Instruction abort, from lower EL */
#define EXCP_INSN_ABORT 0x21 /* Instruction abort, from same EL */