diff options
author | Ed Schouten <ed@FreeBSD.org> | 2017-11-26 14:28:27 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2017-11-26 14:28:27 +0000 |
commit | 7af24ff710c4638a3d8e83febcca54adb464da9f (patch) | |
tree | d2060a0392b209a2015b584f45e48e48e95e29c8 /sys/arm64/include/armreg.h | |
parent | 41c0f8d354aacc69c352dd05c201b1f213a0f422 (diff) | |
download | src-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.h | 3 |
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 */ |