OpenAMP Release 2024.05.0 - v1.6.0
This release
- Fix the remoteproc lelf loader,
- add API release callback for the endpoint management to ensure that endpoint is released before freeing associate resources,
- add API wait callback to avoid looping in tx buffer get,
- add API for retrieving message buffer sizes,
- various code improvement in the library and application,
- fixes various bugs.
API Updates:
Deprecated APIs:
-
cmake:
- Deprecate
VIRTIO_DEVICE_ONLY
andVIRTIO_DRIVER_ONLY
that are replaced byVIRTIO_DEVICE_SUPPORT=0/1
andVIRTIO_DEVICE_SUPPORT=0/1
. - Remove deprecated
VIRTIO_MASTER_ONLY
andVIRTIO_MASTER_ONLY
configs.
- Deprecate
-
virtio:
- Deprecate
virtio_create_virtqueues
andvirtio_delete_virtqueues
that should only be used internally.
- Deprecate
-
virtio rpmsg:
- deprecate
rpmsg_virtio_set_status
andrpmsg_virtio_get_status
, virtio API should be used instead.
- deprecate
New APIs:
-
rpmsg:
- Add new
rpmsg_ept_release_cb
to inform application that a endpoint has been released.
- Add new
-
virtio rpmsg:
rpmsg_virtio_get_rx_buffer_size
andrpmsg_get_rx_buffer_size
: get the RPMsg buffer payload size.
-
virtio:
wait_notified
ops to implement specific action in virtio transport layer waiting new TX free buffer.
What's Changed
- rpmsg: set ept address to incease num when alloc from the bitmap by @GUIDINGLI in #514
- openamp: add new API rpmsg_virtio_get_rx_buffer_size() by @CV-Bowen in #521
- apps: Add use of rpmsg_virtio_get_tx/rx_buffer_size API by @arnopo in #535
- Fix #455 by @danmilea in #533
- rpmsg: let rpmsg_virtio_get_tx_buffer() always return idx in host side by @CV-Bowen in #520
- rpmsg: add release cb and refcnt in endpoint to fix ept used-after-free by @yintao707 in #508
- openamp: add new ops wait_notified() to avoid looping in tx buffer get by @CV-Bowen in #518
- remoteproc: clear bitmap when stop/shutdown by @CV-Bowen in #522
- rpmsg_virtio: add RPMSG_ASSERT to check the virtqueue add error by @CV-Bowen in #526
- Add missing include with EINVAL definition by @zaporozhets in #544
- lib: add include directory to open_amp-static target by @zaporozhets in #545
- remoteproc_virtio: initialize the virtio device id when create vdev by @CV-Bowen in #540
- openamp: change rx buffer hold flag to count by @CV-Bowen in #524
- remoteproc_virtio: fix vrings_info structure init by @arnopo in #554
- Fixes #550: OpenAMP elf loader loads ELF sections to their load addresses by @UmairKhanUET in #551
- load_fw: The firmware loading loop terminates prematurely by @UmairKhanUET in #556
- remoteproc_virtio: optimize the remoteproc virtio transport layer by @CV-Bowen in #489
- remoteproc: fix management of non loadable segments by @UmairKhanUET in #553
- openamp: decouple rpmsg virtio and remoteproc by @wyr8899 in #549
- Cleanup rsc_table_parser code and API by @glneo in #562
- Remove layer breaking functions from rpmsg_virtio by @glneo in #561
- remoteproc: Fix the NULL vs RPROC_IS_ERR() bug for remoteproc_get_rsc_table() by @mengtanhzc in #571
- apps: system: linux: Use metal_io_finish() for closing io by @glneo in #573
- apps: linux: generic: Use accessor functions for struct remoteproc_mem by @glneo in #563
- Add RPMsg API to get buffer size by @glneo in #565
- virtio: Use virtqueue_get_buffer() helpers by @glneo in #568
- remoteproc: Un-inline remoteproc_init_mem() and remoteproc_add_mem() by @glneo in #572
- apps: linux_rpc_demo: Do not access members of rpmsg_endpoint by @glneo in #566
- virtqueue: Fix comment on shm_io and fix type by @glneo in #570
- Fix #549 by @arnopo in #579
- apps: Move common function declaration to common header by @glneo in #564
- Use new VIRTIO_{DRIVER,DEVICE}_SUPPORT compiler define to improve code readability by @glneo in #560
- virtio: Remove unneeded forward declaration of virtio_feature_name() by @glneo in #583
- lib: remove deprecated MASTER/SLAVE configuration by @arnopo in #588
- lib: rpmsg_rpc: fix compilation warning and bad API by @arnopo in #587
- Fix broken CI by @arnopo in #586
- apps: remove remaining master terminology by @arnopo in #589
- virtio: Remove never used virtio_feature_name() by @glneo in #584
- fix Doxygen warnings by @arnopo in #590
- rpmsg_virtio: Move get RX buffer into receive loop and returned buffer kick to common location by @glneo in #585
- remoteproc: Assign ops and priv to rproc struct in init by default by @glneo in #582
- Finish converting rpmsg_virtio to use VIRTIO_ROLE_IS_{DRIVER,DEVICE}() by @glneo in #581
- [FIX FOR V2024.05] lib: fix build error using legacy VIRTIO_DEVICE/DRIVER_ONLY by @arnopo in #594
- release: open-amp 2024.05.0 by @arnopo in #593
New Contributors
- @yintao707 made their first contribution in #508
- @zaporozhets made their first contribution in #544
- @UmairKhanUET made their first contribution in #551
- @wyr8899 made their first contribution in #549
- @mengtanhzc made their first contribution in #571
Full Changelog: v2023.10.0...v2024.05.0