Software APIs
epmp_test_unlock.h
1 // Copyright lowRISC contributors (OpenTitan project).
2 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3 // SPDX-License-Identifier: Apache-2.0
4 
5 #ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_
6 #define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_
7 
8 #include <stdbool.h>
9 
10 #include "sw/device/silicon_creator/lib/epmp_state.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif // __cplusplus
15 
16 /**
17  * Unlock the test status address space for read/write access.
18  *
19  * The production ePMP schema used by the ROM blocks all accesses to the
20  * 4 byte test status address space. This address space is used by tests to
21  * report test progress and results and so must be made accessible before tests
22  * can be run.
23  *
24  * Utilizes a dedicated PMP entry reserved for this usage.
25  *
26  * @returns The result of the operation (`true` if address space unlocked
27  * successfully).
28  */
30 bool epmp_unlock_test_status(void);
31 
32 #ifdef __cplusplus
33 } // extern "C"
34 #endif // __cplusplus
35 
36 #endif // OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_