xref: /rk3399_ARM-atf/include/lib/extensions/pauth.h (revision dfdb73f77317b1349e383c5836454db67f8643d3)
1ed108b56SAlexei Fedorov /*
2f8138056SBoyan 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 
10f8138056SBoyan Karatotev #if ENABLE_PAUTH
11f8138056SBoyan Karatotev /* Platform hook to generate the APIAKey */
12f8138056SBoyan Karatotev uint128_t plat_init_apkey(void);
13ed108b56SAlexei Fedorov 
14*d158d425SBoyan Karatotev void pauth_init_enable_el3(void);
15*d158d425SBoyan Karatotev void pauth_init_enable_el1(void);
16f8138056SBoyan Karatotev void pauth_init(void);
17f8138056SBoyan Karatotev void pauth_enable_el1(void);
18f8138056SBoyan Karatotev void pauth_enable_el3(void);
19f8138056SBoyan Karatotev void pauth_enable_el2(void);
20ed108b56SAlexei Fedorov void pauth_disable_el1(void);
21ed108b56SAlexei Fedorov void pauth_disable_el3(void);
22f8138056SBoyan Karatotev #else
pauth_init_enable_el3(void)23*d158d425SBoyan Karatotev static inline void pauth_init_enable_el3(void)
24*d158d425SBoyan Karatotev {
25*d158d425SBoyan Karatotev }
pauth_init_enable_el1(void)26*d158d425SBoyan Karatotev static inline void pauth_init_enable_el1(void)
27*d158d425SBoyan Karatotev {
28*d158d425SBoyan Karatotev }
pauth_init(void)29f8138056SBoyan Karatotev static inline void pauth_init(void)
30f8138056SBoyan Karatotev {
31f8138056SBoyan Karatotev }
pauth_enable_el1(void)32f8138056SBoyan Karatotev static inline void pauth_enable_el1(void)
33f8138056SBoyan Karatotev {
34f8138056SBoyan Karatotev }
pauth_enable_el3(void)35f8138056SBoyan Karatotev static inline void pauth_enable_el3(void)
36f8138056SBoyan Karatotev {
37f8138056SBoyan Karatotev }
pauth_enable_el2(void)38f8138056SBoyan Karatotev static inline void pauth_enable_el2(void)
39f8138056SBoyan Karatotev {
40f8138056SBoyan Karatotev }
pauth_disable_el1(void)41f8138056SBoyan Karatotev static inline void pauth_disable_el1(void)
42f8138056SBoyan Karatotev {
43f8138056SBoyan Karatotev }
pauth_disable_el3(void)44f8138056SBoyan Karatotev static inline void pauth_disable_el3(void)
45f8138056SBoyan Karatotev {
46f8138056SBoyan Karatotev }
47f8138056SBoyan Karatotev #endif
48ed108b56SAlexei Fedorov #endif /* PAUTH_H */
49