Last edited 4 years ago

Reserved memory

1. Article purpose[edit source]

The Reserved-memory mechanism[1] allows reserving memory regions in the kernel. This mechanism is used by drivers to allocate buffers in specific memory regions (such as MCU SRAM) or to get a dedicated memory pool that will not be managed by Linux® conventionnal memory allocator (in DDR).

2. Use cases[edit source]

In STM32 MPU Linux OS, the reserved-memory is used by:

  • the dmaengine driver to reserve the region where DMA buffers are allocated, typically MCU SRAM.
  • the remoteproc driver to reserve the regions in RETRAM and MCU SRAM where the coprocessor firmware will be loaded.
  • the RPMsg driver to reserve the region where RPMsg buffers used for interprocess communication with the coprocessor, are allocated, typically MCU SRAM.
  • the Vivante Gcnano driver to reserve the region where the GPU working memory is allocated, typically the DDR.

3. References[edit source]