Releases: OpenAMP/libmetal
Libmetal release V2024.10.0 - v1.7.0
This release:
- updates Xilinx/AMD machine name introducing
PROJECT_VENDOR=xlnx
cmake option, - cleanups internal APIs for the Linux system,
- introduces
metal_yield
API, - fixes compilation error introduce by the use of
__arm__
preprocessor to identify armcc compiler, - Fixes some issues related to the NuttX system.
API Updates:
- sys.h:
- Add
metal_yield
helper to manage the yield by the Oses instead of the processors.
- Add
- Linux
- remove useless APIs from .h that were declared under
METAL_INTERNAL
- remove useless APIs from .h that were declared under
Deprecation:
- The Zynq-7000 SoC is no more supported
What's Changed
- Xlnx cmake machine name change by @bentheredonethat in #302
- CI: fix zephyr build for v3.7 and later by @wmamills in #306
- CI: Do Zephyr build tests on known good and latest versions by @wmamills in #307
- zynq: Remove support for Zynq-7000 SoC by @rajimoha in #303
- Linux system internal refactoring by @glneo in #288
- lib: system: fix missing metal_yield API for generic systems. by @arnopo in #318
- lib: fix compile error by @wyr-7 in #312
- lib: processor: hosted: fix compilation warning in metal_cpu_yield by @arnopo in #319
- lib: system: nuttx: fix undeclared parameter compile error by @wyr-7 in #315
- lib: system: nuttx: include <stddef.h> in io.c by @wyr-7 in #317
- release: libmetal 2024.10.0 by @arnopo in #320
Full Changelog: v2024.05.0...v2024.10.0
Libmetal release V2024.05.0 - v1.6.0
This release:
- Add support of arm compiler v6,
- Add support of a hosted test environment "processor"
- Refactor all processor headers which had the same content into a generic set,
- miscellaneous fixes and code improvements.
API Updates:
- list.h:
- Add
metal_list_for_each_safe
helper.
- Add
What's Changed
- libmetal: add metal_list_for_each_safe() support by @yintao707 in #251
- libmetal: set ept address loop++ in bitmap by @GUIDINGLI in #263
- lib: compiler support of arm compiler v6 by @arnopo in #270
- lib: add guards for errno values for ARMCC compiler by @ldaj00 in #271
- Add support for Zephyr's native test environment by @aescolar in #260
- zephyr: use k_cpu_idle instead of arch_cpu_idle by @dcpleung in #276
- Zephyr integration: Use K_HEAP_MEM_POOL_SIZE by @jhedberg in #280
- Latest Xilinx-AMD System Device Tree flow update by @bentheredonethat in #281
- lib: xlnx: Avoid mapping in MPU for region mapped by bsp by @tnmysh in #282
- FreeRTOS Avoid mem mapping in MPU for region mapped by @rajimoha in #284
- libmetal/nuttx/io.c: width matched access when read/write size = 1,2,4,8 by @CV-Bowen in #279
- lib: system: MPU flag check fix for xilinx platform by @rajimoha in #285
- Zephyr updates by @glneo in #290
- test/metal-test.h: Fix warning -Wstrict-prototypes by @Novembre-Calabretta in #293
- CI: fix timezone and pip3 issues by @arnopo in #294
- lib: Do not label function declarations in headers with extern by @glneo in #289
- lib: fix doxygen warning in log.h by @arnopo in #296
- lib: Fix available error message in softirq by @glneo in #286
- release: libmetal 2024.05.0 by @arnopo in #298
New Contributors
- @yintao707 made their first contribution in #251
- @GUIDINGLI made their first contribution in #263
- @ldaj00 made their first contribution in #271
- @dcpleung made their first contribution in #276
- @jhedberg made their first contribution in #280
- @rajimoha made their first contribution in #284
- @CV-Bowen made their first contribution in #279
- @Novembre-Calabretta made their first contribution in #293
Full Changelog: v2023.10.0...v2024.05.0
Libmetal release V2023.10.0 - v1.5.0
This release:
- add support of Xilinx/AMD Versal and Versal_Net SoCs,
- Rationalize source code for the Xilinx/AMD SoCs support (users may have to define
XLNX_PLATFORM
option), - Add possibility to add function name and line in metal logs,
- add a call reference count for metal_init and metal_deinit,
- miscellaneous fixes.
API Updates:
None
What's Changed
- CI fixes by @arnopo in #238
- Add Versal SOC family support by @bentheredonethat in #237
- CI: Fix checkpatch by @arnopo in #243
- Add reference count to metal_common_state by @xiaoxiang781216 in #244
- lib: refactor alloc.h to not need forward declaration by @glneo in #245
- Export each of the memory_order enumerators by @kernelchuk in #247
- lib: system: freertos: Add metal/errno.h to match standalone by @bentheredonethat in #248
- lib: utilities: add MB and GB defines by @tnmysh in #249
- CI: Fix Zephyr build by updating Zephyr SDK version to 0.16.1 by @arnopo in #253
- Some suggestions for minor text improvements in the docs by @gromero in #255
- Docs: enable readthedocs rendering (for PRs) by @wmamills in #256
- Docs: fix for the readthedocs PR rendering by @wmamills in #259
- README: Point people to the offical docs not the wiki by @wmamills in #258
- github action: add stales action by @arnopo in #261
- log: add function name, line number prefix by @kernelchuk in #254
- Fix Zephyr testcase with latest Zephyr by @aescolar in #267
- Minor improvements in entrypoint CI script by @aescolar in #266
- Remove vim editor configuration in files by @arnopo in #264
- Add xilinx a72 and a78 by @bentheredonethat in #252
- github action: Fix stales action to not close PR/issue after 7 days by @arnopo in #273
- CI: Zephyr: Get latest version of the zephyr sdk by @arnopo in #274
- release: libmetal 2023.10.0 by @arnopo in #275
New Contributors
- @glneo made their first contribution in #245
- @tnmysh made their first contribution in #249
- @gromero made their first contribution in #255
- @wmamills made their first contribution in #256
- @aescolar made their first contribution in #267
Full Changelog: v2023.04.0...v2023.10.0
Libmetal release V2023.04.0 - v1.4.0
This release:
- update license file to cover CI test. Notice that the library is till using BSD -3-Clause license
- fixes various bugs.
API Updates:
- remove FreeRTOS deprecated METAL_MUTEX_INIT API.
What's Changed
- zephyr: cache: Use new cache API by @carlocaione in #223
- Update LICENSE.md to cover CI test scripts by @kernelchuk in #224
- examples: use atomic_flag type, __sync functions by @kernelchuk in #221
- cmake: use set_property for PROJECT_EC_FLAGS by @kernelchuk in #228
- readme: Fix broken openamp-rp mailing list link by @hiagofranco in #229
- NuttX: Add missing include header in IRQ implementation by @gustavonihei in #230
- lib: system: freertos: remove deprecated METAL_MUTEX_INIT by @arnopo in #233
- checkpatch: fix TYPO_SPELLING check for words with apostrophe by @arnopo in #232
- CI: fix zephyr cmake error "No prj.conf file was found" by @arnopo in #234
- release: open-amp 2023.04.0 by @arnopo in #235
New Contributors
- @hiagofranco made their first contribution in #229
- @gustavonihei made their first contribution in #230
Full Changelog: v2022.10.0...V2023.04.0
Libmetal release V2022.10 - v1.3.0
This release:
- adds a new API to manage list,
- performs some update for the Zephyr and the zynqmp_r5 platform support,
- fixes various bugs.
API Updates:
- add metal_list_find_node which will return true if a node is in a list.
What's Changed
- Create an eventfd object with
EFD_CLOEXEC
flag, to avoid leaking file descriptor to child processes by @Tosainu in #204 - Simplify zephyr MACHINE and map processor arm64 -> aarch64 by @quic-egmc in #208
- zephyr: update include paths to use <zephyr/...> by @gmarull in #210
- CMake: Remove deprecation warnings by @edmooring in #212
- CI: Fix Zephyr build by updating Zephyr SDK version to 0.15.0 by @arnopo in #219
- zynqmp_r5: replace Xil_SetMPURegion with Xil_MemMap by @kernelchuk in #218
- cmake: set PROJECT_EC_FLAGS to be GLOBAL property by @kernelchuk in #220
- New routine to find a node on a list by @tammyleino in #217
New Contributors
- @Tosainu made their first contribution in #204
- @quic-egmc made their first contribution in #208
- @gmarull made their first contribution in #210
- @kernelchuk made their first contribution in #218
- @tammyleino made their first contribution in #217
Full Changelog: v2022.04.0...v2022.10.0
Libmetal release V2022.04 - v1.2.0
This release:
- Adds support of the RISCV and Xtensa for Zephyr sytem
- Implements the meta_sleep for Zephyr
- Fixes various bugs, typos and improve CI tests.
What's Changed
- CI: Use 'main' branch instead of 'master'. by @edmooring in #191
- lib: fix compilation error with gcc++ by @arnopo in #190
- Fix various typos by @luzpaz in #189
- zephyr: Enable support for RISCV by @carlocaione in #194
- zephyr: Enable support for Xtensa by @dbaluta in #197
- CI: add Zephyr build test for RISCV architecture by @arnopo in #195
- freertos: io: fix IAR compile error due to 'void *' variable by @arnopo in #198
- lib: system: zephyr: implement __metal_sleep_usec by @emfend in #200
- CI: enable codespell check by @arnopo in #202
- Doc: fix doc generation warnings in system sleep.h files by @arnopo in #203
- checkpatch: Increase the default limit to 100 characters by @arnopo in #205
- release: libmetal 2022.04.0 by @arnopo in #209
New Contributors
- @luzpaz made their first contribution in #189
- @dbaluta made their first contribution in #197
- @emfend made their first contribution in #200
Full Changelog: v2021.10.0...v2022.04.0
Libmetal v2021.10 Release
This release:
- FreeRTOS: fix reschedule on semaphore issue (METAL_MUTEX_INIT has been deprecated as useless)
- Enable support of AArch32 processor in Zephyr
- Fixes various bugs and issues.
- Enable support of Xtensa processor
Arnaud Pouliquen (11):
cmake: fix VERSION file path
CI: Fix Zephyr build by updating Zephyr SDK version
CI: Fix Zephyr build by updating Zephyr SDK version to 13.0
CI: Fix Zephyr build error due to cmake version
CI: Fix Zephyr build by updating Zephyr SDK version to 0.13.1
test: zephyr: fix 'errno' undeclared
test: fix cmake warning: "Policy CMP0115 is not set"
Revert "lib: system: freertos: mutex: change to use atomic_int instead of freertos construct"
system:freertos: fix typo in sys.c path
lib: system: freertos: mutex: add deprecated message for METAL_MUTEX_INIT
release: libmetal 2021.10
Carlo Caione (1):
zephyr: cache: Use new Zephyr cache APIs
Ed Mooring (1):
MAINTAINERS: update maintainer email address.
Guiding Li (2):
libmetal: add xtensa support
libmetal: fix the type miss match warning in nuttx porting
Jiuzhu Dong (1):
openamp/libmetal: fix Non-zero offsets to null pointers
Julien Massot (1):
zephyr: enable support for Arm AArch32 processors
Lane Kolbly (1):
linux: device: unmap regions for linux device
Mark-PK Tsai (1):
io: add null pointer check in io block ops
Libmetal v2021.04 Release
This release introduces semantic versioning for the libmetal API (see http://semver.org/). It also improves support for the ARMCC and EWARM compilers and fixes some bugs.
Arnaud Pouliquen (13):
io: fix IAR compile error due to 'void *' variable
atomic: fix typo in the header file comments
generic: fix compilation error when compiling using IAR
compiler: Add specific errno.h file for EWARM compilation
lib: include metal/errno instead of errno.h
Update exemple and tests to include metal/errno.h
test: Zephyr: replace k_mem_pool deprecated API
Generate a compiler error when ARMCC is not using GNU extentions
compiler: Add support of metal/errno.h for ARMCC
README: Add reference to the semver for the versionning
Rework the version management
CI: compliance: fail on errors
CI: compliance: fix check_compliance workflow
Ed Mooring (1):
FreeRTOS: Allow tick rates greater than 1000 for metal_sleep_usec().
Haithem Rahmani (1):
Make ARMCC use GCC atomic routines
Leo Sartre (3):
lib/system/linux: fix memory leak in metal_uio_read_map_attr()
lib/system/linux: pass correct offset to metal_map()
README.md: note about non page aligned devices on Linux
Libmetal v2020.10 Release
- Enhanced Continuous Integration using GitHub actions rather than Travis.
- Update CMake minimum version to 3.0.2
- Improved C11 compliance
- Bug fixes
Arnaud Pouliquen (8):
cmake: fix HUGETLBFS and LIBSYSFS naming warning
compiler: introduce __deprecated attribute
CI: add target build ci action
CI: add build action in CI workflow
test: fix zephyr test
CI: suppress travis actions
CI: rework compliance test
CI: fix compliance check false report when merge a PR.
Bobby Noelte (1):
gcc: use typeof instead of typeof in atomic.h
Ed Mooring (3):
FreeRTOS: fix sleep and timestamp handling
CMake: Update CMake minimum version to 3.0.2.
Xilinx: Make xilmem and xilstandalone library linkage conditional.
Kumar Gala (1):
zephyr: Fix metal_get_timestamp implementation
Simon Leiner (5):
Introduce metal_asm
Use metal_asm instead of asm and asm
Stop using atomic_flag_*() for atomic_int in mutex
Use when compiled as C++
Perform strict typecasts for atomic_store_explicit
Torsten Rasmussen (1):
cmake: set the policy CMP0077 to NEW
Xiang Xiao (1):
system: nuttx: change clock_systimespec to clock_systime_timespec
Libmetal v2020.04 Release
Libmetal 2020.04 Release Notes
New features:
Added checkpatch and gitlint for checking commits and code style.
Updated documentation.
Various bug fixes.