modify memory size of PHY and APE_TEXT

This commit is contained in:
liweihua 2023-07-18 19:28:16 +08:00
parent cd47bbce35
commit 4f428bc1bd
2 changed files with 9 additions and 9 deletions

View File

@ -8,7 +8,7 @@
#define APE_DM_BASE_PHY_ADDR 0x009400000UL //APCx(x:0-3):0x009400000+x*0x200000,2M per APC #define APE_DM_BASE_PHY_ADDR 0x009400000UL //APCx(x:0-3):0x009400000+x*0x200000,2M per APC
#define SHARE_MEM_BASE_PHY_ADDR 0x009D00000UL #define SHARE_MEM_BASE_PHY_ADDR 0x009D00000UL
#define APE_PHY_BASE_PHY_ADDR 0x010000000UL #define APE_PHY_BASE_PHY_ADDR 0x010000000UL
#define APE_TEXT_BASE_PHY_ADDR 0x090000000UL #define APE_TEXT_BASE_PHY_ADDR 0x09C000000UL
#define ARM_APE_MSG_BASE_PHY_ADDR 0x0A0000000UL #define ARM_APE_MSG_BASE_PHY_ADDR 0x0A0000000UL
#define APE_LOG_BASE_PHY_ADDR 0x0A8000000UL #define APE_LOG_BASE_PHY_ADDR 0x0A8000000UL
#define RESERVED_BASE_PHY_ADDR 0x100000000UL #define RESERVED_BASE_PHY_ADDR 0x100000000UL
@ -19,8 +19,8 @@
#define LEN_OF_PET_SM_DM 0x000060000UL //sm(0x20000) + dm(0x40000) #define LEN_OF_PET_SM_DM 0x000060000UL //sm(0x20000) + dm(0x40000)
#define LEN_OF_APE_DM 0x000800000UL #define LEN_OF_APE_DM 0x000800000UL
#define LEN_OF_SHARE_MEM 0x000800000UL #define LEN_OF_SHARE_MEM 0x000800000UL
#define LEN_OF_APE_PHY 0x080000000UL #define LEN_OF_APE_PHY 0x08C000000UL
#define LEN_OF_APE_TEXT 0x010000000UL #define LEN_OF_APE_TEXT 0x004000000UL
#define LEN_OF_ARM_APE_MSG 0x008000000UL #define LEN_OF_ARM_APE_MSG 0x008000000UL
#define LEN_OF_APE_LOG 0x010000000UL #define LEN_OF_APE_LOG 0x010000000UL
#define LEN_OF_ARM_STACK 0x100000000UL #define LEN_OF_ARM_STACK 0x100000000UL

View File

@ -38,7 +38,7 @@ typedef struct static_mem
uint64_t virt_base; uint64_t virt_base;
uint64_t phy_base; uint64_t phy_base;
uint64_t len; uint64_t len;
uint32_t is_mapped; //是否已经映射 0未映射1已映射 uint32_t is_mapped; //是否已经映射 0未映射1已映射
uint32_t rsv; uint32_t rsv;
}Static_Mem_CB; }Static_Mem_CB;
@ -247,7 +247,7 @@ void *get_static_mem(module_type_e module, uint64_t *len)
uint64_t addr_offset = 0,mem_len = 0; uint64_t addr_offset = 0,mem_len = 0;
int32_t mem_temp_fd = -1; int32_t mem_temp_fd = -1;
if(1 == g_static_mem_cb[module].is_mapped) //已映射 if(1 == g_static_mem_cb[module].is_mapped) //已映射
{ {
*len = g_static_mem_cb[module].len; *len = g_static_mem_cb[module].len;
return (void *)g_static_mem_cb[module].virt_base; return (void *)g_static_mem_cb[module].virt_base;
@ -305,7 +305,7 @@ void *get_static_mem(module_type_e module, uint64_t *len)
return (void *)OSP_ERROR; return (void *)OSP_ERROR;
} }
/*#else /*#else
if(OSP_ERROR == g_dev_mem_fd) //打开mem设备 if(OSP_ERROR == g_dev_mem_fd) //打开mem设备
{ {
//g_dev_mem_fd = open("/dev/mem", O_RDWR|O_SYNC); //g_dev_mem_fd = open("/dev/mem", O_RDWR|O_SYNC);
g_dev_mem_fd = open("/dev/ucp_2_revmem", O_RDWR|O_SYNC); g_dev_mem_fd = open("/dev/ucp_2_revmem", O_RDWR|O_SYNC);
@ -316,7 +316,7 @@ void *get_static_mem(module_type_e module, uint64_t *len)
} }
mem_temp_fd = g_dev_mem_fd; mem_temp_fd = g_dev_mem_fd;
#endif*/ #endif*/
/*通过模块类型获取对应的地址偏移和长度,并进行地址映射*/ /*通过模块类型获取对应的地址偏移和长度,并进行地址映射*/
if(OSP_OK == get_base_and_len(module, &addr_offset, &mem_len)) if(OSP_OK == get_base_and_len(module, &addr_offset, &mem_len))
{ {
mem_vir_addr = mmap(NULL, mem_len, PROT_READ|PROT_WRITE, MAP_SHARED, mem_temp_fd, addr_offset); mem_vir_addr = mmap(NULL, mem_len, PROT_READ|PROT_WRITE, MAP_SHARED, mem_temp_fd, addr_offset);
@ -354,7 +354,7 @@ void *osp_heap_mem_init(char *pbuf, uint64_t size,void *head_of_static_mem,modul
} }
heap_mem->root = (MemNode *)pbuf; heap_mem->root = (MemNode *)pbuf;
if(size < OSP_NODE_SIZE) //长度小于结构头长度 if(size < OSP_NODE_SIZE) //长度小于结构头长度
{ {
heap_mem->root->len = 0; heap_mem->root->len = 0;
} }
@ -637,7 +637,7 @@ int32_t osp_display_phy_mem(uint64_t phy_addr, uint32_t len)
temp_vir_addr = mem_vir_addr + (addr_offset >> 2); temp_vir_addr = mem_vir_addr + (addr_offset >> 2);
for(i = 0; i < len; i += 16) for(i = 0; i < len; i += 16)
{//不足16字节也显示4个字 {//不足16字节也显示4个字
printf("0x%016lx: ",phy_addr + i); printf("0x%016lx: ",phy_addr + i);
for(j = 0; j < 4; j++) for(j = 0; j < 4; j++)