Skip to main content
Visitor II
July 8, 2019
Question

STM32MP1 shared memories allocation

  • July 8, 2019
  • 1 reply
  • 971 views

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 topic has been closed for replies.

    1 reply

    Visitor II
    July 11, 2019

    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.