2021-09-06 08:22:40 +00:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "esp_memprot_err.h"
|
|
|
|
#include "hal/memprot_types.h"
|
|
|
|
#include "esp_memprot_types.h"
|
|
|
|
|
2022-07-05 19:01:45 +00:00
|
|
|
esp_err_t esp_mprot_ll_err_to_esp_err(const memprot_hal_err_t err)
|
2021-09-06 08:22:40 +00:00
|
|
|
{
|
|
|
|
switch (err) {
|
2022-07-05 19:01:45 +00:00
|
|
|
case MEMP_HAL_OK: return ESP_OK;
|
|
|
|
case MEMP_HAL_ERR_SPLIT_ADDR_OUT_OF_RANGE: return ESP_ERR_MEMPROT_SPLIT_ADDR_OUT_OF_RANGE;
|
|
|
|
case MEMP_HAL_ERR_SPLIT_ADDR_UNALIGNED: return ESP_ERR_MEMPROT_SPLIT_ADDR_UNALIGNED;
|
|
|
|
case MEMP_HAL_ERR_UNI_BLOCK_INVALID: return ESP_ERR_MEMPROT_UNIMGMT_BLOCK_INVALID;
|
|
|
|
case MEMP_HAL_ERR_WORLD_INVALID: return ESP_ERR_MEMPROT_WORLD_INVALID;
|
|
|
|
case MEMP_HAL_ERR_AREA_INVALID: return ESP_ERR_MEMPROT_AREA_INVALID;
|
2021-09-06 08:22:40 +00:00
|
|
|
default:
|
|
|
|
return ESP_FAIL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-07-05 19:01:45 +00:00
|
|
|
esp_mprot_pms_world_t esp_mprot_ll_world_to_hl_world(const memprot_hal_world_t world)
|
2021-09-06 08:22:40 +00:00
|
|
|
{
|
|
|
|
switch (world) {
|
2022-07-05 19:01:45 +00:00
|
|
|
case MEMP_HAL_WORLD_NONE: return MEMPROT_PMS_WORLD_NONE;
|
|
|
|
case MEMP_HAL_WORLD_0: return MEMPROT_PMS_WORLD_0;
|
|
|
|
case MEMP_HAL_WORLD_1: return MEMPROT_PMS_WORLD_1;
|
2021-09-06 08:22:40 +00:00
|
|
|
default:
|
|
|
|
return MEMPROT_PMS_WORLD_INVALID;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const char *esp_mprot_oper_type_to_str(const uint32_t oper_type)
|
|
|
|
{
|
|
|
|
switch (oper_type) {
|
|
|
|
case MEMPROT_OP_NONE: return "NONE";
|
|
|
|
case MEMPROT_OP_READ: return "READ";
|
|
|
|
case MEMPROT_OP_WRITE: return "WRITE";
|
|
|
|
case MEMPROT_OP_EXEC: return "EXEC";
|
|
|
|
default: return "INVALID";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const char *esp_mprot_pms_world_to_str(const esp_mprot_pms_world_t world_type)
|
|
|
|
{
|
|
|
|
switch (world_type) {
|
|
|
|
case MEMPROT_PMS_WORLD_NONE:
|
|
|
|
return "PMS_WORLD_NONE";
|
|
|
|
case MEMPROT_PMS_WORLD_0:
|
|
|
|
return "PMS_WORLD_0";
|
|
|
|
case MEMPROT_PMS_WORLD_1:
|
|
|
|
return "PMS_WORLD_1";
|
|
|
|
case MEMPROT_PMS_WORLD_2:
|
|
|
|
return "PMS_WORLD_2";
|
|
|
|
case MEMPROT_PMS_WORLD_ALL:
|
|
|
|
return "PMS_WORLD_ALL";
|
|
|
|
default:
|
|
|
|
return "PMS_WORLD_INVALID";
|
|
|
|
}
|
|
|
|
}
|