💥 Breaking changes
libphoenix
- cleanup headers (phoenix-rtos/libphoenix#339)
- msg API changes (phoenix-rtos/libphoenix#351)
phoenix-rtos-corelibs
- cleanup headers (phoenix-rtos/phoenix-rtos-corelibs#52)
- libstorage: adapt to msg api change (phoenix-rtos/phoenix-rtos-corelibs#54)
phoenix-rtos-devices
- !stm32l4-multi: Create iface special file using create_dev (phoenix-rtos/phoenix-rtos-devices#480)
- imxrt-multi: More flexible peripheral configuration (phoenix-rtos/phoenix-rtos-devices#468)
- msg API changes (phoenix-rtos/phoenix-rtos-devices#476)
phoenix-rtos-kernel
- !syscalls: change mmap/munmap API to allow setting errno (phoenix-rtos/phoenix-rtos-kernel#533)
- cleanup headers (phoenix-rtos/phoenix-rtos-kernel#518)
- msg API changes (phoenix-rtos/phoenix-rtos-kernel#528)
phoenix-rtos-utils
- cleanup headers (phoenix-rtos/phoenix-rtos-utils#216)
- psh: reimplement 'kill' command (phoenix-rtos/phoenix-rtos-utils#215)
plo
- cleanup headers (phoenix-rtos/plo#313)
✨ New features
libphoenix
- arm: reorganize files, optimize memcpy, memset (phoenix-rtos/libphoenix#347)
- riscv64: add system reset handling (phoenix-rtos/libphoenix#338)
- update setjmp (phoenix-rtos/libphoenix#345)
phoenix-rtos-build
- add setup and test execution script (phoenix-rtos/phoenix-rtos-build#182)
- Enable optional libposixsrv on STM32L4 (phoenix-rtos/phoenix-rtos-build#179)
- host-generic: install kernel headers (phoenix-rtos/phoenix-rtos-build#178)
- Pass address of NOMMU kernel from project (phoenix-rtos/phoenix-rtos-build#183)
phoenix-rtos-corelibs
- Add Tiny AES library (phoenix-rtos/phoenix-rtos-corelibs#53)
phoenix-rtos-devices
- adc/ad7779: add support for setting DOUT drive strength (phoenix-rtos/phoenix-rtos-devices#475)
- Add libtinyaes required by meterfs (phoenix-rtos/phoenix-rtos-devices#474)
- ade7913: add on/off power supply control, extend flexpwm (phoenix-rtos/phoenix-rtos-devices#414)
- imxrt-flash: Add IS25LP256 NOR flash support (phoenix-rtos/phoenix-rtos-devices#482)
- imxrt-multi: add CM4 core reset (phoenix-rtos/phoenix-rtos-devices#467)
- imxrt-multi: More flexible peripheral configuration (phoenix-rtos/phoenix-rtos-devices#468)
- sparcv8leon3: add DMA support to uart driver (phoenix-rtos/phoenix-rtos-devices#469)
- stm32l4-multi: Add configuration of interface thread number (phoenix-rtos/phoenix-rtos-devices#489)
- stm32l4-multi: add support for optional libposixsrv (phoenix-rtos/phoenix-rtos-devices#470)
phoenix-rtos-filesystems
- meterfs: Add file payload encryption option (phoenix-rtos/phoenix-rtos-filesystems#124)
phoenix-rtos-kernel
- arm: add optimized memcpy and memset implementations (phoenix-rtos/phoenix-rtos-kernel#526)
- hal: armv8m: add reboot platformctl for nrf91 (phoenix-rtos/phoenix-rtos-kernel#519)
- riscv64: add system reset handling (phoenix-rtos/phoenix-rtos-kernel#516)
phoenix-rtos-lwip
- drivers/ephy: more dynamic support for KSZ8081 RNA/RND variants (phoenix-rtos/phoenix-rtos-lwip#89)
phoenix-rtos-project
- add DMA configuration for
gr716-mimas
(#1018) - build: Add support for different docker images (#1023)
- Enable (optional) libposixsrv on stm32l4 nucleo (#1019)
phoenix-rtos-tests
- [adamdebek/ci 406/407](trunner: adjust soft reset time; unity-harness: increase timeout on nightly) (phoenix-rtos/phoenix-rtos-tests#320)
- busybox: enable tests on armv7a7-imx6ull (phoenix-rtos/phoenix-rtos-tests#344)
- host-flash/meterfs: Add libtinyaes (phoenix-rtos/phoenix-rtos-tests#328)
- libtinyaes: adapt tests for execution in a test runner and CI (phoenix-rtos/phoenix-rtos-tests#342)
- mem: add mprotect tests (phoenix-rtos/phoenix-rtos-tests#292)
- posix: unix socket tests (peer socket close, poll) (phoenix-rtos/phoenix-rtos-tests#85)
- requirements: add library to detect & reset USB devices (phoenix-rtos/phoenix-rtos-tests#333)
phoenix-rtos-utils
- psh/sysexec: Add option to deamonize a new process (phoenix-rtos/phoenix-rtos-utils#217)
plo
- Decreasing plo size (phoenix-rtos/plo#320)
- imxrt-flash: Add IS25LP256 NOR flash support (phoenix-rtos/plo#321)
- riscv64: add system reset handling (phoenix-rtos/plo#312)
🐛 Bug fixes
libphoenix
- include/setjmp: add alignment to
__jmp_buf
definition (phoenix-rtos/libphoenix#348) - Remove dead code (phoenix-rtos/libphoenix#353)
- stdlib/calloc: fix size overflow check (phoenix-rtos/libphoenix#341)
- strings/ffs: avoid possible recursion (phoenix-rtos/libphoenix#343)
- sys/mman: Set errno on mmap and munmap (phoenix-rtos/libphoenix#354)
- update setjmp (phoenix-rtos/libphoenix#345)
phoenix-rtos-devices
- adc/ad7779: imx6ull: fix ADC reset (phoenix-rtos/phoenix-rtos-devices#471)
- imxrt-flash: remove redundant portRegister (phoenix-rtos/phoenix-rtos-devices#481)
- imxrt-multi/spi: Fix RX FIFO being read too early (phoenix-rtos/phoenix-rtos-devices#462)
- imxrt-multi/uart: add intermediate rx fifo between irq handler and thread (phoenix-rtos/phoenix-rtos-devices#478)
- imxrt-multi: fix bug in spi initialization (phoenix-rtos/phoenix-rtos-devices#486)
- imxrt-multi: More flexible peripheral configuration (phoenix-rtos/phoenix-rtos-devices#468)
- stm32l4-multi/libuart: optimize infiniteRxHandler (phoenix-rtos/phoenix-rtos-devices#473)
- stm32l4-multi/uart: Set txend before setting txbeg for safety (phoenix-rtos/phoenix-rtos-devices#484)
- stm32l4x6-multi: improve libuart DMA (phoenix-rtos/phoenix-rtos-devices#465)
- tty/usbacm: Fix warning (phoenix-rtos/phoenix-rtos-devices#488)
- uart16550: place irq handler in .interrupt section on riscv64 (phoenix-rtos/phoenix-rtos-devices#487)
- usb/ehci: fix root hub descriptors (phoenix-rtos/phoenix-rtos-devices#472)
phoenix-rtos-filesystems
- ext2: fix block allocation error (phoenix-rtos/phoenix-rtos-filesystems#123)
- meterfs: Add missing include (phoenix-rtos/phoenix-rtos-filesystems#122)
- use off_t instead of offs_t (phoenix-rtos/phoenix-rtos-filesystems#120)
phoenix-rtos-kernel
- armv8m: Apply changes regarding arch independent longjmp (phoenix-rtos/phoenix-rtos-kernel#542)
- Cortex-M: Fix pendsv induced crashes (phoenix-rtos/phoenix-rtos-kernel#537)
- Fix occasional triple-faults on ia32 (phoenix-rtos/phoenix-rtos-kernel#532)
- hal/armv7m: Fix invalid memory accesses (phoenix-rtos/phoenix-rtos-kernel#538)
- hal: fix return value for pctl_reboot get on stm32l4 (phoenix-rtos/phoenix-rtos-kernel#520)
- include/posix-types.h: remove unnecessary include (phoenix-rtos/phoenix-rtos-kernel#524)
- lib_strtoul: Fix endptr check (phoenix-rtos/phoenix-rtos-kernel#522)
- posix: fix send() blocking (phoenix-rtos/phoenix-rtos-kernel#521)
- proc/longjmp: Do reschedule in inf loop (phoenix-rtos/phoenix-rtos-kernel#539)
- process: return error on not existing codeMap (phoenix-rtos/phoenix-rtos-kernel#534)
- Remove dead code and comment #if 0 (phoenix-rtos/phoenix-rtos-kernel#531)
- Revert "proc/longjmp: Do reschedule in inf loop" (phoenix-rtos/phoenix-rtos-kernel#541)
- vm: Add static to _page_alloc() (phoenix-rtos/phoenix-rtos-kernel#540)
phoenix-rtos-ports
- busybox: fix ash segfaults after interrupting applet (phoenix-rtos/phoenix-rtos-ports#73)
phoenix-rtos-project
phoenix-rtos-tests
- libc: disable built-in optimizations (phoenix-rtos/phoenix-rtos-tests#314)
- mem: disable test-mprotect-fault because of an issue (phoenix-rtos/phoenix-rtos-tests#322)
- micropython: fix REPL harness (phoenix-rtos/phoenix-rtos-tests#316)
- psh: make test-kill more flexible (phoenix-rtos/phoenix-rtos-tests#330)
phoenix-rtos-usb
- Fix warning (phoenix-rtos/phoenix-rtos-usb#32)
- usb/dev.c: fix parsing of device configuration (phoenix-rtos/phoenix-rtos-usb#30)
phoenix-rtos-utils
- psh: fix top formatting (phoenix-rtos/phoenix-rtos-utils#218)
plo
- cmds/call: stop script processing on '\0' (phoenix-rtos/plo#325)
- Fix script processing issues (phoenix-rtos/plo#316)
- hal/armv7m: Fix invalid memory accesses (phoenix-rtos/plo#324)
- syspage_entryAdd: fix map size check (phoenix-rtos/plo#323)
Other
libphoenix
- arm/memcpy: optimize register usage (phoenix-rtos/libphoenix#350)
- include: remove EMSGSIZE errno (phoenix-rtos/libphoenix#344)
- riscv64/reboot: fix include path (phoenix-rtos/libphoenix#340)
- sys: remove duplicate kernel definitions from events.h & file.h (phoenix-rtos/libphoenix#349)
phoenix-rtos-build
- host-generic: Add libtinyaes to core build (phoenix-rtos/phoenix-rtos-build#180)
- make: add -fno-common to CFLAGS (phoenix-rtos/phoenix-rtos-build#181)
phoenix-rtos-corelibs
- libstorage: adapt to msg api change (phoenix-rtos/phoenix-rtos-corelibs#54)
- libtinyaes: fix header installation (phoenix-rtos/phoenix-rtos-corelibs#55)
phoenix-rtos-devices
- fix warnings (phoenix-rtos/phoenix-rtos-devices#479)
- update installed headers include path (phoenix-rtos/phoenix-rtos-devices#466)
phoenix-rtos-doc
- building: toolchain errors and warinings (phoenix-rtos/phoenix-rtos-doc#172)
- doc: add alternative names of libraries to docs (phoenix-rtos/phoenix-rtos-doc#177)
- K arkadiusz/docs update (phoenix-rtos/phoenix-rtos-doc#173)
- kernel: add msg documentation (phoenix-rtos/phoenix-rtos-doc#189)
- kernel: remove deprecated syscalls descriptions (phoenix-rtos/phoenix-rtos-doc#178)
- kernel: replace images with transparency (phoenix-rtos/phoenix-rtos-doc#184)
- psdisk: correct the images with output from terminal (phoenix-rtos/phoenix-rtos-doc#183)
- psdisk: correct the images with output from terminal (phoenix-rtos/phoenix-rtos-doc#187)
- psh: update psh-applets (phoenix-rtos/phoenix-rtos-doc#180)
- quickstart: resize images (phoenix-rtos/phoenix-rtos-doc#182)
- quickstart: unify convention of imx6ull related images (phoenix-rtos/phoenix-rtos-doc#185)
- update empty docs (phoenix-rtos/phoenix-rtos-doc#174)
- utils: correct a few headers (phoenix-rtos/phoenix-rtos-doc#188)
phoenix-rtos-filesystems
- jffs2/phoenix-rtos: add
extern
keyword to init_user_ns (phoenix-rtos/phoenix-rtos-filesystems#125) - msg API changes (phoenix-rtos/phoenix-rtos-filesystems#126)
phoenix-rtos-kernel
- arm/memcpy: optimize register usage (phoenix-rtos/phoenix-rtos-kernel#527)
- ia32/syspage: add ACPI MCFG table pointer (phoenix-rtos/phoenix-rtos-kernel#530)
- include: add events.h and file.h headers (phoenix-rtos/phoenix-rtos-kernel#525)
- sparcv8leon3: include cpu-specific headers in sparcv8leon3.h (phoenix-rtos/phoenix-rtos-kernel#523)
phoenix-rtos-lwip
- fix warnings (phoenix-rtos/phoenix-rtos-lwip#92)
- msg API changes (phoenix-rtos/phoenix-rtos-lwip#91)
- update installed headers (phoenix-rtos/phoenix-rtos-lwip#90)
phoenix-rtos-posixsrv
- msg API changes (phoenix-rtos/phoenix-rtos-posixsrv#24)
phoenix-rtos-project
- _projects: Adapt to PLO device selection (#1045)
- _targets: Adapt to passing KERNEL_PHADDR on NOMMU (#1051)
- Change msg API (#1035)
phoenix-rtos-tests
- enable most of the tests on riscv64-qemu (phoenix-rtos/phoenix-rtos-tests#318)
- Import libtinyaes tests (phoenix-rtos/phoenix-rtos-tests#329)
- libc: scanf: fixing squareBrackets ranges (phoenix-rtos/phoenix-rtos-tests#323)
- libc: stat: enable fifo_type test case (phoenix-rtos/phoenix-rtos-tests#321)
- libc: stat: enable fifo_type test case on stm32 (phoenix-rtos/phoenix-rtos-tests#325)
- libc: unix-socket: separate test cases (phoenix-rtos/phoenix-rtos-tests#331)
- libcache: remove variable declarations from header (phoenix-rtos/phoenix-rtos-tests#332)
- libuuid: enable tests on armv7m7 targets (phoenix-rtos/phoenix-rtos-tests#347)
- msg API changes (phoenix-rtos/phoenix-rtos-tests#338)
- test-grlib-multi: fix warning (phoenix-rtos/phoenix-rtos-tests#340)
- trunner: adjust imx6ull soft reset time (phoenix-rtos/phoenix-rtos-tests#341)
- trunner: change style of printing flash output (phoenix-rtos/phoenix-rtos-tests#348)
- unity tests: return non zero exit code when test failed (phoenix-rtos/phoenix-rtos-tests#343)
- update installed headers include path (phoenix-rtos/phoenix-rtos-tests#319)
- waitpid: increase wait time (phoenix-rtos/phoenix-rtos-tests#313)
phoenix-rtos-usb
- msg API changes (phoenix-rtos/phoenix-rtos-usb#31)
phoenix-rtos-utils
- msg API changes (phoenix-rtos/phoenix-rtos-utils#219)
plo
- Enable custom FlexRAM configuration on imxrt1176 (phoenix-rtos/plo#319)
- ia32/acpi: add MCFG table handler (phoenix-rtos/plo#318)
- ia32/pci: extend PCI bus function set (phoenix-rtos/plo#317)