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

This discussion is locked. Please start a new topic to ask your question.
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.