esp_memprot_conv.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "esp_memprot_err.h"
  7. #include "hal/memprot_types.h"
  8. #include "esp_memprot_types.h"
  9. esp_err_t esp_mprot_ll_err_to_esp_err(const memprot_hal_err_t err)
  10. {
  11. switch (err) {
  12. case MEMP_HAL_OK: return ESP_OK;
  13. case MEMP_HAL_ERR_SPLIT_ADDR_OUT_OF_RANGE: return ESP_ERR_MEMPROT_SPLIT_ADDR_OUT_OF_RANGE;
  14. case MEMP_HAL_ERR_SPLIT_ADDR_UNALIGNED: return ESP_ERR_MEMPROT_SPLIT_ADDR_UNALIGNED;
  15. case MEMP_HAL_ERR_UNI_BLOCK_INVALID: return ESP_ERR_MEMPROT_UNIMGMT_BLOCK_INVALID;
  16. case MEMP_HAL_ERR_WORLD_INVALID: return ESP_ERR_MEMPROT_WORLD_INVALID;
  17. case MEMP_HAL_ERR_AREA_INVALID: return ESP_ERR_MEMPROT_AREA_INVALID;
  18. default:
  19. return ESP_FAIL;
  20. }
  21. }
  22. esp_mprot_pms_world_t esp_mprot_ll_world_to_hl_world(const memprot_hal_world_t world)
  23. {
  24. switch (world) {
  25. case MEMP_HAL_WORLD_NONE: return MEMPROT_PMS_WORLD_NONE;
  26. case MEMP_HAL_WORLD_0: return MEMPROT_PMS_WORLD_0;
  27. case MEMP_HAL_WORLD_1: return MEMPROT_PMS_WORLD_1;
  28. default:
  29. return MEMPROT_PMS_WORLD_INVALID;
  30. }
  31. }
  32. const char *esp_mprot_oper_type_to_str(const uint32_t oper_type)
  33. {
  34. switch (oper_type) {
  35. case MEMPROT_OP_NONE: return "NONE";
  36. case MEMPROT_OP_READ: return "READ";
  37. case MEMPROT_OP_WRITE: return "WRITE";
  38. case MEMPROT_OP_EXEC: return "EXEC";
  39. default: return "INVALID";
  40. }
  41. }
  42. const char *esp_mprot_pms_world_to_str(const esp_mprot_pms_world_t world_type)
  43. {
  44. switch (world_type) {
  45. case MEMPROT_PMS_WORLD_NONE:
  46. return "PMS_WORLD_NONE";
  47. case MEMPROT_PMS_WORLD_0:
  48. return "PMS_WORLD_0";
  49. case MEMPROT_PMS_WORLD_1:
  50. return "PMS_WORLD_1";
  51. case MEMPROT_PMS_WORLD_2:
  52. return "PMS_WORLD_2";
  53. case MEMPROT_PMS_WORLD_ALL:
  54. return "PMS_WORLD_ALL";
  55. default:
  56. return "PMS_WORLD_INVALID";
  57. }
  58. }