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