1
2
3
4#include "helper.h"
5
6size_t keyia_sign(size_t ptr)
7{
8 asm volatile("paciza %0" : "+r" (ptr));
9 return ptr;
10}
11
12size_t keyib_sign(size_t ptr)
13{
14 asm volatile("pacizb %0" : "+r" (ptr));
15 return ptr;
16}
17
18size_t keyda_sign(size_t ptr)
19{
20 asm volatile("pacdza %0" : "+r" (ptr));
21 return ptr;
22}
23
24size_t keydb_sign(size_t ptr)
25{
26 asm volatile("pacdzb %0" : "+r" (ptr));
27 return ptr;
28}
29
30size_t keyg_sign(size_t ptr)
31{
32
33 size_t dest = 0;
34 size_t modifier = 0;
35
36 asm volatile("pacga %0, %1, %2" : "=r" (dest) : "r" (ptr), "r" (modifier));
37
38 return dest;
39}
40