Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
 4.2.99
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