1 /*
2  * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #pragma once
7 #include <stdlib.h>
8 #include <stdint.h>
9 #include <stdbool.h>
10 #include "sdkconfig.h"
11 #include "soc/soc_caps.h"
12 #include "hal/cache_types.h"
13 #include "hal/mmu_types.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 
20 typedef struct {
21     uint32_t start;           //laddr start
22     uint32_t end;             //laddr end
23     size_t size;              //region size
24     cache_bus_mask_t bus_id;  //bus_id mask, for accessible cache buses
25     mmu_target_t targets;     //region supported physical targets
26     uint32_t caps;            //vaddr capabilities
27 } mmu_mem_region_t;
28 
29 //These regions is referring to linear address
30 extern const mmu_mem_region_t g_mmu_mem_regions[SOC_MMU_LINEAR_ADDRESS_REGION_NUM];
31 
32 #ifdef __cplusplus
33 }
34 #endif
35