1 /* 2 * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #pragma once 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /** 14 * @brief PMS World type (attribute per PMS area, similar to x86 Ring scheme) 15 */ 16 typedef enum { 17 MEMPROT_PMS_WORLD_NONE = 0x00000000, 18 MEMPROT_PMS_WORLD_0 = 0x00000001, 19 MEMPROT_PMS_WORLD_1 = 0x00000002, 20 MEMPROT_PMS_WORLD_2 = 0x00000004, 21 MEMPROT_PMS_WORLD_ALL = 0x7FFFFFFF, 22 MEMPROT_PMS_WORLD_INVALID = 0x80000000 23 } esp_mprot_pms_world_t; 24 25 /** 26 * @brief Memory operation/permission type recognized by PMS 27 */ 28 #define MEMPROT_OP_NONE 0x00000000 29 #define MEMPROT_OP_READ 0x00000001 30 #define MEMPROT_OP_WRITE 0x00000002 31 #define MEMPROT_OP_EXEC 0x00000004 32 #define MEMPROT_OP_INVALID 0x80000000 33 34 #ifdef __cplusplus 35 } 36 #endif 37