Skip to content

OpenAMP Release 2024.05.0 - v1.6.0

Compare
Choose a tag to compare
@arnopo arnopo released this 31 May 07:23
· 32 commits to main since this release

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 and VIRTIO_DRIVER_ONLY that are replaced by VIRTIO_DEVICE_SUPPORT=0/1 and VIRTIO_DEVICE_SUPPORT=0/1.
    • Remove deprecated VIRTIO_MASTER_ONLY and VIRTIO_MASTER_ONLY configs.
  • virtio:

    • Deprecate virtio_create_virtqueues and virtio_delete_virtqueues that should only be used internally.
  • virtio rpmsg:

    • deprecate rpmsg_virtio_set_status and rpmsg_virtio_get_status, virtio API should be used instead.

New APIs:

  • rpmsg:

    • Add new rpmsg_ept_release_cb to inform application that a endpoint has been released.
  • virtio rpmsg:

    • rpmsg_virtio_get_rx_buffer_sizeand rpmsg_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

Full Changelog: v2023.10.0...v2024.05.0