xref: /rk3399_ARM-atf/include/lib/extensions/pauth.h (revision f8138056404d788c94bff8b159317bf38145f102)
1ed108b56SAlexei Fedorov /*
2*f8138056SBoyan Karatotev  * Copyright (c) 2019-2025, Arm Limited and Contributors. All rights reserved.
3ed108b56SAlexei Fedorov  *
4ed108b56SAlexei Fedorov  * SPDX-License-Identifier: BSD-3-Clause
5ed108b56SAlexei Fedorov  */
6ed108b56SAlexei Fedorov 
7ed108b56SAlexei Fedorov #ifndef PAUTH_H
8ed108b56SAlexei Fedorov #define PAUTH_H
9ed108b56SAlexei Fedorov 
10*f8138056SBoyan Karatotev #if ENABLE_PAUTH
11*f8138056SBoyan Karatotev /* Platform hook to generate the APIAKey */
12*f8138056SBoyan Karatotev uint128_t plat_init_apkey(void);
13ed108b56SAlexei Fedorov 
14*f8138056SBoyan Karatotev void pauth_init(void);
15*f8138056SBoyan Karatotev void pauth_enable_el1(void);
16*f8138056SBoyan Karatotev void pauth_enable_el3(void);
17*f8138056SBoyan Karatotev void pauth_enable_el2(void);
18ed108b56SAlexei Fedorov void pauth_disable_el1(void);
19ed108b56SAlexei Fedorov void pauth_disable_el3(void);
20*f8138056SBoyan Karatotev #else
21*f8138056SBoyan Karatotev static inline void pauth_init(void)
22*f8138056SBoyan Karatotev {
23*f8138056SBoyan Karatotev }
24*f8138056SBoyan Karatotev static inline void pauth_enable_el1(void)
25*f8138056SBoyan Karatotev {
26*f8138056SBoyan Karatotev }
27*f8138056SBoyan Karatotev static inline void pauth_enable_el3(void)
28*f8138056SBoyan Karatotev {
29*f8138056SBoyan Karatotev }
30*f8138056SBoyan Karatotev static inline void pauth_enable_el2(void)
31*f8138056SBoyan Karatotev {
32*f8138056SBoyan Karatotev }
33*f8138056SBoyan Karatotev static inline void pauth_disable_el1(void)
34*f8138056SBoyan Karatotev {
35*f8138056SBoyan Karatotev }
36*f8138056SBoyan Karatotev static inline void pauth_disable_el3(void)
37*f8138056SBoyan Karatotev {
38*f8138056SBoyan Karatotev }
39*f8138056SBoyan Karatotev #endif
40ed108b56SAlexei Fedorov #endif /* PAUTH_H */
41