blob: 484268f9b574b5c341b5ae8b900efb828fd7bb3d [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
#ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_
#define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_
#include <stdbool.h>
#include "sw/device/silicon_creator/lib/epmp_state.h"
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
/**
* Unlock the test status address space for read/write access.
*
* The production ePMP schema used by the ROM blocks all accesses to the
* 4 byte test status address space. This address space is used by tests to
* report test progress and results and so must be made accessible before tests
* can be run.
*
* Utilizes a dedicated PMP entry reserved for this usage.
*
* @returns The result of the operation (`true` if address space unlocked
* successfully).
*/
bool epmp_unlock_test_status(void);
#ifdef __cplusplus
} // extern "C"
#endif // __cplusplus
#endif // OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_EPMP_TEST_UNLOCK_H_