summaryrefslogtreecommitdiff
path: root/src/lj_target_arm64.h
diff options
context:
space:
mode:
authorMike Pall <mike>2023-08-12 22:25:40 +0200
committerMike Pall <mike>2023-08-12 22:25:40 +0200
commit27af72e66f6a285298d1a9be370779aae945eb14 (patch)
tree5b12777dac86ab8afbdfd337af020f1d1da0f044 /src/lj_target_arm64.h
parent117ddf35e6ef1bb9016881f828337677db493cee (diff)
downloadluajit-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.h6
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
320typedef enum A64Shift { 326typedef enum A64Shift {
321 A64SH_LSL, A64SH_LSR, A64SH_ASR, A64SH_ROR 327 A64SH_LSL, A64SH_LSR, A64SH_ASR, A64SH_ROR
322} A64Shift; 328} A64Shift;