diff options
author | Mike Pall <mike> | 2023-08-12 22:25:40 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-08-12 22:25:40 +0200 |
commit | 27af72e66f6a285298d1a9be370779aae945eb14 (patch) | |
tree | 5b12777dac86ab8afbdfd337af020f1d1da0f044 /src/lj_target_arm64.h | |
parent | 117ddf35e6ef1bb9016881f828337677db493cee (diff) | |
download | luajit-27af72e66f6a285298d1a9be370779aae945eb14.tar.gz luajit-27af72e66f6a285298d1a9be370779aae945eb14.tar.bz2 luajit-27af72e66f6a285298d1a9be370779aae945eb14.zip |
ARM64: Add support for ARM64e pointer authentication codes (PAC).
Contributed by Peter Cawley. #559
Diffstat (limited to 'src/lj_target_arm64.h')
-rw-r--r-- | src/lj_target_arm64.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lj_target_arm64.h b/src/lj_target_arm64.h index d45af2e4..c9c6b80f 100644 --- a/src/lj_target_arm64.h +++ b/src/lj_target_arm64.h | |||
@@ -260,6 +260,9 @@ typedef enum A64Ins { | |||
260 | A64I_CBZ = 0x34000000, | 260 | A64I_CBZ = 0x34000000, |
261 | A64I_CBNZ = 0x35000000, | 261 | A64I_CBNZ = 0x35000000, |
262 | 262 | ||
263 | A64I_BRAAZ = 0xd61f081f, | ||
264 | A64I_BLRAAZ = 0xd63f081f, | ||
265 | |||
263 | A64I_NOP = 0xd503201f, | 266 | A64I_NOP = 0xd503201f, |
264 | 267 | ||
265 | /* FP */ | 268 | /* FP */ |
@@ -317,6 +320,9 @@ typedef enum A64Ins { | |||
317 | A64I_FMOV_DI = 0x1e601000, | 320 | A64I_FMOV_DI = 0x1e601000, |
318 | } A64Ins; | 321 | } A64Ins; |
319 | 322 | ||
323 | #define A64I_BR_AUTH (LJ_ABI_PAUTH ? A64I_BRAAZ : A64I_BR) | ||
324 | #define A64I_BLR_AUTH (LJ_ABI_PAUTH ? A64I_BLRAAZ : A64I_BLR) | ||
325 | |||
320 | typedef enum A64Shift { | 326 | typedef enum A64Shift { |
321 | A64SH_LSL, A64SH_LSR, A64SH_ASR, A64SH_ROR | 327 | A64SH_LSL, A64SH_LSR, A64SH_ASR, A64SH_ROR |
322 | } A64Shift; | 328 | } A64Shift; |