Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
arc_mpu.h File Reference

Go to the source code of this file.

Data Structures

struct  arc_mpu_region
 
struct  arc_mpu_config
 

Macros

#define AUX_MPU_ATTR_UE   0x008 /* allow user execution */
 
#define AUX_MPU_ATTR_UW   0x010 /* allow user write */
 
#define AUX_MPU_ATTR_UR   0x020 /* allow user read */
 
#define AUX_MPU_ATTR_KE   0x040 /* only allow kernel execution */
 
#define AUX_MPU_ATTR_KW   0x080 /* only allow kernel write */
 
#define AUX_MPU_ATTR_KR   0x100 /* only allow kernel read */
 
#define AUX_MPU_ATTR_S   0x8000 /* secure */
 
#define AUX_MPU_ATTR_N   0x0000 /* normal */
 
#define REGION_DYNAMIC   0x800 /* dynamic flag */
 
#define REGION_KERNEL_RAM_ATTR    (AUX_MPU_ATTR_KW | AUX_MPU_ATTR_KR)
 
#define REGION_KERNEL_ROM_ATTR    (AUX_MPU_ATTR_KE | AUX_MPU_ATTR_KR)
 
#define REGION_RAM_ATTR
 
#define REGION_ROM_ATTR
 
#define REGION_IO_ATTR
 
#define REGION_ALL_ATTR
 
#define REGION_32B   0x200
 
#define REGION_64B   0x201
 
#define REGION_128B   0x202
 
#define REGION_256B   0x203
 
#define REGION_512B   0x400
 
#define REGION_1K   0x401
 
#define REGION_2K   0x402
 
#define REGION_4K   0x403
 
#define REGION_8K   0x600
 
#define REGION_16K   0x601
 
#define REGION_32K   0x602
 
#define REGION_64K   0x603
 
#define REGION_128K   0x800
 
#define REGION_256K   0x801
 
#define REGION_512K   0x802
 
#define REGION_1M   0x803
 
#define REGION_2M   0xA00
 
#define REGION_4M   0xA01
 
#define REGION_8M   0xA02
 
#define REGION_16M   0xA03
 
#define REGION_32M   0xC00
 
#define REGION_64M   0xC01
 
#define REGION_128M   0xC02
 
#define REGION_256M   0xC03
 
#define REGION_512M   0xE00
 
#define REGION_1G   0xE01
 
#define REGION_2G   0xE02
 
#define REGION_4G   0xE03
 
#define MPU_REGION_ENTRY(_name, _base, _size, _attr)
 

Variables

struct arc_mpu_config mpu_config
 

Macro Definition Documentation

◆ AUX_MPU_ATTR_KE

#define AUX_MPU_ATTR_KE   0x040 /* only allow kernel execution */

◆ AUX_MPU_ATTR_KR

#define AUX_MPU_ATTR_KR   0x100 /* only allow kernel read */

◆ AUX_MPU_ATTR_KW

#define AUX_MPU_ATTR_KW   0x080 /* only allow kernel write */

◆ AUX_MPU_ATTR_N

#define AUX_MPU_ATTR_N   0x0000 /* normal */

◆ AUX_MPU_ATTR_S

#define AUX_MPU_ATTR_S   0x8000 /* secure */

◆ AUX_MPU_ATTR_UE

#define AUX_MPU_ATTR_UE   0x008 /* allow user execution */

◆ AUX_MPU_ATTR_UR

#define AUX_MPU_ATTR_UR   0x020 /* allow user read */

◆ AUX_MPU_ATTR_UW

#define AUX_MPU_ATTR_UW   0x010 /* allow user write */

◆ MPU_REGION_ENTRY

#define MPU_REGION_ENTRY (   _name,
  _base,
  _size,
  _attr 
)
Value:
{\
.name = _name, \
.base = _base, \
.size = _size, \
.attr = _attr, \
}

◆ REGION_128B

#define REGION_128B   0x202

◆ REGION_128K

#define REGION_128K   0x800

◆ REGION_128M

#define REGION_128M   0xC02

◆ REGION_16K

#define REGION_16K   0x601

◆ REGION_16M

#define REGION_16M   0xA03

◆ REGION_1G

#define REGION_1G   0xE01

◆ REGION_1K

#define REGION_1K   0x401

◆ REGION_1M

#define REGION_1M   0x803

◆ REGION_256B

#define REGION_256B   0x203

◆ REGION_256K

#define REGION_256K   0x801

◆ REGION_256M

#define REGION_256M   0xC03

◆ REGION_2G

#define REGION_2G   0xE02

◆ REGION_2K

#define REGION_2K   0x402

◆ REGION_2M

#define REGION_2M   0xA00

◆ REGION_32B

#define REGION_32B   0x200

◆ REGION_32K

#define REGION_32K   0x602

◆ REGION_32M

#define REGION_32M   0xC00

◆ REGION_4G

#define REGION_4G   0xE03

◆ REGION_4K

#define REGION_4K   0x403

◆ REGION_4M

#define REGION_4M   0xA01

◆ REGION_512B

#define REGION_512B   0x400

◆ REGION_512K

#define REGION_512K   0x802

◆ REGION_512M

#define REGION_512M   0xE00

◆ REGION_64B

#define REGION_64B   0x201

◆ REGION_64K

#define REGION_64K   0x603

◆ REGION_64M

#define REGION_64M   0xC01

◆ REGION_8K

#define REGION_8K   0x600

◆ REGION_8M

#define REGION_8M   0xA02

◆ REGION_ALL_ATTR

#define REGION_ALL_ATTR
Value:
#define AUX_MPU_ATTR_KR
Definition: arc_mpu.h:16
#define AUX_MPU_ATTR_UE
Definition: arc_mpu.h:11
#define AUX_MPU_ATTR_UR
Definition: arc_mpu.h:13
#define AUX_MPU_ATTR_KE
Definition: arc_mpu.h:14
#define AUX_MPU_ATTR_KW
Definition: arc_mpu.h:15
#define AUX_MPU_ATTR_UW
Definition: arc_mpu.h:12

◆ REGION_DYNAMIC

#define REGION_DYNAMIC   0x800 /* dynamic flag */

◆ REGION_IO_ATTR

#define REGION_IO_ATTR

◆ REGION_KERNEL_RAM_ATTR

#define REGION_KERNEL_RAM_ATTR    (AUX_MPU_ATTR_KW | AUX_MPU_ATTR_KR)

◆ REGION_KERNEL_ROM_ATTR

#define REGION_KERNEL_ROM_ATTR    (AUX_MPU_ATTR_KE | AUX_MPU_ATTR_KR)

◆ REGION_RAM_ATTR

#define REGION_RAM_ATTR

◆ REGION_ROM_ATTR

#define REGION_ROM_ATTR

Variable Documentation

◆ mpu_config

struct arc_mpu_config mpu_config
extern