0001
0002
0003
0004 #include "helper.h"
0005
0006 size_t keyia_sign(size_t ptr)
0007 {
0008 asm volatile("paciza %0" : "+r" (ptr));
0009 return ptr;
0010 }
0011
0012 size_t keyib_sign(size_t ptr)
0013 {
0014 asm volatile("pacizb %0" : "+r" (ptr));
0015 return ptr;
0016 }
0017
0018 size_t keyda_sign(size_t ptr)
0019 {
0020 asm volatile("pacdza %0" : "+r" (ptr));
0021 return ptr;
0022 }
0023
0024 size_t keydb_sign(size_t ptr)
0025 {
0026 asm volatile("pacdzb %0" : "+r" (ptr));
0027 return ptr;
0028 }
0029
0030 size_t keyg_sign(size_t ptr)
0031 {
0032
0033 size_t dest = 0;
0034 size_t modifier = 0;
0035
0036 asm volatile("pacga %0, %1, %2" : "=r" (dest) : "r" (ptr), "r" (modifier));
0037
0038 return dest;
0039 }