mirror of
https://github.com/Fishwaldo/bl_mcu_sdk.git
synced 2025-07-10 06:48:51 +00:00
[sync] sync code from internal
This commit is contained in:
parent
e70e482d21
commit
dd161b698b
302 changed files with 36006 additions and 27903 deletions
|
@ -274,6 +274,8 @@ pmp_status_type_e rvpmp_fill_entry(const pmp_config_entry_t *entry, uintptr_t i,
|
|||
am = entry->entry_flag & ENTRY_FLAG_ADDR_MASK;
|
||||
|
||||
switch (am) {
|
||||
case ENTRY_FLAG_ADDR_OFF:
|
||||
break;
|
||||
case ENTRY_FLAG_ADDR_TOR:
|
||||
pa >>= 2;
|
||||
break;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "stdint.h"
|
||||
|
||||
#define RV_PMP_ENTRY (8)
|
||||
#define RV_PMP_ENTRY (8)
|
||||
|
||||
#define ENTRY_FLAG_PERM_R (1 << 0)
|
||||
#define ENTRY_FLAG_PERM_W (1 << 1)
|
||||
|
@ -14,38 +14,38 @@
|
|||
#define ENTRY_FLAG_ADDR_MASK (3 << 3)
|
||||
#define ENTRY_FLAG_M_MODE_L (1 << 7)
|
||||
|
||||
#define ENTRY_FLAG_SIZE (8)
|
||||
#define ENTRY_FLAG_MASK (0xFF)
|
||||
#define ENTRY_FLAG_SIZE (8)
|
||||
#define ENTRY_FLAG_MASK (0xFF)
|
||||
|
||||
#define ENTRY_IN_CFG_REG (__riscv_xlen / ENTRY_FLAG_SIZE)
|
||||
#define ENTRY_IN_CFG_REG (__riscv_xlen / ENTRY_FLAG_SIZE)
|
||||
|
||||
/* E907: the smallest granularity is 128B */
|
||||
/* C906: the smallest granularity is 4K */
|
||||
#define PMP_REG_SZ_128B (1 << 8)
|
||||
#define PMP_REG_SZ_256B (1 << 9)
|
||||
#define PMP_REG_SZ_512B (1 << 10)
|
||||
#define PMP_REG_SZ_1K (1 << 11)
|
||||
#define PMP_REG_SZ_2K (1 << 12)
|
||||
#define PMP_REG_SZ_4K (1 << 12)
|
||||
#define PMP_REG_SZ_8K (1 << 13)
|
||||
#define PMP_REG_SZ_16K (1 << 14)
|
||||
#define PMP_REG_SZ_32K (1 << 15)
|
||||
#define PMP_REG_SZ_64K (1 << 16)
|
||||
#define PMP_REG_SZ_128K (1 << 17)
|
||||
#define PMP_REG_SZ_256K (1 << 18)
|
||||
#define PMP_REG_SZ_512K (1 << 19)
|
||||
#define PMP_REG_SZ_1M (1 << 20)
|
||||
#define PMP_REG_SZ_2M (1 << 21)
|
||||
#define PMP_REG_SZ_4M (1 << 22)
|
||||
#define PMP_REG_SZ_8M (1 << 23)
|
||||
#define PMP_REG_SZ_16M (1 << 24)
|
||||
#define PMP_REG_SZ_32M (1 << 25)
|
||||
#define PMP_REG_SZ_64M (1 << 26)
|
||||
#define PMP_REG_SZ_128M (1 << 27)
|
||||
#define PMP_REG_SZ_256M (1 << 28)
|
||||
#define PMP_REG_SZ_512M (1 << 29)
|
||||
#define PMP_REG_SZ_1G (1 << 30)
|
||||
#define PMP_REG_SZ_1024M (PMP_REG_SZ_1G)
|
||||
#define PMP_REG_SZ_128B (1 << 7)
|
||||
#define PMP_REG_SZ_256B (1 << 8)
|
||||
#define PMP_REG_SZ_512B (1 << 9)
|
||||
#define PMP_REG_SZ_1K (1 << 10)
|
||||
#define PMP_REG_SZ_2K (1 << 11)
|
||||
#define PMP_REG_SZ_4K (1 << 12)
|
||||
#define PMP_REG_SZ_8K (1 << 13)
|
||||
#define PMP_REG_SZ_16K (1 << 14)
|
||||
#define PMP_REG_SZ_32K (1 << 15)
|
||||
#define PMP_REG_SZ_64K (1 << 16)
|
||||
#define PMP_REG_SZ_128K (1 << 17)
|
||||
#define PMP_REG_SZ_256K (1 << 18)
|
||||
#define PMP_REG_SZ_512K (1 << 19)
|
||||
#define PMP_REG_SZ_1M (1 << 20)
|
||||
#define PMP_REG_SZ_2M (1 << 21)
|
||||
#define PMP_REG_SZ_4M (1 << 22)
|
||||
#define PMP_REG_SZ_8M (1 << 23)
|
||||
#define PMP_REG_SZ_16M (1 << 24)
|
||||
#define PMP_REG_SZ_32M (1 << 25)
|
||||
#define PMP_REG_SZ_64M (1 << 26)
|
||||
#define PMP_REG_SZ_128M (1 << 27)
|
||||
#define PMP_REG_SZ_256M (1 << 28)
|
||||
#define PMP_REG_SZ_512M (1 << 29)
|
||||
#define PMP_REG_SZ_1G (1 << 30)
|
||||
#define PMP_REG_SZ_1024M (PMP_REG_SZ_1G)
|
||||
|
||||
typedef enum _pmp_status_type_ {
|
||||
PMP_STATUS_OK = 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue