From: Sjur Brændeland <s...@brendeland.net> This patch-set adds support for shared resource table between Linux kernel and remote devices. Features: 1. dynamically-allocated address of the vrings can be communicated 2. vdev statuses can be communicated 3. virtio config space becomes bi-directional 4. virtio feature negotiation is two-way
This is done by loading firmware once. First pass parsing of the resource table will allocate carveouts. Then the firmware is loaded into device memory. After this the address of the resource table in shared memory is located. This address is used in the second pass of parsing of the resource table. This time the virtio devices are created. When the virtio device are created the virto feature bits, status, and configuration-space is shared with the remote device. NOTE: This change will probably break existing device firmware! The device memory allocation will change. Virtio Rings are no longer located at start of device memory. But Ring Address in resource table is supported. Thanks, Sjur Sjur Brændeland (5): remoteproc: Refactor function rproc_elf_find_rsc_table remoteproc: Add operation to find resource table in memory remoteproc: Add state RPROC_LOADED remoteproc: Load firmware to device memory once. remoteproc: Support virtio config space. drivers/remoteproc/remoteproc_core.c | 226 ++++++++++++---------------- drivers/remoteproc/remoteproc_debugfs.c | 1 + drivers/remoteproc/remoteproc_elf_loader.c | 99 ++++++++---- drivers/remoteproc/remoteproc_internal.h | 13 ++ drivers/remoteproc/remoteproc_virtio.c | 30 +++- drivers/remoteproc/ste_modem_rproc.c | 43 ++++-- include/linux/remoteproc.h | 6 +- 7 files changed, 232 insertions(+), 186 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/