Skip to content
Snippets Groups Projects
Rahul Singh's avatar
Rahul Singh authored
There is a dedicated shared SRAM for Primary Compute and Safety Island
clusters 0, 1 and 2 to access. The size of this shared SRAM between PC
and SI can be up to 16MB. This patch makes use of this SRAM as shared
memory in the HIPC demo between Primary Compute and Safety Islands.
Shared memory between Primary Compute and Safety Island clusters has
below configuration to communicate with each other
* 4KB : Resource table
* 1MB : Virtio Ring0
* 1MB : Virtio Ring1
* 3MB : Virtio buffer

This patch also includes some other fixes:
* Remoteproc doesn't support 64-bit addressing for device address,
  therefore add upper 32-bit to the device address sent by the remote
  processor to fix the addressing issue.
* Initialize the shared memory buffer address in
  rpmsg_virtio_init_shm_pool() as this is required to access the shared
  memory buffers.
* Change the logic to calculate the shared memory physical map as the
  shared memory address is moved from the lower address to the upper
  address.

Signed-off-by: Rahul Singh's avatarRahul Singh <rahul.singh@arm.com>
c45627bf