Hi all, Due to diverse constraints like SoC design, coprocessor characteristics, security context, etc, coprocessor memory mapping may be predefined/fixed at system level. In that case remoteproc should respect the different memory regions allocated to coprocessor in order to ensure proper operations. The following patches implement support of fixed memory region predefined in firmware resource table. During resource table handling, if resource physical address is defined, i.e different from 0x0 or 0xFFFFFFFF (-1), remoteproc enables memory region access using memremap function. If resource physical address is not defined, current behavior is preserved. Best regards, Loic V2 introduces new specific-platform ops for memory allocation. This new ops is called before standard dma_alloc_coherent to let platform-specific driver handle specific use cases like internal SRAM or fixed memory mapping. Moreover to have the capability to fix vring location and have homogenous resource management, reserved vring resource field is transformed in physical address. To preserve compatibility with existing firmware for which reserved field is equal to 0, physical address set to 0 is interpreted as any like -1. Loic Pallardy (3): remoteproc: Modify FW_RSC_ADDR_ANY definition remoteproc: core: transform struct fw_rsc_vdev_vring reserved field in pa remoteproc: core: add rproc ops for memory allocation drivers/remoteproc/remoteproc_core.c | 73 +++++++++++++++++++++++++++--------- include/linux/remoteproc.h | 10 +++-- 2 files changed, 63 insertions(+), 20 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html