blob: db47b80c5174a987818efb049590f6f8437765f7 [file] [log] [blame]
Alexei Fedorovf41355c2019-09-13 14:11:59 +01001/*
Boyan Karatotevb34fd002025-04-02 11:02:44 +01002 * Copyright (c) 2019-2025, Arm Limited and Contributors. All rights reserved.
Alexei Fedorovf41355c2019-09-13 14:11:59 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PAUTH_H
8#define PAUTH_H
9
Boyan Karatotevb34fd002025-04-02 11:02:44 +010010#if ENABLE_PAUTH
11/* Platform hook to generate the APIAKey */
12uint128_t plat_init_apkey(void);
Alexei Fedorovf41355c2019-09-13 14:11:59 +010013
Boyan Karatotevb34fd002025-04-02 11:02:44 +010014void pauth_init(void);
15void pauth_enable_el1(void);
16void pauth_enable_el3(void);
17void pauth_enable_el2(void);
Alexei Fedorovf41355c2019-09-13 14:11:59 +010018void pauth_disable_el1(void);
19void pauth_disable_el3(void);
Boyan Karatotevb34fd002025-04-02 11:02:44 +010020#else
21static inline void pauth_init(void)
22{
23}
24static inline void pauth_enable_el1(void)
25{
26}
27static inline void pauth_enable_el3(void)
28{
29}
30static inline void pauth_enable_el2(void)
31{
32}
33static inline void pauth_disable_el1(void)
34{
35}
36static inline void pauth_disable_el3(void)
37{
38}
39#endif
Alexei Fedorovf41355c2019-09-13 14:11:59 +010040#endif /* PAUTH_H */