cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP1 shared memories allocation

ALibe
Associate

Hi,

i am trying to understand where and how are RETRAM, MCUSRAM, virtio ring buffer descriptors and virtio buffers allocated. In the next link:

https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview

It is described the device tree configurations for these reserved-memories. These device tree nodes are read by the st_remoteproc.c driver within the st_rproc_parse_fw function. Inside st_rproc_parse_fw memory regions are registered calling rproc_mem_entry_init and rproc_of_resm_mem_entry_init which are declared in remoteproc_core.c.

My question is where these memories and buffers are allocated? Which functions are used to allocated them? dma_alloc_coherent() function for example does not look the right function as we have fixed physical addresses that need to be mapped to share specific memories between MPU and MCU.

Thanks

1 REPLY 1
Bumsik Kim
Senior

I'm not sure how the memory is allocated but I guess Remoteproc happens in the MCU SRAM 3 region. This region is specifically designed for IPC between M4 and A7 core.