Hi All, barebox-2021.04.0 is out. This release brings us nice improvements for the RISC-V architecture. barebox for RISC-V now has full PBL support and builds a generic 2nd state dt image to be used with Qemus virt machine. See Documentation/boards/riscv.rst, it's worth checking out. The second great feature this time is cooperative multitasking support. It is implemented using setjmp/longjmp and is available on all supported architectures. Multitasking is currently unused unless explicitly enabled in Kconfig. When enabled all that's currently available is a test command, but in future pollers can be implemented using threads and porting over kernel code could become simpler. As usual, see the full list of changes below. Thank you all for participating! Have Fun! Sascha ---------------------------------------------------------------- Ahmad Fatoum (61): usb: storage: refactor usb 32-bit capacity read usb: storage: add support for drivers larger than 2TiB mtd: cfi-flash: fail gracefully instead of crashing on NULL page usb: dwc2: fix mismatching argument to printf format specifier MIPS: qemu-malta: make barebox Malta images detectable video: add simplefb driver virtio: align virtio_config_ops::generation return type with Linux virtio: remove unused, left-over, virtio_config_ops::set_features hw_random: virtio: simplify code dma: move dma_map/unmap_single from ARM to common code virtio: ring: fix erroneous behavior around caches and MMU virtio: fix support for big-endian clients PCI: port Linux pci_find_capability virtio: support virtio-based device drivers over PCI virtio: virtio-pci: restrict MIPS support to MMU configuration ARM64: qemu-virt64: remove dead CPU identification code common: introduce HAS_ARCH_SJLJ ARM: asm: setjmp: annotate setjmp/longjmp for GCC resource: include region name in conflict's debug output sandbox: add Xterm escape sequence backed LED driver param: drop unused left-over struct members fs: delete unused members in <linux/stat.h> kbuild: add '-fno-stack-check' to barebox build options kbuild: add '-fcf-protection=none' to barebox build options phy: stm32: sync with upstream ARM: stm32mp: add support for STM32MP157-EV1 board ARM: stm32mp: defconfig: enable DWC2 USB OTG controller ARM: asm: setjmp: implement coroutine dependency initjmp() sandbox: asm: implement setjmp/longjmp/initjmp x86: implement setjmp/longjmp/initjmp common: poller: replace explicit calls to poller_call() with resched() console: unconditionally run resched() in ctrlc() ARM64: qemu-virt64: migrate to generic DT image ARM64: qemu-virt64: enable Virt IO and other useful options ARM64: board-dt-2nd: adopt kernel image header common: introduce bthreads, co-operative barebox threads commands: add new bthread test command bthread: disable ASan accounting for fibers on 32-bit sandbox partitions: don't allocate dma capable memory images: make BOARD_ARM_GENERIC_DT available for other arches ARM: make ARM_USE_COMPRESSED_DTB available for other arches ARM: aarch64: omit unused label in assembly serial: virtio-console: depend on, but don't select VIRTIO RISC-V: <asm/unaligned.h>: don't do unaligned accesses RISC-V: debug_ll: ns16550: align C access size with assembly's RISC-V: drop duplicate or unneeded cflags RISC-V: add cacheless HAS_DMA support RISC-V: erizo: move to arch/riscv/boards/erizo RISC-V: import Linux' optimized string functions filetype: detect RISC-V images RISC-V: implement PBL image header RISC-V: implement PBL and relocation support RISC-V: erizo: migrate to PBL RISC-V: support symbol names in barebox image RISC-V: add generic DT image clocksource: add driver for RISC-V and CLINT timers power: reset: add drivers for generic syscon reset and poweroff fs: ext4: fix bogus behavior on failure to read ext4 block RISC-V: cpu: request stack memory region RISC-V: board-dt-2nd: ensure FDT doesn't overlap with early mem regions RISC-V: boot: move stack top to very end of memory Alexander Kurz (1): ARM: i.MX8M: bbu: fix variable name to used semantic Antony Pavlov (6): bootm: add RISC-V image type clocksource: timer-riscv: adapt riscv_timer_get_count_rdcycle() for RV32 RISC-V: erizo.dtsi: set timebase-frequency = <24000000> RISC-V: drop old timer handling code Documentation: dlink-dir-320: update image file name Documentation: dlink-dir-320: update device links Denis Osterland-Heim (1): image-fit: ignore rsa by image selection Jules Maselbas (11): usb: gadget: dfu: call do_close also when not in safe mode usb: gadget: dfu: Simplify state handle usb: dwc2: Make dwc2_wait_bit_set wait all bits in mask usb: dwc2: Replace pr_info with dev_warn usb: dwc2: Rework dwc2_wait_for_mode to use wait_on_timeout usb: dwc2: Move wait_for_mode and iddig_filter_enabled to core usb: dwc2: Rework wait for host mode during core reset reset: Remove WARN_ON when CONFIG_RESET_CONTROLLER=n kvx: Implement setjmp/longjmp/initjmp kvx: Request enough privilege to boot Linux kvx: lib: dtb: Remove unused variable Michael Tretter (5): dts: zcu104: remove unnecessary ZynqMP clock dtsi net: phy: dp83867: convert driver to spdx net: phy: dp83867: fix checkpatch checks and warnings net: phy: dp83867: remove useless call to genphy_config_aneg net: macb: add tx clock rate for 10 MBit link Oleksij Rempel (1): ARM: dts: protonic: drop all devictree copies and start to use mainlined kernel versions Rouven Czerwinski (3): scripts: imx-image: add error handling for pwrite RISC-V: add 64-bit support RISC-V: add Qemu virt support Sascha Hauer (32): fs: ubifs: remove unused variable stringlist: Add adding sort uniq stringlist: Initialize HEAD str member to NULL complete: Use string_list_add_sort_uniq() dts: update to v5.12-rc1 dts: update to v5.12-rc2 dts: update to v5.12-rc3 blspec: Check if already mounted before mounting riscv: Add asm/asm.h riscv: Add asm/linkage.h riscv: Implement setjmp/longjmp/initjmp for RV32I mips: Add linkage.h mips: Implement setjmp/longjmp/initjmp for 32BIT powerpc: Implement initjmp/setjmp/longjmp ARM: remove Calxeda Highbank support of: Return copy of live tree as fixed tree reboot-mode: drop now unnecessary check Merge branch 'for-next/arch-remove' Merge branch 'for-next/arm-qemu-virt64' Merge branch 'for-next/bthreads' Merge branch 'for-next/dts' Merge branch 'for-next/misc' Merge branch 'for-next/net' Merge branch 'for-next/riscv' Merge branch 'for-next/spdx' Merge branch 'for-next/usb' Merge branch 'for-next/virtio' ARM: i.MX: Fix overwriting defaultenv with zii board specific env dts: update to v5.12-rc4 dts: update to v5.12-rc5 dts: update to v5.12-rc7 Release v2021.04.0 Stafford Horne (4): openrisc: Use movhi to zero registers openrisc: Add gitignore for dtb files openrisc: Add linkage.h openrisc: Implement setjmp/longjmp/initjmp Stefan Riedmueller (6): fs: Fix default mount when device already mounted mtd: Notify user when erasure of a block failed during erase op commands: Kconfig: Remove HW ECC dependency from nandtest nandtest: Fix status print for NAND which size exceeds 4 GB mtd: nand_msx: Implement ooblayout ops imx-bbu-nand-fcb: Inform user if the barebox partition is too small Thomas Haemmerle (4): net: phy: dp83867: simplify dp83867_config_init net: phy: dp83867: remove explicit setting of cfg2 net: phy: dp83867: read status from PHY status register PHYSTS net: phy: dp83867: enable link downshift by default Uwe Kleine-König (1): gpio: Replace license and copyright boilerplate by SPDX identifiers Yann Sionneau (2): kvx: Implement dcache invalidation primitive kvx: Implement dma handling primitives -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox