diff --git a/Makefile b/Makefile index 6dee6d8..10ede5b 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ environment+=BAO_DEMOS_SDCARD=/media/$$USER/boot all: platform bao_repo:=https://github.com/bao-project/bao-hypervisor -bao_version:=demo +bao_version:=v2.0-rc3 bao_src:=$(wrkdir_src)/bao bao_cfg_repo:=$(wrkdir_demo_imgs)/config wrkdirs+=$(bao_cfg_repo) diff --git a/README.md b/README.md index d8e3449..e9458fa 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ systems and targeting several supported platforms. The available demos are: * [Dual-guest Linux+FreeRTOS](demos/linux+freertos/README.md) * [Dual-Guest Linux+Zephyr](demos/linux+zephyr/README.md) * [Dual-Guest Zephyr+Baremetal](demos/zephyr+baremetal/README.md) - +* [VirtIO Demo](demos/virtio/README.md) --- @@ -45,15 +45,19 @@ architecture: a) For Armv8 Aarch64, use the **aarch64-none-elf-** toolchain. -Download it from the [Arm Developer's][arm-toolchains] website. +Download it from the [Arm Developer's website][aarch64-toolchains]. b) For Armv7 or Armv8 Aarch32, use the **arm-none-eabi-** toolchain. -Download it from the [Arm Developer's][arm-toolchains] website. +Download it from the [Arm Developer's website][aarch32-toolchains]. + +c) For RISC-V RV64, use the **riscv64-unknown-elf-** toolchain. -c) For RISC-V, use the **riscv64-unknown-elf-** toolchain. +Download it from [Bao's Project RISC-V Toolchain repo][riscv64-toolchain]. -Download it from [SiFive's Freedom Tools][riscv-toolchains] github reposiroty. +d) For RISC-V RV32, use the **riscv32-unknown-elf-** toolchain. + +Download it from [Bao's Project RISC-V Toolchain repo][riscv32-toolchain]. Install the toolchain. Then, set the **CROSS_COMPILE** environment variable with the reference toolchain prefix path: @@ -62,6 +66,11 @@ with the reference toolchain prefix path: export CROSS_COMPILE=/path/to/toolchain/install/dir/bin/your-toolchain-prefix- ``` +For RISC-V, also set: +``` +export OPENSBI_CROSS_COMPILE=/path/to/toolchain/install/dir/bin/riscv64-unknown-linux-gnu- +``` + ## 1. Setup base environment Clone this repo and cd to it: @@ -179,7 +188,7 @@ Clone Bao's repo to the the working directory: ``` export BAO_DEMOS_BAO=$BAO_DEMOS_WRKDIR_SRC/bao git clone https://github.com/bao-project/bao-hypervisor $BAO_DEMOS_BAO\ - --branch demo + --branch demo-next ``` Copy your config to the working directory: @@ -244,6 +253,8 @@ Build the firmware and deploy the system according to the target platform: | FVP-A AArch32 | fvp-a-aarch32 | aarch32 | | FVP-R AArch32 | fvp-r-aarch32 | aarch32 | | QEMU RV64 virt | qemu-riscv64-virt | riscv64 | +| QEMU RV32 virt | qemu-riscv32-virt | riscv32 | + | | DEMO | | ---------------- | ---------------- | @@ -251,22 +262,24 @@ Build the firmware and deploy the system according to the target platform: | Linux+FreeRTOS | linux+freertos | | Linux+Zephyr | linux+zephyr | | Zephyr+Baremetal | zephyr+baremetal | +| VirtIO | virtio | ## Appendix II -| | baremetal | linux+freertos | linux+zephyr | zephyr+baremetal | -| ----------------- | --------- | -------------- | ------------ | ---------------- | -| zcu102 | x | x | | | -| zcu104 | x | x | | | -| imx8qm | x | x | | | -| tx2 | x | x | | | -| rpi4 | x | x | x | | -| qemu-aarch64-virt | x | x | x | | -| fvp-a-aarch64 | x | x | x | x | -| fvp-a-aarch32 | x | x | x | x | -| fvp-r-aarch64 | x | x | x | x | -| fvp-r-aarch32 | x | | | x | -| qemu-riscv64-virt | x | x | | | +| | baremetal | linux+freertos | linux+zephyr | zephyr+baremetal | virtio | +| ----------------- | --------- | -------------- | ------------ | ---------------- | ---------------- | +| zcu102 | x | x | | | x | +| zcu104 | x | x | | | x | +| imx8qm | x | x | | | | +| tx2 | x | x | | | | +| rpi4 | x | x | x | | x | +| qemu-aarch64-virt | x | x | x | | x | +| fvp-a-aarch64 | x | x | x | x | | +| fvp-a-aarch32 | x | x | x | x | | +| fvp-r-aarch64 | x | x | x | x | | +| fvp-r-aarch32 | x | | | x | | +| qemu-riscv64-virt | x | x | | | x | +| qemu-riscv32-virt | x | x | | | | --- @@ -275,18 +288,21 @@ Build the firmware and deploy the system according to the target platform: | Tool | Version | | ----------------------- | ------- | -| arm-none-eabi-gcc | 11.3.1 | -| aarch64-none-elf-gcc | 11.2.1 | -| riscv64-unknown-elf-gcc | 10.2.0 | -| make | 4.2.1 | -| dtc | 1.5.0 | -| gcc | 9.3.0 | -| mkimage | 20.10 | -| cmake | 3.20.0 | +| arm-none-eabi-gcc | 14.2.1 | +| aarch64-none-elf-gcc | 14.2.1 | +| riscv64-unknown-elf-gcc | 13.2.0 | +| make | 4.3 | +| dtc | 1.6.1 | +| gcc | 11.4.0 | +| mkimage | 2022.01 | +| cmake | 3.22.1 | | ninja | 1.10.1 | -[arm-toolchains]: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads -[riscv-toolchains]: https://github.com/sifive/freedom-tools/releases +[aarch64-toolchains]: https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-elf.tar.xz +[aarch32-toolchains]: https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz +[riscv64-toolchain]: https://github.com/bao-project/bao-riscv-toolchain/releases/download/gc891d8dc23e/riscv64-unknown-elf.tar.gz +[riscv32-toolchain]: https://github.com/bao-project/bao-riscv-toolchain/releases/download/gc891d8dc23e/riscv32-unknown-elf.tar.gz + diff --git a/demos/baremetal/configs/fvp-a.c b/demos/baremetal/configs/fvp-a.c index 7b60f0c..15fadcf 100755 --- a/demos/baremetal/configs/fvp-a.c +++ b/demos/baremetal/configs/fvp-a.c @@ -1,11 +1,11 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x90000000, diff --git a/demos/baremetal/configs/fvp-r.c b/demos/baremetal/configs/fvp-r.c index cd2383d..5ca5802 100755 --- a/demos/baremetal/configs/fvp-r.c +++ b/demos/baremetal/configs/fvp-r.c @@ -4,7 +4,7 @@ struct config config = { .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = VM_IMAGE_LOADED(0x10000000, 0x10000000, 100*1024), diff --git a/demos/baremetal/configs/imx8qm.c b/demos/baremetal/configs/imx8qm.c index 959d153..b89316b 100755 --- a/demos/baremetal/configs/imx8qm.c +++ b/demos/baremetal/configs/imx8qm.c @@ -1,13 +1,13 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x80200000, diff --git a/demos/baremetal/configs/qemu-aarch64-virt.c b/demos/baremetal/configs/qemu-aarch64-virt.c index 03f55a3..6dd4bff 100755 --- a/demos/baremetal/configs/qemu-aarch64-virt.c +++ b/demos/baremetal/configs/qemu-aarch64-virt.c @@ -1,13 +1,13 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x50000000, diff --git a/demos/baremetal/configs/qemu-riscv32-virt.c b/demos/baremetal/configs/qemu-riscv32-virt.c new file mode 120000 index 0000000..8c002df --- /dev/null +++ b/demos/baremetal/configs/qemu-riscv32-virt.c @@ -0,0 +1 @@ +qemu-riscv64-virt.c \ No newline at end of file diff --git a/demos/baremetal/configs/qemu-riscv64-virt.c b/demos/baremetal/configs/qemu-riscv64-virt.c index f351b03..4b6be95 100755 --- a/demos/baremetal/configs/qemu-riscv64-virt.c +++ b/demos/baremetal/configs/qemu-riscv64-virt.c @@ -1,13 +1,13 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x80200000, @@ -40,7 +40,7 @@ struct config config = { }, .arch = { - .plic_base = 0xc000000, + .irqc.plic.base = 0xc000000, } }, }, diff --git a/demos/baremetal/configs/rpi4.c b/demos/baremetal/configs/rpi4.c index f6fdc45..cfd0d6b 100755 --- a/demos/baremetal/configs/rpi4.c +++ b/demos/baremetal/configs/rpi4.c @@ -1,13 +1,13 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x200000, diff --git a/demos/baremetal/configs/tx2.c b/demos/baremetal/configs/tx2.c index 71f9db9..0019445 100755 --- a/demos/baremetal/configs/tx2.c +++ b/demos/baremetal/configs/tx2.c @@ -1,12 +1,12 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0xa0000000, diff --git a/demos/baremetal/configs/zcu104.c b/demos/baremetal/configs/zcu104.c index 388685b..db82a4c 100755 --- a/demos/baremetal/configs/zcu104.c +++ b/demos/baremetal/configs/zcu104.c @@ -1,13 +1,13 @@ #include -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { CONFIG_HEADER .vmlist_size = 1, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x20000000, diff --git a/demos/baremetal/make.mk b/demos/baremetal/make.mk index 8bdb1bf..d7c9bdf 100644 --- a/demos/baremetal/make.mk +++ b/demos/baremetal/make.mk @@ -2,8 +2,11 @@ include $(bao_demos)/guests/baremetal/make.mk baremetal_image:=$(wrkdir_demo_imgs)/baremetal.bin +app_src_dir:=$(bao_demos)/demos/baremetal/src +baremetal_args:=APP_SRC_DIR=$(app_src_dir) + ifeq ($(ARCH_PROFILE),armv8-r) -baremetal_args:=MEM_BASE=0x10000000 +baremetal_args+=MEM_BASE=0x10000000 fvpr_image_data:=$(baremetal_image)@0x10000000 endif diff --git a/demos/baremetal/src/demo.c b/demos/baremetal/src/demo.c new file mode 100644 index 0000000..df3fe48 --- /dev/null +++ b/demos/baremetal/src/demo.c @@ -0,0 +1,74 @@ +/** + * SPDX-License-Identifier: Apache-2.0 + * Copyright (c) Bao Project and Contributors. All rights reserved. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define TIMER_INTERVAL (TIME_S(1)) + +spinlock_t print_lock = SPINLOCK_INITVAL; + +void uart_rx_handler(){ + static int irq_count = 0; + uart_clear_rxirq(); + printf("cpu%d: %s %d\n",get_cpuid(), __func__, ++irq_count); +} + +void ipi_handler(){ + printf("cpu%d: %s\n", get_cpuid(), __func__); + irq_send_ipi(1ull << (get_cpuid() + 1)); +} + +void timer_handler(){ + printf("cpu%d: %s\n", get_cpuid(), __func__); + timer_set(TIMER_INTERVAL); + irq_send_ipi(1ull << (get_cpuid() + 1)); +} + +void main(void){ + + static volatile bool master_done = false; + + if(cpu_is_master()){ + spin_lock(&print_lock); + printf("Bao bare-metal test guest\n"); + spin_unlock(&print_lock); + + irq_set_handler(UART_IRQ_ID, uart_rx_handler); + irq_set_handler(TIMER_IRQ_ID, timer_handler); + irq_set_handler(IPI_IRQ_ID, ipi_handler); + + uart_enable_rxirq(); + + timer_set(TIMER_INTERVAL); + irq_enable(TIMER_IRQ_ID); + irq_set_prio(TIMER_IRQ_ID, IRQ_MAX_PRIO); + + timer_enable(); + + master_done = true; + } + + irq_enable(UART_IRQ_ID); + irq_set_prio(UART_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(IPI_IRQ_ID); + irq_set_prio(IPI_IRQ_ID, IRQ_MAX_PRIO); + + while(!master_done); + spin_lock(&print_lock); + printf("cpu %d up\n", get_cpuid()); + spin_unlock(&print_lock); + + while(1) wfi(); +} diff --git a/demos/baremetal/src/sources.mk b/demos/baremetal/src/sources.mk new file mode 100644 index 0000000..205e60d --- /dev/null +++ b/demos/baremetal/src/sources.mk @@ -0,0 +1 @@ +src_c_srcs:= demo.c diff --git a/demos/linux+freertos/configs/fvp-a-aarch32.c b/demos/linux+freertos/configs/fvp-a-aarch32.c index 2da9a84..2e402a8 100644 --- a/demos/linux+freertos/configs/fvp-a-aarch32.c +++ b/demos/linux+freertos/configs/fvp-a-aarch32.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0xa0000000, @@ -22,7 +22,7 @@ struct config config = { .entry = 0xa0000000, .platform = { - .cpu_num = 2, + .cpu_num = 3, .region_num = 1, .regions = (struct vm_mem_region[]) { @@ -101,7 +101,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/fvp-a.c b/demos/linux+freertos/configs/fvp-a.c index 7cc3dbc..2e402a8 100755 --- a/demos/linux+freertos/configs/fvp-a.c +++ b/demos/linux+freertos/configs/fvp-a.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0xa0000000, @@ -101,7 +101,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/fvp-r.c b/demos/linux+freertos/configs/fvp-r.c index e183c18..31df923 100755 --- a/demos/linux+freertos/configs/fvp-r.c +++ b/demos/linux+freertos/configs/fvp-r.c @@ -12,7 +12,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = VM_IMAGE_LOADED(0x20000000, 0x20000000, 50*1024*1024), diff --git a/demos/linux+freertos/configs/imx8qm.c b/demos/linux+freertos/configs/imx8qm.c index c678d52..2185f75 100755 --- a/demos/linux+freertos/configs/imx8qm.c +++ b/demos/linux+freertos/configs/imx8qm.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,7 +13,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x80200000, @@ -119,7 +119,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/qemu-aarch64-virt.c b/demos/linux+freertos/configs/qemu-aarch64-virt.c index f2d4778..15289e4 100755 --- a/demos/linux+freertos/configs/qemu-aarch64-virt.c +++ b/demos/linux+freertos/configs/qemu-aarch64-virt.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,7 +13,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x60000000, @@ -95,7 +95,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/qemu-riscv32-virt.c b/demos/linux+freertos/configs/qemu-riscv32-virt.c new file mode 120000 index 0000000..8c002df --- /dev/null +++ b/demos/linux+freertos/configs/qemu-riscv32-virt.c @@ -0,0 +1 @@ +qemu-riscv64-virt.c \ No newline at end of file diff --git a/demos/linux+freertos/configs/qemu-riscv64-virt.c b/demos/linux+freertos/configs/qemu-riscv64-virt.c index ce25844..9d7e892 100755 --- a/demos/linux+freertos/configs/qemu-riscv64-virt.c +++ b/demos/linux+freertos/configs/qemu-riscv64-virt.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,7 +13,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x90200000, @@ -60,7 +60,7 @@ struct config config = { }, .arch = { - .plic_base = 0xc000000, + .irqc.plic.base = 0xc000000, } }, }, @@ -87,7 +87,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, @@ -107,7 +107,7 @@ struct config config = { }, .arch = { - .plic_base = 0xc000000, + .irqc.plic.base = 0xc000000, } }, }, diff --git a/demos/linux+freertos/configs/rpi4.c b/demos/linux+freertos/configs/rpi4.c index ee06c67..7eab5f4 100755 --- a/demos/linux+freertos/configs/rpi4.c +++ b/demos/linux+freertos/configs/rpi4.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,15 +13,15 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { - .base_addr = 0x20000000, + .base_addr = 0x40000000, .load_addr = VM_IMAGE_OFFSET(linux_image), .size = VM_IMAGE_SIZE(linux_image) }, - .entry = 0x20000000, + .entry = 0x40000000, .platform = { .cpu_num = 3, @@ -29,10 +29,10 @@ struct config config = { .region_num = 1, .regions = (struct vm_mem_region[]) { { - .base = 0x20000000, + .base = 0x40000000, .size = 0x40000000, .place_phys = true, - .phys = 0x20000000 + .phys = 0x40000000 } }, @@ -96,7 +96,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/tx2.c b/demos/linux+freertos/configs/tx2.c index e7ff2e5..16e13d1 100755 --- a/demos/linux+freertos/configs/tx2.c +++ b/demos/linux+freertos/configs/tx2.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,7 +13,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x90000000, @@ -22,7 +22,7 @@ struct config config = { }, .entry = 0x90000000, - .cpu_affinity = 0b111110, + .cpu_affinity = 0x3E, .platform = { .cpu_num = 5, @@ -123,7 +123,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/configs/zcu104.c b/demos/linux+freertos/configs/zcu104.c index f77bd91..765c573 100755 --- a/demos/linux+freertos/configs/zcu104.c +++ b/demos/linux+freertos/configs/zcu104.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) struct config config = { @@ -13,7 +13,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { @@ -106,7 +106,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/linux+freertos/devicetrees/fvp-a-aarch32/linux.dts b/demos/linux+freertos/devicetrees/fvp-a-aarch32/linux.dts index 7e247d5..2d300da 100644 --- a/demos/linux+freertos/devicetrees/fvp-a-aarch32/linux.dts +++ b/demos/linux+freertos/devicetrees/fvp-a-aarch32/linux.dts @@ -32,7 +32,7 @@ }; psci { - compatible = "arm,psci-0.1"; + compatible = "arm,psci-0.2"; method = "smc"; }; @@ -92,6 +92,6 @@ chosen { bootargs = "earlycon console=ttyAMA0,115200n8 ip=192.168.42.15 carrier_timeout=0"; - stdout-path = "/pl011@1c090000"; + stdout-path = "/pl011@1c0a0000"; }; }; diff --git a/demos/linux+freertos/devicetrees/qemu-aarch64-virt/linux.dts b/demos/linux+freertos/devicetrees/qemu-aarch64-virt/linux.dts index d35e6f4..28520bc 100644 --- a/demos/linux+freertos/devicetrees/qemu-aarch64-virt/linux.dts +++ b/demos/linux+freertos/devicetrees/qemu-aarch64-virt/linux.dts @@ -24,9 +24,10 @@ }; cpu@2 { - reg = <0x2>; - compatible = "arm,cortex-a53"; + compatible = "arm,cortex-a53", "arm,armv8"; device_type = "cpu"; + enable-method = "psci"; + reg = <0x2>; }; }; diff --git a/demos/linux+zephyr/devicetrees/qemu-riscv64-virt/linux.dts b/demos/linux+freertos/devicetrees/qemu-riscv32-virt/linux.dts similarity index 83% rename from demos/linux+zephyr/devicetrees/qemu-riscv64-virt/linux.dts rename to demos/linux+freertos/devicetrees/qemu-riscv32-virt/linux.dts index 736b854..999a0f7 100644 --- a/demos/linux+zephyr/devicetrees/qemu-riscv64-virt/linux.dts +++ b/demos/linux+freertos/devicetrees/qemu-riscv32-virt/linux.dts @@ -1,8 +1,9 @@ /dts-v1/; / { - #address-cells = <0x2>; - #size-cells = <0x2>; + #address-cells = <0x02>; + #size-cells = <0x02>; + cpus { #address-cells = <0x1>; @@ -11,48 +12,52 @@ cpu@0 { device_type = "cpu"; - reg = <0x0>; + reg = <0x00>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; - mmu-type = "riscv,sv48"; + riscv,isa = "rv32imafdch_zicntr_zicsr_zifencei_sstc"; + mmu-type = "riscv,sv32"; cpu0_intc: interrupt-controller { - #interrupt-cells = <0x1>; + #interrupt-cells = <0x01>; interrupt-controller; compatible = "riscv,cpu-intc"; + phandle = <0x08>; }; }; cpu@1 { device_type = "cpu"; - reg = <0x1>; + reg = <0x01>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; - mmu-type = "riscv,sv48"; + riscv,isa = "rv32imafdch_zicntr_zicsr_zifencei_sstc"; + mmu-type = "riscv,sv32"; cpu1_intc: interrupt-controller { - #interrupt-cells = <0x1>; + #interrupt-cells = <0x01>; interrupt-controller; compatible = "riscv,cpu-intc"; + phandle = <0x06>; }; }; cpu@2 { device_type = "cpu"; - reg = <0x2>; + reg = <0x02>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; - mmu-type = "riscv,sv48"; + riscv,isa = "rv32imafdch_zicntr_zicsr_zifencei_sstc"; + mmu-type = "riscv,sv32"; cpu2_intc: interrupt-controller { - #interrupt-cells = <0x1>; + #interrupt-cells = <0x01>; interrupt-controller; compatible = "riscv,cpu-intc"; + phandle = <0x04>; }; }; + }; memory@90000000 { diff --git a/demos/linux+freertos/devicetrees/qemu-riscv64-virt/linux.dts b/demos/linux+freertos/devicetrees/qemu-riscv64-virt/linux.dts index 736b854..2f70fde 100644 --- a/demos/linux+freertos/devicetrees/qemu-riscv64-virt/linux.dts +++ b/demos/linux+freertos/devicetrees/qemu-riscv64-virt/linux.dts @@ -14,7 +14,7 @@ reg = <0x0>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; + riscv,isa = "rv64imafdch_zicntr_zicsr_zifencei_sstc"; mmu-type = "riscv,sv48"; cpu0_intc: interrupt-controller { @@ -29,7 +29,7 @@ reg = <0x1>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; + riscv,isa = "rv64imafdch_zicntr_zicsr_zifencei_sstc"; mmu-type = "riscv,sv48"; cpu1_intc: interrupt-controller { @@ -44,7 +44,7 @@ reg = <0x2>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; + riscv,isa = "rv64imafdch_zicntr_zicsr_zifencei_sstc"; mmu-type = "riscv,sv48"; cpu2_intc: interrupt-controller { diff --git a/demos/linux+freertos/devicetrees/rpi4/linux.dts b/demos/linux+freertos/devicetrees/rpi4/linux.dts index 53b9d5c..c860516 100644 --- a/demos/linux+freertos/devicetrees/rpi4/linux.dts +++ b/demos/linux+freertos/devicetrees/rpi4/linux.dts @@ -37,8 +37,8 @@ method = "smc"; }; - memory@20000000 { - reg = <0x0 0x20000000 0x0 0x40000000>; + memory@40000000 { + reg = <0x0 0x40000000 0x0 0x40000000>; device_type = "memory"; }; diff --git a/demos/linux+freertos/freertos-app/demo.c b/demos/linux+freertos/freertos-app/demo.c new file mode 100644 index 0000000..05dc96e --- /dev/null +++ b/demos/linux+freertos/freertos-app/demo.c @@ -0,0 +1,220 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* FreeRTOS kernel includes. */ +#include +#include +#include +#include + +#include +#include +#include + +/* + * Prototypes for the standard FreeRTOS callback/hook functions implemented + * within this file. See https://www.freertos.org/a00016.html + */ +void vApplicationMallocFailedHook(void); +void vApplicationIdleHook(void); +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName); +void vApplicationTickHook(void); + +/*-----------------------------------------------------------*/ + +void vTask(void *pvParameters) +{ + unsigned long counter = 0; + unsigned long id = (unsigned long)pvParameters; + while (1) + { + printf("Task%d: %d\n", id, counter++); + vTaskDelay(1000 / portTICK_PERIOD_MS); + } +} + +#define SHMEM_IRQ_ID (52) + +char* const freertos_message = (char*)SHMEM_BASE; +char* const linux_message = (char*)(SHMEM_BASE + 0x2000); +const size_t shmem_channel_size = 0x2000; + + +void shmem_update_msg(int irq_count) { + sprintf(freertos_message, "freertos has received %d uart interrupts!\n", + irq_count); +} + +void uart_rx_handler(){ + static int irq_count = 0; + uart_clear_rxirq(); + printf("%s %d\n", __func__, ++irq_count); + shmem_update_msg(irq_count); +} + +void shmem_handler() { + linux_message[shmem_channel_size-1] = '\0'; + char* end = strchr(linux_message, '\n'); + *end = '\0'; + printf("message from linux: %s\n", linux_message); +} + +void shmem_init() { + memset(freertos_message, 0, shmem_channel_size); + memset(linux_message, 0, shmem_channel_size); + shmem_update_msg(0); + irq_set_handler(SHMEM_IRQ_ID, shmem_handler); + irq_set_prio(SHMEM_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(SHMEM_IRQ_ID); +} + +int main(void){ + + printf("Bao FreeRTOS guest\n"); + + uart_enable_rxirq(); + irq_set_handler(UART_IRQ_ID, uart_rx_handler); + irq_set_prio(UART_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(UART_IRQ_ID); + + shmem_init(); + + xTaskCreate( + vTask, + "Task1", + configMINIMAL_STACK_SIZE, + (void *)1, + tskIDLE_PRIORITY + 1, + NULL); + + xTaskCreate( + vTask, + "Task2", + configMINIMAL_STACK_SIZE, + (void *)2, + tskIDLE_PRIORITY + 1, + NULL); + + vTaskStartScheduler(); +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook(void) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c or heap_2.c are used, then the size of the + heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in + FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook(void) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQue ueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName) +{ + (void)pcTaskName; + (void)pxTask; + + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationTickHook(void) +{ +} +/*-----------------------------------------------------------*/ + +void vAssertCalled(void) +{ + volatile uint32_t ulSetTo1ToExitFunction = 0; + + taskDISABLE_INTERRUPTS(); + while (ulSetTo1ToExitFunction != 1) + { + __asm volatile("NOP"); + } +} +/*-----------------------------------------------------------*/ + +/* This version of vApplicationAssert() is declared as a weak symbol to allow it +to be overridden by a version implemented within the application that is using +this BSP. */ +void vApplicationAssert( const char *pcFileName, uint32_t ulLine ) +{ +volatile uint32_t ul = 0; +volatile const char *pcLocalFileName = pcFileName; /* To prevent pcFileName being optimized away. */ +volatile uint32_t ulLocalLine = ulLine; /* To prevent ulLine being optimized away. */ + + /* Prevent compile warnings about the following two variables being set but + not referenced. They are intended for viewing in the debugger. */ + ( void ) pcLocalFileName; + ( void ) ulLocalLine; + + printf( "Assert failed in file %s, line %lu\r\n", pcLocalFileName, ulLocalLine ); + + /* If this function is entered then a call to configASSERT() failed in the + FreeRTOS code because of a fatal error. The pcFileName and ulLine + parameters hold the file name and line number in that file of the assert + that failed. Additionally, if using the debugger, the function call stack + can be viewed to find which line failed its configASSERT() test. Finally, + the debugger can be used to set ul to a non-zero value, then step out of + this function to find where the assert function was entered. */ + taskENTER_CRITICAL(); + { + while( ul == 0 ) + { + __asm volatile( "NOP" ); + } + } + taskEXIT_CRITICAL(); +} diff --git a/demos/linux+freertos/freertos-app/sources.mk b/demos/linux+freertos/freertos-app/sources.mk new file mode 100644 index 0000000..39d7962 --- /dev/null +++ b/demos/linux+freertos/freertos-app/sources.mk @@ -0,0 +1 @@ +src_c_srcs:=demo.c diff --git a/demos/linux+freertos/make.mk b/demos/linux+freertos/make.mk index 4f375bb..9d283c6 100644 --- a/demos/linux+freertos/make.mk +++ b/demos/linux+freertos/make.mk @@ -6,12 +6,15 @@ linux_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux.dts $(eval $(call build-linux, $(linux_image), $(linux_dts))) freertos_image:=$(wrkdir_demo_imgs)/freertos.bin +make_args:=APP_SRC_DIR=$(bao_demos)/demos/linux+freertos/freertos-app ifeq ($(ARCH_PROFILE),armv8-r) -make_args:=MEM_BASE=0x10000000 +make_args+=MEM_BASE=0x10000000 fvpr_image_data:=$(freertos_image)@0x10000000 $(linux_image)@0x20000000 +make_args+=SHMEM_BASE=0x70000000 SHMEM_SIZE=0x200000 else -make_args:=STD_ADDR_SPACE=y +make_args+=STD_ADDR_SPACE=y +make_args+=SHMEM_BASE=0xf0000000 SHMEM_SIZE=0x200000 endif $(eval $(call build-freertos, $(freertos_image), $(make_args))) diff --git a/demos/linux+zephyr/configs/fvp-a-aarch32.c b/demos/linux+zephyr/configs/fvp-a-aarch32.c index 9a49fd8..a1764cd 100755 --- a/demos/linux+zephyr/configs/fvp-a-aarch32.c +++ b/demos/linux+zephyr/configs/fvp-a-aarch32.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0xa0000000, @@ -22,7 +22,7 @@ struct config config = { .entry = 0xa0000000, .platform = { - .cpu_num = 2, + .cpu_num = 3, .region_num = 1, .regions = (struct vm_mem_region[]) { @@ -87,7 +87,7 @@ struct config config = { .entry = 0x20000000, .platform = { - .cpu_num = 2, + .cpu_num = 1, .region_num = 1, .regions = (struct vm_mem_region[]) { diff --git a/demos/linux+zephyr/configs/fvp-a.c b/demos/linux+zephyr/configs/fvp-a.c index d51b6c0..dc86cc2 100755 --- a/demos/linux+zephyr/configs/fvp-a.c +++ b/demos/linux+zephyr/configs/fvp-a.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0xa0000000, diff --git a/demos/linux+zephyr/configs/fvp-r.c b/demos/linux+zephyr/configs/fvp-r.c index aef42eb..b71c203 100755 --- a/demos/linux+zephyr/configs/fvp-r.c +++ b/demos/linux+zephyr/configs/fvp-r.c @@ -12,7 +12,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = VM_IMAGE_LOADED(0x28000000, 0x28000000, 50 * 1024 * 1024), diff --git a/demos/linux+zephyr/configs/qemu-aarch64-virt.c b/demos/linux+zephyr/configs/qemu-aarch64-virt.c index f5a21ef..cfaf0ec 100644 --- a/demos/linux+zephyr/configs/qemu-aarch64-virt.c +++ b/demos/linux+zephyr/configs/qemu-aarch64-virt.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) struct config config = { @@ -12,7 +12,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x60000000, diff --git a/demos/linux+zephyr/configs/rpi4.c b/demos/linux+zephyr/configs/rpi4.c index db6bac4..fb690e8 100644 --- a/demos/linux+zephyr/configs/rpi4.c +++ b/demos/linux+zephyr/configs/rpi4.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)); -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); +VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin)) +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) struct config config = { @@ -11,26 +11,26 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { - .base_addr = 0x20000000, + .base_addr = 0x40000000, .load_addr = VM_IMAGE_OFFSET(linux_image), .size = VM_IMAGE_SIZE(linux_image) }, - .entry = 0x20000000, + .entry = 0x40000000, .platform = { - .cpu_num = 3, + .cpu_num = 2, .region_num = 1, .regions = (struct vm_mem_region[]) { { - .base = 0x20000000, + .base = 0x40000000, .size = 0x40000000, .place_phys = true, - .phys = 0x20000000 + .phys = 0x40000000 } }, @@ -81,7 +81,7 @@ struct config config = { .entry = 0x80000000, .platform = { - .cpu_num = 1, + .cpu_num = 2, .region_num = 1, .regions = (struct vm_mem_region[]) { diff --git a/demos/linux+zephyr/devicetrees/imx8qm/linux.dts b/demos/linux+zephyr/devicetrees/imx8qm/linux.dts deleted file mode 100644 index f571273..0000000 --- a/demos/linux+zephyr/devicetrees/imx8qm/linux.dts +++ /dev/null @@ -1,288 +0,0 @@ -/dts-v1/; - -/ { - #size-cells = <0x2>; - #address-cells = <0x2>; - - cpus { - #size-cells = <0x0>; - #address-cells = <0x1>; - - cpu@0 { - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x0>; - }; - - cpu@1 { - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x1>; - }; - - cpu@2 { - reg = <0x2>; - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - }; - - cpu@3 { - reg = <0x3>; - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - }; - - cpu@4 { - compatible = "arm,armv8"; - device_type = "cpu"; - reg = <0x4>; - enable-method = "psci"; - }; - - }; - - psci { - compatible = "arm,psci-0.2"; - method = "smc"; - }; - - - memory@80200000 { - reg = <0x0 0x80200000 0x0 0x20000000>; - device_type = "memory"; - }; - - gic: intc@8000000 { - interrupts = <0x01 0x09 0x04>; - reg = <0x00 0x51a00000 0x00 0x10000 0x00 0x51b00000 0x00 0xf60000>; - #redistributor-regions = <0x01>; - compatible = "arm,gic-v3"; - interrupt-controller; - #interrupt-cells = <0x03>; - interrupt-parent = <&gic>; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupt-parent = <&gic>; - interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; - }; - - conn_axi_clk: clock-conn-axi { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <333333333>; - clock-output-names = "conn_axi_clk"; - }; - - conn_ipg_clk: clock-conn-ipg { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <83333333>; - clock-output-names = "conn_ipg_clk"; - }; - - xtal32k: clock-xtal32k { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <32768>; - clock-output-names = "xtal_32KHz"; - }; - - xtal24m: clock-xtal24m { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <24000000>; - clock-output-names = "xtal_24MHz"; - }; - - /** - * We are assigning a mu to the linux guest because the linux drivers - * assume linux can directly interact with the SCU to configure its devices. - * Therefore, this guest will be able to configure peripherals not assigned - * to it, as for example, the lpuart0 used by the hypervisor and possibly - * other guests. In the future we will have to either to move the cores - * belonging to this guest to a separate scfw partition or paravirtualise - * the MU1 and interpose the guest's communcation to the SCU, to limit - * which resource it might configure. - */ - lsio_mu1: mailbox@5d1c0000 { - compatible = "fsl,imx8qm-mu", "fsl,imx6sx-mu"; - reg = <0x0 0x5d1c0000 0x0 0x10000>; - interrupt-parent = <&gic>; - interrupts = <0 177 4>; - #mbox-cells = <2>; - status = "okay"; - }; - - scu { - compatible = "fsl,imx-scu"; - - mbox-names = "tx0", "tx1", "tx2", "tx3", - "rx0", "rx1", "rx2", "rx3", - "gip3"; - - mboxes = <&lsio_mu1 0 0 - &lsio_mu1 0 1 - &lsio_mu1 0 2 - &lsio_mu1 0 3 - &lsio_mu1 1 0 - &lsio_mu1 1 1 - &lsio_mu1 1 2 - &lsio_mu1 1 3 - &lsio_mu1 3 3>; - - pd: imx8qx-pd { - compatible = "fsl,imx8qm-scu-pd", "fsl,scu-pd"; - #power-domain-cells = <1>; - }; - - clk: clock-controller { - compatible = "fsl,imx8qm-clk", "fsl,scu-clk"; - #clock-cells = <2>; - clocks = <&xtal32k &xtal24m>; - clock-names = "xtal_32KHz", "xtal_24Mhz"; - }; - - iomuxc: pinctrl { - compatible = "fsl,imx8qm-iomuxc"; - pinctrl-names = "default"; - - pinctrl_fec1: fec1grp { - fsl,pins = <0xff 0x00 0x14a0 - 0xa6 0x00 0x6000020 - 0xa5 0x00 0x6000020 - 0xf4 0x00 0x6000020 - 0xf3 0x00 0x6000020 - 0xf5 0x00 0x6000020 - 0xf6 0x00 0x6000020 - 0xf7 0x00 0x6000020 - 0xf8 0x00 0x6000020 - 0xf9 0x00 0x6000020 - 0xfa 0x00 0x6000020 - 0xfb 0x00 0x6000020 - 0xfc 0x00 0x6000020 - 0xfd 0x00 0x6000020 - 0xfe 0x00 0x6000020>; - }; - }; - - ocotp: imx8qm-ocotp { - compatible = "fsl,imx8qm-scu-ocotp"; - #address-cells = <1>; - #size-cells = <1>; - read-only; - - fec_mac0: mac@1c4 { - reg = <0x1c4 6>; - }; - - fec_mac1: mac@1c6 { - reg = <0x1c6 6>; - }; - }; - }; - - enet0_lpcg: clock-controller@5b230000 { - compatible = "fsl,imx8qxp-lpcg"; - reg = <0x0 0x5b230000 0x0 0x10000>; - #clock-cells = <1>; - clocks = <&clk 251 2>, - <&clk 251 2>, - <&conn_axi_clk>, - <&clk 251 24>, - <&conn_ipg_clk>, - <&conn_ipg_clk>; - bit-offset = <0 4 8 12 16 20>; - clock-output-names = "enet0_lpcg_timer_clk", - "enet0_lpcg_txc_sampling_clk", - "enet0_lpcg_ahb_clk", - "enet0_lpcg_rgmii_txc_clk", - "enet0_lpcg_ipg_clk", - "enet0_lpcg_ipg_s_clk"; - power-domains = <&pd 251>; - }; - - fec1: ethernet@5b040000 { - compatible = "fsl,imx8qm-fec", "fsl,imx6sx-fec"; - reg = <0x0 0x5b040000 0x0 0x10000>; - interrupt-parent = <&gic>; - interrupts = <0 258 4>, - <0 256 4>, - <0 257 4>, - <0 259 4>; - clocks = <&enet0_lpcg 4>, - <&enet0_lpcg 2>, - <&enet0_lpcg 3>, - <&enet0_lpcg 0>, - <&enet0_lpcg 1>; - clock-names = "ipg", "ahb", "enet_clk_ref", "ptp", "enet_2x_txclk"; - status = "okay"; - - assigned-clocks = <&clk 251 2>, - <&clk 251 25>; - assigned-clock-rates = <250000000>, <125000000>; - fsl,num-tx-queues=<3>; - fsl,num-rx-queues=<3>; - power-domains = <&pd 251>; - - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_fec1>; - phy-mode = "rgmii"; - phy-handle = <ðphy0>; - fsl,magic-packet; - nvmem-cells = <&fec_mac0>; - nvmem-cell-names = "mac-address"; - fsl,rgmii_rxc_dly; - fsl,rgmii_txc_dly; - - mdio { - #address-cells = <1>; - #size-cells = <0>; - - ethphy0: ethernet-phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0>; - at803x,eee-disabled; - at803x,vddio-1p8v; - status = "okay"; - }; - }; - }; - - bao-ipc@f0000000 { - compatible = "bao,ipcshmem"; - reg = <0x0 0xf0000000 0x0 0x00010000>; - read-channel = <0x0 0x2000>; - write-channel = <0x2000 0x2000>; - interrupts = <0 52 1>; - interrupt-parent = <&gic>; - id = <0>; - }; - - /** - * The purpose of this dummy lpuart node is for linux not turning off the - * lpuart that is in use by the hypervisor and possibly other guest. - * By assigning it to the stdout-path in /chosen, the linux pd driver will - * leave it be and not turn it off. As explained previsouly, this is just - * for demonstration purposes and in the future this power resource controls - * will either be blocked by placing linux and its resources in their own - * scfw partition or by having SCU interactions mediated by the hypervisor. - */ - lpuart0_dummy: lpuart0 { - power-domains = <&pd 57>; - }; - - aliases { - ethernet0 = &fec1; - }; - - chosen { - bootargs = "clk_ignore_unused ip=192.168.42.15 carrier_timeout=0"; - stdout-path = &lpuart0_dummy; - }; -}; diff --git a/demos/linux+zephyr/devicetrees/rpi4/linux.dts b/demos/linux+zephyr/devicetrees/rpi4/linux.dts index 53b9d5c..0ad93d1 100644 --- a/demos/linux+zephyr/devicetrees/rpi4/linux.dts +++ b/demos/linux+zephyr/devicetrees/rpi4/linux.dts @@ -22,14 +22,6 @@ enable-method = "psci"; reg = <0x1>; }; - - cpu@2 { - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x2>; - }; - }; psci { @@ -37,8 +29,8 @@ method = "smc"; }; - memory@20000000 { - reg = <0x0 0x20000000 0x0 0x40000000>; + memory@40000000 { + reg = <0x0 0x40000000 0x0 0x40000000>; device_type = "memory"; }; diff --git a/demos/linux+zephyr/devicetrees/tx2/linux.dts b/demos/linux+zephyr/devicetrees/tx2/linux.dts deleted file mode 100644 index 9eb74b1..0000000 --- a/demos/linux+zephyr/devicetrees/tx2/linux.dts +++ /dev/null @@ -1,198 +0,0 @@ -/dts-v1/; - -/ { - #address-cells = <2>; - #size-cells = <2>; - interrupt-parent = <&gic>; - - cpus { - #size-cells = <0x0>; - #address-cells = <0x1>; - - cpu@0 { - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x0>; - }; - - cpu@1 { - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x1>; - }; - - cpu@2 { - reg = <0x2>; - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - }; - - cpu@3 { - reg = <0x3>; - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - }; - - - cpu@4 { - reg = <0x4>; - compatible = "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - }; - - }; - - psci { - compatible = "arm,psci-0.2"; - method = "smc"; - }; - - memory@90000000 { - reg = <0x0 0x90000000 0x0 0x40000000>; - device_type = "memory"; - }; - - sysram@30000000 { - compatible = "nvidia,tegra186-sysram", "mmio-sram"; - reg = <0x0 0x30000000 0x0 0x50000>; - #address-cells = <2>; - #size-cells = <2>; - ranges = <0 0x0 0x0 0x30000000 0x0 0x50000>; - - cpu_bpmp_tx: shmem@4e000 { - compatible = "nvidia,tegra186-bpmp-shmem"; - reg = <0x0 0x4e000 0x0 0x1000>; - label = "cpu-bpmp-tx"; - pool; - }; - - cpu_bpmp_rx: shmem@4f000 { - compatible = "nvidia,tegra186-bpmp-shmem"; - reg = <0x0 0x4f000 0x0 0x1000>; - label = "cpu-bpmp-rx"; - pool; - }; - }; - - gic: interrupt-controller@3881000 { - compatible = "arm,gic-400"; - #interrupt-cells = <3>; - interrupt-controller; - reg = <0x0 0x03881000 0x0 0x1000>, - <0x0 0x03882000 0x0 0x2000>; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupt-parent = <&gic>; - interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; - }; - - hsp_top0: hsp@3c00000 { - compatible = "nvidia,tegra186-hsp"; - reg = <0x0 0x03c00000 0x0 0xa0000>; - interrupts = <0 176 4>; - interrupt-names = "doorbell"; - #mbox-cells = <2>; - status = "okay"; - }; - - bpmp: bpmp { - compatible = "nvidia,tegra186-bpmp"; - mboxes = <&hsp_top0 0 19>; - shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>; - #clock-cells = <1>; - #reset-cells = <1>; - #power-domain-cells = <1>; - }; - - gpio: gpio@2200000 { - compatible = "nvidia,tegra186-gpio"; - reg-names = "security", "gpio"; - reg = <0x0 0x2200000 0x0 0x10000>, - <0x0 0x2210000 0x0 0x10000>; - interrupt-parent = <&gic>; - interrupts = <0 47 4>, - <0 50 4>, - <0 53 4>, - <0 56 4>, - <0 59 4>, - <0 180 4>; - #interrupt-cells = <2>; - interrupt-controller; - #gpio-cells = <2>; - gpio-controller; - }; - - eth: ethernet@2490000 { - compatible = "nvidia,tegra186-eqos", - "snps,dwc-qos-ethernet-4.10"; - reg = <0x0 0x02490000 0x0 0x10000>; - interrupts = <0 194 4>, /* common */ - <0 195 4>, /* power */ - <0 190 4>, /* rx0 */ - <0 186 4>, /* tx0 */ - <0 191 4>, /* rx1 */ - <0 187 4>, /* tx1 */ - <0 192 4>, /* rx2 */ - <0 188 4>, /* tx2 */ - <0 193 4>, /* rx3 */ - <0 189 4>; /* tx3 */ - clocks = <&bpmp 149>, - <&bpmp 167>, - <&bpmp 168>, - <&bpmp 240>, - <&bpmp 239>; - clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref"; - resets = <&bpmp 69>; - reset-names = "eqos"; - - snps,write-requests = <1>; - snps,read-requests = <3>; - snps,burst-map = <0x7>; - snps,txpbl = <32>; - snps,rxpbl = <8>; - - status = "okay"; - - phy-reset-gpios = <&gpio 0x64 0x1>; - phy-handle = <&phy>; - phy-mode = "rgmii"; - - mdio { - #address-cells = <1>; - #size-cells = <0>; - - phy: phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x0>; - interrupt-parent = <&gpio>; - interrupts = <0x65 0x08>; - #phy-cells = <0>; - }; - }; - }; - - bao-ipc@f0000000 { - compatible = "bao,ipcshmem"; - reg = <0x0 0xf0000000 0x0 0x00010000>; - read-channel = <0x0 0x2000>; - write-channel = <0x2000 0x2000>; - interrupts = <0 52 1>; - id = <0>; - }; - - aliases { - ethernet0 = ð - }; - - chosen { - bootargs = "clk_ignore_unused ip=192.168.42.15 carrier_timeout=0"; - }; - -}; \ No newline at end of file diff --git a/demos/linux+zephyr/devicetrees/zcu104/linux.dts b/demos/linux+zephyr/devicetrees/zcu104/linux.dts deleted file mode 100644 index b4cc734..0000000 --- a/demos/linux+zephyr/devicetrees/zcu104/linux.dts +++ /dev/null @@ -1,154 +0,0 @@ -/dts-v1/; - -/ { - #address-cells = <0x2>; - #size-cells = <0x2>; - interrupt-parent = <&gic>; - - cpus { - #size-cells = <0x0>; - #address-cells = <0x1>; - - cpu@0 { - compatible = "arm,cortex-a53", "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x0>; - }; - - cpu@1 { - compatible = "arm,cortex-a53", "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x1>; - }; - - cpu@2 { - compatible = "arm,cortex-a53", "arm,armv8"; - device_type = "cpu"; - enable-method = "psci"; - reg = <0x2>; - }; - }; - - psci { - compatible = "arm,psci-0.2"; - method = "smc"; - }; - - memory@0 { - device_type = "memory"; - reg = <0x0 0x0 0x0 0x40000000>; - }; - - gic: interrupt-controller@f9010000 { - compatible = "arm,gic-400", "arm,cortex-a15-gic"; - #interrupt-cells = <0x3>; - reg = <0x0 0xf9010000 0x0 0x10000 0x0 0xf9020000 0x0 0x20000 0x0 0xf9040000 0x0 0x20000 0x0 0xf9060000 0x0 0x20000>; - interrupt-controller; - interrupt-parent = <0x4>; - interrupts = <0x1 0x9 0xf04>; - }; - - timer { - compatible = "arm,armv8-timer"; - always-on; - interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; - }; - - - uartclk: uartclk { - compatible = "fixed-clock"; - #clock-cells = <0x0>; - clock-frequency = <100000000>; - phandle = <0x1>; - }; - - ethclk: ethclk { - compatible = "fixed-clock"; - #clock-cells = <0x0>; - clock-frequency = <125000000>; - phandle = <0x2>; - }; - - amba { - compatible = "simple-bus"; - #address-cells = <0x2>; - #size-cells = <0x2>; - ranges; - - serial@ff010000 { - u-boot,dm-pre-reloc; - compatible = "cdns,uart-r1p12", "xlnx,xuartps"; - status = "okay"; - interrupts = <0x0 0x16 0x4>; - reg = <0x0 0xff010000 0x0 0x1000>; - clock-names = "uart_clk", "pclk"; - clocks = <&uartclk &uartclk>; - }; - - ethernet@ff0e0000 { - compatible = "cdns,zynqmp-gem", "cdns,gem"; - status = "okay"; - interrupt-parent = <&gic>; - interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>; - reg = <0x0 0xff0e0000 0x0 0x1000>; - clock-names = "pclk", "hclk", "tx_clk", "rx_clk"; - phy-mode = "rgmii-id"; - #address-cells = <0x1>; - #size-cells = <0x0>; - clocks = <ðclk ðclk ðclk ðclk>; - phy-handle = <&phy>; - - phy: phy@c { - reg = <0xc>; - ti,rx-internal-delay = <0x8>; - ti,tx-internal-delay = <0xa>; - ti,fifo-depth = <0x1>; - ti,dp83867-rxctrl-strap-quirk; - }; - }; - - zynqmp_phy@fd400000 { - compatible = "xlnx,zynqmp-psgtr-v1.1"; - status = "disabled"; - reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>; - reg-names = "serdes", "siou"; - - lane0 { - #phy-cells = <0x4>; - }; - - lane1 { - #phy-cells = <0x4>; - }; - - lane2 { - #phy-cells = <0x4>; - }; - - lane3 { - #phy-cells = <0x4>; - }; - }; - }; - - bao-ipc@f0000000 { - compatible = "bao,ipcshmem"; - reg = <0x0 0xf0000000 0x0 0x00010000>; - read-channel = <0x0 0x2000>; - write-channel = <0x2000 0x2000>; - interrupts = <0 52 1>; - id = <0>; - }; - - aliases { - ethernet0 = "/amba/ethernet@ff0e0000"; - serial0 = "/amba/serial@ff010000"; - }; - - chosen { - bootargs = "earlycon console=ttyPS0,115200n8 clk_ignore_unused ip=192.168.42.15 carrier_timeout=0"; - stdout-path = "serial0:115200n8"; - }; -}; diff --git a/demos/linux+zephyr/zephyr/app/app.overlay b/demos/linux+zephyr/zephyr/app/app.overlay index c85fc3b..7e901d1 100644 --- a/demos/linux+zephyr/zephyr/app/app.overlay +++ b/demos/linux+zephyr/zephyr/app/app.overlay @@ -1,12 +1,17 @@ / { - bao-ipc@70000000 { - compatible = "bao,ipcshmem"; - reg = <0x70000000 0x00004000>; - write-channel = <0x0 0x2000>; - read-channel = <0x2000 0x2000>; - interrupts = <0 20 1 0>; - interrupt-parent = <&gic>; - id = <0>; - status = "okay"; + bao { + #address-cells = <1>; + #size-cells = <1>; + + bao-ipc@70000000 { + compatible = "bao,ipcshmem"; + reg = <0x70000000 0x00004000>; + write-channel = <0x0 0x2000>; + read-channel = <0x2000 0x2000>; + interrupts = <0 20 1 0>; + interrupt-parent = <&gic>; + id = <0>; + status = "okay"; + }; }; }; diff --git a/demos/virtio/README.md b/demos/virtio/README.md new file mode 100644 index 0000000..bfb1d4c --- /dev/null +++ b/demos/virtio/README.md @@ -0,0 +1,255 @@ +# VirtIO Demo + +This demo showcases a four-guest configuration, comprising three Linux VMs and one FreeRTOS VM. +One Linux guest operates as the VirtIO backend, while the remaining three guests act as VirtIO frontends. +In this setup: +- Two Linux VirtIO frontend guests share access to the same network and storage interfaces. +- The FreeRTOS VirtIO frontend guest is equipped with a VirtIO console. + +Access details: +- The backend VM can be accessed via SSH at the static IP address **192.168.42.15**. +- Once the VirtIO backend device is initialized in the backend VM, the Linux frontend VMs +will become accessible via SSH at static IP addresses **192.168.42.16** and **192.168.42.17**, respectively. + +To build FreeRTOS, set: + +``` +export FREERTOS_PARAMS="STD_ADDR_SPACE=y" +``` + +And follow the instructions in [FreeRTOS](../../guests/freertos/README.md). +To build linux follow [Linux](../../guests/linux/README.md). + +Additionally, you must build the I/O dispatcher system and the VirtIO device model. + +## 1) Build the I/O dispatcher system + +Setup environment variables: +``` +export BAO_DEMOS_LINUX_DRIVERS=$BAO_DEMOS_WRKDIR_SRC/bao-linux-drivers +export BAO_DEMOS_LINUX_DRIVERS_REPO=https://github.com/bao-project/bao-linux-drivers.git +export BAO_DEMOS_LINUX_DRIVERS_BRANCH=linux-$BAO_DEMOS_LINUX_VERSION +export BAO_DEMOS_BUILDROOT_LINUX_BUILD=$(BAO_DEMOS_BUILDROOT)/output/build/linux-custom +export BAO_DEMOS_BUILDROOT_TOOLCHAIN_DIR=$(BAO_DEMOS_BUILDROOT)/output/host/bin +``` + +Clone Bao's Linux drivers repo into your working directory: +``` +git clone --depth 1 --branch $BAO_DEMOS_LINUX_DRIVERS_BRANCH $BAO_DEMOS_LINUX_DRIVERS_REPO $BAO_DEMOS_LINUX_DRIVERS +``` + +To compile the I/O dispatcher kernel module, set up the target architecture and cross-compilers based on your target platform. +Use the appropriate configuration below: + +For aarch64: +``` +export BAO_DEMOS_LINUX_DRIVERS_ARCH=arm64 +export BAO_DEMOS_LINUX_DRIVERS_CC=$BAO_DEMOS_BUILDROOT_TOOLCHAIN_DIR/aarch64-buildroot-linux-gnu- +``` + +For riscv64: +``` +export BAO_DEMOS_LINUX_DRIVERS_ARCH=riscv +export BAO_DEMOS_LINUX_DRIVERS_CC=$BAO_DEMOS_BUILDROOT_TOOLCHAIN_DIR/riscv64-buildroot-linux-gnu- +``` + +For arm: +``` +export BAO_DEMOS_LINUX_DRIVERS_ARCH=arm32 +export BAO_DEMOS_LINUX_DRIVERS_CC=$BAO_DEMOS_BUILDROOT_TOOLCHAIN_DIR/arm-buildroot-linux-gnueabi- +``` + +Run the following command to compile the I/O dispatcher kernel module: +``` +make -C $BAO_DEMOS_BUILDROOT_LINUX_BUILD \ + M=$BAO_DEMOS_LINUX_DRIVERS/iodispatcher \ + CROSS_COMPILE=$BAO_DEMOS_LINUX_DRIVERS_CC \ + ARCH=$BAO_DEMOS_LINUX_DRIVERS_ARCH \ + modules +``` + +After successful compilation, copy the `iodispatcher.ko` file to the images directory: +``` +cp $BAO_DEMOS_LINUX_DRIVERS/iodispatcher/iodispatcher.ko $BAO_DEMOS_WRKDIR_IMGS +``` + +## 2) Build the Bao VirtIO device model + +Setup environment variables: +``` +export BAO_DEMOS_BAO_VIRTIO_DM_URL=https://github.com/bao-project/bao-virtio-dm.git +export BAO_DEMOS_BAO_VIRTIO_DM_DIR=$BAO_DEMOS_WRKDIR/bao-virtio-dm +``` + +If your target is aarch64: +``` +export BAO_DEMOS_BAO_VIRTIO_DM_TARGET=aarch64-unknown-linux-gnu +``` + +If your target is riscv64: +``` +export BAO_DEMOS_BAO_VIRTIO_DM_TARGET=riscv64gc-unknown-linux-gnu +``` + +If your target is arm: +``` +export BAO_DEMOS_BAO_VIRTIO_DM_TARGET=arm-unknown-linux-gnueabi +``` + +Export a variable pointing to the final binary: +``` +export BAO_DEMOS_BAO_VIRTIO_DM_BIN=$BAO_DEMOS_BAO_VIRTIO_DM_DIR/target/$BAO_DEMOS_BAO_VIRTIO_DM_TARGET/release +``` + +Clone Bao's VirtIO device model repo: +``` +git clone --depth 1 --branch main $BAO_DEMOS_BAO_VIRTIO_DM_URL $BAO_DEMOS_BAO_VIRTIO_DM_DIR +``` + +Build the device model: +``` +cd $BAO_DEMOS_BAO_VIRTIO_DM_DIR && cargo build --target=$BAO_DEMOS_BAO_VIRTIO_DM_TARGET --release --locked +``` + +After successful compilation, copy the `bao-virtio-dm` binary to the images directory: +``` +cp $BAO_DEMOS_BAO_VIRTIO_DM_BIN/bao-virtio-dm $BAO_DEMOS_WRKDIR_IMGS +``` + +## 3) Setup the storage images for the two frontend Linux guests + +Setup environment variables: +``` +export BAO_DEMOS_FRONTEND1_IMG=$BAO_DEMOS_WRKDIR_IMGS/ext4_frontend_vm1_image.img +export BAO_DEMOS_FRONTEND2_IMG=$BAO_DEMOS_WRKDIR_IMGS/ext4_frontend_vm2_image.img +export BAO_DEMOS_FRONTEND1_MP=$BAO_DEMOS_WRKDIR_SRC/ext4_frontend_vm1 +export BAO_DEMOS_FRONTEND2_MP=$BAO_DEMOS_WRKDIR_SRC/ext4_frontend_vm2 +``` + +Begin by creating two mount points on your host system: +``` +mkdir -p $BAO_DEMOS_FRONTEND1_MP +mkdir -p $BAO_DEMOS_FRONTEND2_MP +``` + +Create two empty disk images, one for each Linux guest VM: +``` +dd if=/dev/zero of=$BAO_DEMOS_FRONTEND1_IMG bs=1M count=1 +dd if=/dev/zero of=$BAO_DEMOS_FRONTEND2_IMG bs=1M count=1 +``` + +**Note**: The example above creates disk images with a size of 1MB. +Adjust the count value to set a different size, considering the memory allocation for your VMs. + +Format the disk images using the ext4 filesystem: +``` +sudo mkfs.ext4 $BAO_DEMOS_FRONTEND1_IMG +sudo mkfs.ext4 $BAO_DEMOS_FRONTEND2_IMG +``` + +Mount the disk images to their respective mount points: +``` +sudo mount -o loop $BAO_DEMOS_FRONTEND1_IMG $BAO_DEMOS_FRONTEND1_MP +sudo mount -o loop $BAO_DEMOS_FRONTEND2_IMG $BAO_DEMOS_FRONTEND2_MP +``` + +At this stage, you can customize the filesystems. Create directories, add files, or perform other modifications as required. + +After making the necessary changes, unmount the images: +``` +sudo umount $BAO_DEMOS_FRONTEND1_MP +sudo umount $BAO_DEMOS_FRONTEND2_MP +``` + +## 4) Transfer files to the backend VM + +All necessary files, such as storage images, binaries, and configuration files, can be efficiently transferred using a file system overlay. + +Export the defined global variable: +``` +export BAO_DEMOS_BUILDROOT_OVERLAY=$BAO_DEMOS/guests/linux/buildroot/overlay +``` + +Create the subdirectories in the buildroot overlay directory: +``` +mkdir -p $BAO_DEMOS_BUILDROOT_OVERLAY/bin $BAO_DEMOS_BUILDROOT_OVERLAY/etc +``` + +Copy all the files to the respective overlay directory: +``` +cp $BAO_DEMOS_WRKDIR_IMGS/ext4_frontend_vm1_image.img $BAO_DEMOS_BUILDROOT_OVERLAY/etc +cp $BAO_DEMOS_WRKDIR_IMGS/ext4_frontend_vm2_image.img $BAO_DEMOS_BUILDROOT_OVERLAY/etc +cp -r $BAO_DEMOS/demos/virtio/setup/config* $BAO_DEMOS_BUILDROOT_OVERLAY/etc +cp -r $BAO_DEMOS/demos/virtio/setup/setup* $BAO_DEMOS_BUILDROOT_OVERLAY/etc +``` + +**Note**: +The scripts and configuration files provide the necessary instructions to: + - Set up the virtual network + - Load the I/O dispatcher kernel module + - Configure and launch the VirtIO backends + +To insert the I/O dispatcher kernel module automatically when the system starts and run the demo, you can set up and export the following variable: +``` +export BAO_DEMOS_BUILDROOT_POST_BUILD_SCRIPT=$BAO_DEMOS/demos/virtio/setup/post-build.sh +``` + +This will introduce a new entry into the system initialization routine within the `/etc/inittab` file, +ensuring the automatic insertion of the I/O dispatcher kernel module and the execution of all setup scripts required to configure and run the VirtIO demo. + +Lastly, rebuild the backend kernel with: +``` +cd $BAO_DEMOS_BUILDROOT +make linux-reconfigure all +``` + + +### 5.1) Run the Demo (VirtIO Console) + +Once the VirtIO console backend is launched, check the log file: +``` +cat /etc/bao-vm1.log +``` + +You should see output similar to the following: +``` +virtio-console device id 0 at /dev/pts/0 +``` + +To interact with the FreeRTOS guest, connect to the VirtIO console using `picocom`: +``` +picocom -b 115200 /dev/pts/0 +``` + +This allows you to view FreeRTOS guest messages. +Notwithstanding, any input typed into the backend console will trigger corresponding messages from the FreeRTOS guest. + +### 5.2) Run the Demo (VirtIO Network) + +You can log into the two Linux frontend guests via `ssh` using their static IP addresses: + +``` +ssh root@192.168.42.16 +ssh root@192.168.42.17 +``` + +### 5.3) Run the Demo (VirtIO Block) + +After logging into each Linux frontend VM, mount the virtual storage filesystem by executing the following commands: +``` +mkdir /mnt/ext4_mountpoint +mount /dev/vda /mnt/ext4_mountpoint +``` + +This will allow you to access the storage filesystem. +You can verify changes made to the storage filesystem either from the backend VM or your laptop. +Changes are persistent and will remain intact even after a reboot of the Linux frontend guests. + +**Note**: To use a filesystem as the root file system, add the following parameters to the `bootargs` in the frontend device tree file: +``` +root=/dev/vda rootwait +``` + +This will configure the Linux frontend to boot directly from the virtual storage. + + diff --git a/demos/virtio/configs/qemu-aarch64-virt.c b/demos/virtio/configs/qemu-aarch64-virt.c new file mode 100644 index 0000000..75f6ba6 --- /dev/null +++ b/demos/virtio/configs/qemu-aarch64-virt.c @@ -0,0 +1,321 @@ +#include + +VM_IMAGE(linux_backend_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_backend.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) +VM_IMAGE(linux_frontend1_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend1.bin)) +VM_IMAGE(linux_frontend2_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend2.bin)) + +struct config config = { + + CONFIG_HEADER + + .shmemlist_size = 5, + .shmemlist = (struct shmem[]) { + [0] = { .size = 0x01000000, }, + [1] = { .size = 0x01000000, }, + [2] = { .size = 0x01000000, }, + [3] = { .size = 0x01000000, }, + [4] = { .size = 0x01000000, }, + }, + + .vmlist_size = 4, + .vmlist = (struct vm_config[]) { + { + .image = { + .base_addr = 0x80000000, + .load_addr = VM_IMAGE_OFFSET(linux_backend_image), + .size = VM_IMAGE_SIZE(linux_backend_image) + }, + + .entry = 0x80000000, + .cpu_affinity = 0x1, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x80000000, + .size = 0x40000000, + .place_phys = true, + .phys = 0x80000000, + }, + }, + + .remio_dev_num = 5, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_BACKEND, + .interrupt = 40, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + { + .bind_key = 1, + .type = REMIO_DEV_BACKEND, + .interrupt = 41, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_BACKEND, + .interrupt = 42, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + }, + { + .bind_key = 3, + .type = REMIO_DEV_BACKEND, + .interrupt = 43, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_BACKEND, + .interrupt = 44, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) + { + { + .pa = 0xa003000, + .va = 0xa003000, + .size = 0x1000, + .interrupt_num = 8, + .interrupts = (irqid_t[]) {72,73,74,75,76,77,78,79} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0x8000000, + .gicr_addr = 0x80A0000, + } + } + }, + }, + { + .image = { + .base_addr = 0x0, + .load_addr = VM_IMAGE_OFFSET(freertos_image), + .size = VM_IMAGE_SIZE(freertos_image) + }, + + .entry = 0x0, + + .cpu_affinity = 0x2, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x0, + .size = 0x8000000 + } + }, + + .remio_dev_num = 1, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 52, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) { + { + .pa = 0x9000000, + .va = 0xFF000000, + .size = 0x10000, + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {33} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicr_addr = 0xF9020000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend1_image), + .size = VM_IMAGE_SIZE(linux_frontend1_image) + }, + + .entry = 0x10000000, + .cpu_affinity = 0x4, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 1, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0x8000000, + .gicr_addr = 0x80A0000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend2_image), + .size = VM_IMAGE_SIZE(linux_frontend2_image) + }, + + .entry = 0x10000000, + .cpu_affinity = 0x8, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 3, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0x8000000, + .gicr_addr = 0x80A0000, + } + } + }, + }, + }, +}; diff --git a/demos/virtio/configs/qemu-riscv64-virt.c b/demos/virtio/configs/qemu-riscv64-virt.c new file mode 100644 index 0000000..a3bd8ce --- /dev/null +++ b/demos/virtio/configs/qemu-riscv64-virt.c @@ -0,0 +1,288 @@ +#include + +VM_IMAGE(linux_backend_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_backend.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) +VM_IMAGE(linux_frontend1_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend1.bin)) +VM_IMAGE(linux_frontend2_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend2.bin)) + +struct config config = { + + CONFIG_HEADER + + .shmemlist_size = 5, + .shmemlist = (struct shmem[]) { + [0] = { .size = 0x01000000, }, + [1] = { .size = 0x01000000, }, + [2] = { .size = 0x01000000, }, + [3] = { .size = 0x01000000, }, + [4] = { .size = 0x01000000, }, + }, + + .vmlist_size = 4, + .vmlist = (struct vm_config[]) { + { + .image = { + .base_addr = 0x90200000, + .load_addr = VM_IMAGE_OFFSET(linux_backend_image), + .size = VM_IMAGE_SIZE(linux_backend_image) + }, + + .entry = 0x90200000, + .cpu_affinity = 0x1, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x90000000, + .size = 0x40000000, + .place_phys = true, + .phys = 0x90000000, + }, + }, + + .remio_dev_num = 5, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_BACKEND, + .interrupt = 36, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + { + .bind_key = 1, + .type = REMIO_DEV_BACKEND, + .interrupt = 37, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_BACKEND, + .interrupt = 38, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + }, + { + .bind_key = 3, + .type = REMIO_DEV_BACKEND, + .interrupt = 39, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_BACKEND, + .interrupt = 40, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) + { + { + .pa = 0x10001000, + .va = 0x10001000, + .size = 0x8000, + .interrupt_num = 8, + .interrupts = (irqid_t[]) {1, 2, 3, 4, 5, 6, 7, 8} + }, + }, + + .arch = { + .irqc.plic = { + .base = 0xC000000, + } + } + }, + }, + { + .image = { + .base_addr = 0x0, + .load_addr = VM_IMAGE_OFFSET(freertos_image), + .size = VM_IMAGE_SIZE(freertos_image) + }, + + .entry = 0x0, + + .cpu_affinity = 0x2, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x0, + .size = 0x8000000 + } + }, + + .remio_dev_num = 1, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 52, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .pa = 0x10000000, + .va = 0xFF000000, + .size = 0x1000, + .interrupt_num = 1, + .interrupts = (irqid_t[]) {10} + }, + }, + + .arch = { + .irqc.plic = { + .base = 0xC000000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10200000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend1_image), + .size = VM_IMAGE_SIZE(linux_frontend1_image) + }, + + .entry = 0x10200000, + .cpu_affinity = 0x4, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 1, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + } + }, + + .arch = { + .irqc.plic = { + .base = 0xC000000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10200000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend2_image), + .size = VM_IMAGE_SIZE(linux_frontend2_image) + }, + + .entry = 0x10200000, + .cpu_affinity = 0x8, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 3, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .arch = { + .irqc.plic = { + .base = 0xC000000, + } + } + }, + }, + }, +}; diff --git a/demos/virtio/configs/rpi4.c b/demos/virtio/configs/rpi4.c new file mode 100644 index 0000000..83440e0 --- /dev/null +++ b/demos/virtio/configs/rpi4.c @@ -0,0 +1,322 @@ +#include + +VM_IMAGE(linux_backend_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_backend.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) +VM_IMAGE(linux_frontend1_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend1.bin)) +VM_IMAGE(linux_frontend2_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend2.bin)) + +struct config config = { + + CONFIG_HEADER + + .shmemlist_size = 5, + .shmemlist = (struct shmem[]) { + [0] = { .size = 0x01000000, }, + [1] = { .size = 0x01000000, }, + [2] = { .size = 0x01000000, }, + [3] = { .size = 0x01000000, }, + [4] = { .size = 0x01000000, }, + }, + + .vmlist_size = 4, + .vmlist = (struct vm_config[]) { + { + .image = { + .base_addr = 0x40000000, + .load_addr = VM_IMAGE_OFFSET(linux_backend_image), + .size = VM_IMAGE_SIZE(linux_backend_image) + }, + + .entry = 0x40000000, + .cpu_affinity = 0x1, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x40000000, + .size = 0x40000000, + .place_phys = true, + .phys = 0x40000000, + }, + }, + + .remio_dev_num = 5, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_BACKEND, + .interrupt = 40, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + { + .bind_key = 1, + .type = REMIO_DEV_BACKEND, + .interrupt = 41, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_BACKEND, + .interrupt = 42, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + }, + { + .bind_key = 3, + .type = REMIO_DEV_BACKEND, + .interrupt = 43, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_BACKEND, + .interrupt = 44, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) + { + { + /* GENET */ + .pa = 0xfd580000, + .va = 0xfd580000, + .size = 0x10000, + .interrupt_num = 2, + .interrupts = (irqid_t[]) {189, 190} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xff841000, + .gicc_addr = 0xff842000, + } + } + }, + }, + { + .image = { + .base_addr = 0x0, + .load_addr = VM_IMAGE_OFFSET(freertos_image), + .size = VM_IMAGE_SIZE(freertos_image) + }, + + .entry = 0x0, + + .cpu_affinity = 0x2, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x0, + .size = 0x8000000 + } + }, + + .remio_dev_num = 1, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 52, + .shmem = { + .base = 0xD0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) { + { + /* UART1 */ + .pa = 0xfe215000, + .va = 0xff000000, + .size = 0x1000, + .interrupt_num = 1, + .interrupts = (irqid_t[]) {125} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicc_addr = 0xF9020000, + } + } + }, + }, + { + .image = { + .base_addr = 0x20000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend1_image), + .size = VM_IMAGE_SIZE(linux_frontend1_image) + }, + + .entry = 0x20000000, + .cpu_affinity = 0x4, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x20000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 1, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD2000000, + .size = 0x01000000, + .shmem_id = 2, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xff841000, + .gicc_addr = 0xff842000, + } + } + }, + }, + { + .image = { + .base_addr = 0x20000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend2_image), + .size = VM_IMAGE_SIZE(linux_frontend2_image) + }, + + .entry = 0x20000000, + .cpu_affinity = 0x8, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x20000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 3, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xD3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xD4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xff841000, + .gicc_addr = 0xff842000, + } + } + }, + }, + }, +}; diff --git a/demos/virtio/configs/zcu102.c b/demos/virtio/configs/zcu102.c new file mode 120000 index 0000000..cd655a1 --- /dev/null +++ b/demos/virtio/configs/zcu102.c @@ -0,0 +1 @@ +zcu104.c \ No newline at end of file diff --git a/demos/virtio/configs/zcu104.c b/demos/virtio/configs/zcu104.c new file mode 100755 index 0000000..ea4ab79 --- /dev/null +++ b/demos/virtio/configs/zcu104.c @@ -0,0 +1,321 @@ +#include + +VM_IMAGE(linux_backend_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_backend.bin)) +VM_IMAGE(freertos_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/freertos.bin)) +VM_IMAGE(linux_frontend1_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend1.bin)) +VM_IMAGE(linux_frontend2_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux_frontend2.bin)) + +struct config config = { + + CONFIG_HEADER + + .shmemlist_size = 5, + .shmemlist = (struct shmem[]) { + [0] = { .size = 0x01000000, }, + [1] = { .size = 0x01000000, }, + [2] = { .size = 0x01000000, }, + [3] = { .size = 0x01000000, }, + [4] = { .size = 0x01000000, }, + }, + + .vmlist_size = 4, + .vmlist = (struct vm_config[]) { + { + .image = { + .base_addr = 0x00000000, + .load_addr = VM_IMAGE_OFFSET(linux_backend_image), + .size = VM_IMAGE_SIZE(linux_backend_image) + }, + + .entry = 0x00000000, + .cpu_affinity = 0x1, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x00000000, + .size = 0x50000000, + }, + }, + + .remio_dev_num = 5, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_BACKEND, + .interrupt = 40, + .shmem = { + .base = 0xd0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + { + .bind_key = 1, + .type = REMIO_DEV_BACKEND, + .interrupt = 41, + .shmem = { + .base = 0xd1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_BACKEND, + .interrupt = 42, + .shmem = { + .base = 0xd2000000, + .size = 0x01000000, + .shmem_id = 2, + } + }, + { + .bind_key = 3, + .type = REMIO_DEV_BACKEND, + .interrupt = 43, + .shmem = { + .base = 0xd3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_BACKEND, + .interrupt = 44, + .shmem = { + .base = 0xd4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) + { + { + .id = 0x877, + .pa = 0xff0e0000, + .va = 0xff0e0000, + .size = 0x1000, + .interrupt_num = 2, + .interrupts = + (irqid_t[]) {95, 96} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicc_addr = 0xF9020000, + } + } + }, + }, + { + .image = { + .base_addr = 0x0, + .load_addr = VM_IMAGE_OFFSET(freertos_image), + .size = VM_IMAGE_SIZE(freertos_image) + }, + + .entry = 0x0, + + .cpu_affinity = 0x2, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x0, + .size = 0x8000000 + } + }, + + .remio_dev_num = 1, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 0, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 52, + .shmem = { + .base = 0xd0000000, + .size = 0x01000000, + .shmem_id = 0, + } + }, + }, + + .dev_num = 2, + .devs = (struct vm_dev_region[]) { + { + .pa = 0xFF000000, + .va = 0xFF000000, + .size = 0x10000, + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {53} + }, + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicc_addr = 0xF9020000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend1_image), + .size = VM_IMAGE_SIZE(linux_frontend1_image) + }, + + .entry = 0x10000000, + .cpu_affinity = 0x4, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 1, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xd1000000, + .size = 0x01000000, + .shmem_id = 1, + } + }, + { + .bind_key = 2, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xd2000000, + .size = 0x01000000, + .shmem_id = 2, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicc_addr = 0xF9020000, + } + } + }, + }, + { + .image = { + .base_addr = 0x10000000, + .load_addr = VM_IMAGE_OFFSET(linux_frontend2_image), + .size = VM_IMAGE_SIZE(linux_frontend2_image) + }, + + .entry = 0x10000000, + .cpu_affinity = 0x8, + + .platform = { + .cpu_num = 1, + + .region_num = 1, + .regions = (struct vm_mem_region[]) { + { + .base = 0x10000000, + .size = 0x40000000, + }, + }, + + .remio_dev_num = 2, + .remio_devs = (struct remio_dev[]) { + { + .bind_key = 3, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003e00, + .interrupt = 79, + .shmem = { + .base = 0xd3000000, + .size = 0x01000000, + .shmem_id = 3, + } + }, + { + .bind_key = 4, + .type = REMIO_DEV_FRONTEND, + .size = 0x200, + .va = 0xa003c00, + .interrupt = 78, + .shmem = { + .base = 0xd4000000, + .size = 0x01000000, + .shmem_id = 4, + } + } + }, + + .dev_num = 1, + .devs = (struct vm_dev_region[]) { + { + .interrupt_num = 1, + .interrupts = + (irqid_t[]) {27} + } + }, + + .arch = { + .gic = { + .gicd_addr = 0xF9010000, + .gicc_addr = 0xF9020000, + } + } + }, + }, + }, +}; diff --git a/demos/virtio/devicetrees/qemu-aarch64-virt/linux-backend.dts b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-backend.dts new file mode 100644 index 0000000..2cc081a --- /dev/null +++ b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-backend.dts @@ -0,0 +1,130 @@ +/dts-v1/; + +/ { + #size-cells = <0x2>; + #address-cells = <0x2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x0 0x40000000>; + }; + + gic: intc@8000000 { + interrupts = <0x01 0x09 0x04>; + reg = <0x00 0x8000000 0x00 0x10000 0x00 0x80a0000 0x00 0xf60000>; + #redistributor-regions = <0x01>; + compatible = "arm,gic-v3"; + ranges; + #size-cells = <0x02>; + #address-cells = <0x02>; + interrupt-controller; + #interrupt-cells = <0x03>; + }; + + bao_io_dispatcher: bao-io-dispatcher { + compatible = "bao,io-dispatcher"; + reg = <0x0 0xd0000000 0x0 0x01000000 + 0x0 0xd1000000 0x0 0x01000000 + 0x0 0xd2000000 0x0 0x01000000 + 0x0 0xd3000000 0x0 0x01000000 + 0x0 0xd4000000 0x0 0x01000000>; + interrupts = <0x0 0x08 0x1 + 0x0 0x09 0x1 + 0x0 0x0a 0x1 + 0x0 0x0b 0x1 + 0x0 0x0c 0x1>; + interrupt-parent = <&gic>; + }; + + timer { + interrupts = <0x1 0xd 0xf04 0x1 0xe 0xf04 0x1 0xb 0xf04 0x1 0xa 0xf04>; + always-on; + compatible = "arm,armv8-timer", "arm,armv7-timer"; + }; + + virtio_mmio@a003000 { + dma-coherent; + interrupts = <0x0 0x28 0x1>; + reg = <0x0 0xa003000 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003200 { + dma-coherent; + interrupts = <0x0 0x29 0x1>; + reg = <0x0 0xa003200 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003400 { + dma-coherent; + interrupts = <0x0 0x2a 0x1>; + reg = <0x0 0xa003400 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003600 { + dma-coherent; + interrupts = <0x0 0x2b 0x1>; + reg = <0x0 0xa003600 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003800 { + dma-coherent; + interrupts = <0x0 0x2c 0x1>; + reg = <0x0 0xa003800 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003a00 { + dma-coherent; + interrupts = <0x0 0x2d 0x1>; + reg = <0x0 0xa003a00 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + }; + + apb-pclk { + phandle = <0x8000>; + clock-output-names = "clk24mhz"; + clock-frequency = <0x16e3600>; + #clock-cells = <0x00>; + compatible = "fixed-clock"; + }; + + chosen { + bootargs = "clk_ignore_unused init=/sbin/init ip=192.168.42.15"; + }; +}; diff --git a/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend1.dts b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend1.dts new file mode 100644 index 0000000..28251b0 --- /dev/null +++ b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend1.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/ { + #size-cells = <0x2>; + #address-cells = <0x2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x40000000 + 0x0 0xd1000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d1000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd1000000 0x0 0x1000000>; + }; + + reserved2: buffer@d2000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd2000000 0x0 0x1000000>; + }; + }; + + gic: intc@8000000 { + interrupts = <0x01 0x09 0x04>; + reg = <0x00 0x8000000 0x00 0x10000 0x00 0x80a0000 0x00 0xf60000>; + #redistributor-regions = <0x01>; + compatible = "arm,gic-v3"; + ranges; + #size-cells = <0x02>; + #address-cells = <0x02>; + interrupt-controller; + #interrupt-cells = <0x03>; + }; + + timer { + interrupts = <0x1 0xd 0xf04 0x1 0xe 0xf04 0x1 0xb 0xf04 0x1 0xa 0xf04>; + always-on; + compatible = "arm,armv8-timer", "arm,armv7-timer"; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + apb-pclk { + phandle = <0x8000>; + clock-output-names = "clk24mhz"; + clock-frequency = <0x16e3600>; + #clock-cells = <0x00>; + compatible = "fixed-clock"; + }; + + chosen { + bootargs = "clk_ignore_unused init=/sbin/init ip=192.168.42.16"; + }; + +}; diff --git a/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend2.dts b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend2.dts new file mode 100644 index 0000000..1e2ce6a --- /dev/null +++ b/demos/virtio/devicetrees/qemu-aarch64-virt/linux-frontend2.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/ { + #size-cells = <0x2>; + #address-cells = <0x2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x40000000 + 0x0 0xd3000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d3000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd3000000 0x0 0x1000000>; + }; + + reserved2: buffer@d4000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd4000000 0x0 0x1000000>; + }; + }; + + gic: intc@8000000 { + interrupts = <0x01 0x09 0x04>; + reg = <0x00 0x8000000 0x00 0x10000 0x00 0x80a0000 0x00 0xf60000>; + #redistributor-regions = <0x01>; + compatible = "arm,gic-v3"; + ranges; + #size-cells = <0x02>; + #address-cells = <0x02>; + interrupt-controller; + #interrupt-cells = <0x03>; + }; + + timer { + interrupts = <0x1 0xd 0xf04 0x1 0xe 0xf04 0x1 0xb 0xf04 0x1 0xa 0xf04>; + always-on; + compatible = "arm,armv8-timer", "arm,armv7-timer"; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + apb-pclk { + phandle = <0x8000>; + clock-output-names = "clk24mhz"; + clock-frequency = <0x16e3600>; + #clock-cells = <0x00>; + compatible = "fixed-clock"; + }; + + chosen { + bootargs = "clk_ignore_unused init=/sbin/init ip=192.168.42.17"; + }; + +}; diff --git a/demos/virtio/devicetrees/qemu-riscv64-virt/linux-backend.dts b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-backend.dts new file mode 100644 index 0000000..cd949b2 --- /dev/null +++ b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-backend.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + + cpus { + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <10000000>; + + cpu@0 { + device_type = "cpu"; + reg = <0x0>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64imafdcsu"; + mmu-type = "riscv,sv48"; + + cpu0_intc: interrupt-controller { + #interrupt-cells = <0x1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + }; + + memory@90000000 { + device_type = "memory"; + reg = <0x0 0x90000000 0x0 0x40000000>; + }; + + plic: interrupt-controller@c000000 { + riscv,ndev = <60>; + reg = <0x0 0xc000000 0x0 0x4000000>; + interrupts-extended = < + &cpu0_intc 11 &cpu0_intc 9 + >; + interrupt-controller; + compatible = "riscv,plic0"; + #interrupt-cells = <0x1>; + }; + + bao_io_dispatcher: bao-io-dispatcher { + compatible = "bao,io-dispatcher"; + reg = <0x0 0xd0000000 0x0 0x01000000 + 0x0 0xd1000000 0x0 0x01000000 + 0x0 0xd2000000 0x0 0x01000000 + 0x0 0xd3000000 0x0 0x01000000 + 0x0 0xd4000000 0x0 0x01000000>; + interrupts = <0x0 0x24 0x1 + 0x0 0x25 0x1 + 0x0 0x26 0x1 + 0x0 0x27 0x1 + 0x0 0x28 0x1>; + interrupt-parent = <&plic>; + }; + + virtio_mmio@10001000 { + interrupt-parent = <&plic>; + interrupts = <0x1>; + reg = <0x0 0x10001000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10002000 { + interrupt-parent = <&plic>; + interrupts = <0x2>; + reg = <0x0 0x10002000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10003000 { + interrupt-parent = <&plic>; + interrupts = <0x3>; + reg = <0x0 0x10003000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10004000 { + interrupt-parent = <&plic>; + interrupts = <0x4>; + reg = <0x0 0x10004000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10005000 { + interrupt-parent = <&plic>; + interrupts = <0x5>; + reg = <0x0 0x10005000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10006000 { + interrupt-parent = <&plic>; + interrupts = <0x6>; + reg = <0x0 0x10006000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10007000 { + interrupt-parent = <&plic>; + interrupts = <0x7>; + reg = <0x0 0x10007000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@10008000 { + interrupt-parent = <&plic>; + interrupts = <0x8>; + reg = <0x0 0x10008000 0x0 0x1000>; + compatible = "virtio,mmio"; + }; + + chosen { + bootargs = "ip=192.168.42.15"; + }; + +}; diff --git a/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend1.dts b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend1.dts new file mode 100644 index 0000000..c45af06 --- /dev/null +++ b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend1.dts @@ -0,0 +1,81 @@ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + + cpus { + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <10000000>; + + cpu@0 { + device_type = "cpu"; + reg = <0x0>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64imafdcsu"; + mmu-type = "riscv,sv48"; + + cpu0_intc: interrupt-controller { + #interrupt-cells = <0x1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x40000000 + 0x0 0xd1000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d1000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd1000000 0x0 0x1000000>; + }; + + reserved2: buffer@d2000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd2000000 0x0 0x1000000>; + }; + }; + + plic: interrupt-controller@c000000 { + riscv,ndev = <60>; + reg = <0x0 0xc000000 0x0 0x4000000>; + interrupts-extended = < + &cpu0_intc 11 &cpu0_intc 9 + >; + interrupt-controller; + compatible = "riscv,plic0"; + #interrupt-cells = <0x1>; + }; + + virtio@a003e00 { + interrupt-parent = <&plic>; + interrupts = <0x2f>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + interrupt-parent = <&plic>; + interrupts = <0x2e>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + chosen { + bootargs = "ip=192.168.42.16"; + }; + +}; diff --git a/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend2.dts b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend2.dts new file mode 100644 index 0000000..6a5eda3 --- /dev/null +++ b/demos/virtio/devicetrees/qemu-riscv64-virt/linux-frontend2.dts @@ -0,0 +1,81 @@ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + + cpus { + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <10000000>; + + cpu@0 { + device_type = "cpu"; + reg = <0x0>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64imafdcsu"; + mmu-type = "riscv,sv48"; + + cpu0_intc: interrupt-controller { + #interrupt-cells = <0x1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x40000000 + 0x0 0xd3000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d3000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd3000000 0x0 0x1000000>; + }; + + reserved2: buffer@d4000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd4000000 0x0 0x1000000>; + }; + }; + + plic: interrupt-controller@c000000 { + riscv,ndev = <60>; + reg = <0x0 0xc000000 0x0 0x4000000>; + interrupts-extended = < + &cpu0_intc 11 &cpu0_intc 9 + >; + interrupt-controller; + compatible = "riscv,plic0"; + #interrupt-cells = <0x1>; + }; + + virtio@a003e00 { + interrupt-parent = <&plic>; + interrupts = <0x2f>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + interrupt-parent = <&plic>; + interrupts = <0x2e>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + chosen { + bootargs = "ip=192.168.42.17"; + }; + +}; diff --git a/demos/virtio/devicetrees/rpi4/linux-backend.dts b/demos/virtio/devicetrees/rpi4/linux-backend.dts new file mode 100644 index 0000000..9294f35 --- /dev/null +++ b/demos/virtio/devicetrees/rpi4/linux-backend.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@40000000 { + reg = <0x0 0x40000000 0x0 0x40000000>; + device_type = "memory"; + }; + + reserved-memory { + #address-cells = <0x02>; + #size-cells = <0x01>; + ranges; + + linux,cma { + compatible = "shared-dma-pool"; + size = <0x4000000>; + reusable; + linux,cma-default; + }; + }; + + bao_io_dispatcher: bao-io-dispatcher { + compatible = "bao,io-dispatcher"; + reg = <0x0 0xd0000000 0x0 0x01000000 + 0x0 0xd1000000 0x0 0x01000000 + 0x0 0xd2000000 0x0 0x01000000 + 0x0 0xd3000000 0x0 0x01000000 + 0x0 0xd4000000 0x0 0x01000000>; + interrupts = <0x0 0x08 0x1 + 0x0 0x09 0x1 + 0x0 0x0a 0x1 + 0x0 0x0b 0x1 + 0x0 0x0c 0x1>; + interrupt-parent = <&gic>; + }; + + gic: interrupt-controller@3881000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0xff841000 0x0 0x1000>, + <0x0 0xff842000 0x0 0x2000>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + scb@7c000000 { + compatible = "simple-bus"; + #address-cells = <0x02>; + #size-cells = < 0x02 >; + dma-ranges = < 0x00 0x00 0x00 0x00 0x04 0x00 >; + ranges = < 0x00 0x7c000000 0x00 0xfc000000 0x00 0x3800000 0x00 0x40000000 0x00 0xff800000 0x00 0x800000 0x06 0x00 0x06 0x00 0x00 0x40000000 0x00 0x00 0x00 0x00 0x00 0xfc000000 >; + + genet: ethernet@7d580000 { + local-mac-address = [dc a6 32 a3 9c 57]; + compatible = "brcm,bcm2711-genet-v5", "brcm,genet-v5"; + reg = < 0x00 0x7d580000 0x00 0x10000 >; + #address-cells = <0x1>; + #size-cells = <0x1>; + interrupts = <0 157 4>, + <0 158 4>; + status = "okay"; + + phy-handle = <&phy1>; + phy-mode = "rgmii-rxid"; + + genet_mdio: mdio@e14 { + compatible = "brcm,genet-mdio-v5"; + reg = <0xe14 0x8>; + reg-names = "mdio"; + #address-cells = <0x0>; + #size-cells = <0x1>; + + phy1: ethernet-phy@1 { + reg = <0x01>; + led-modes = < 0x00 0x08 >; + }; + }; + }; + }; + + aliases { + ethernet0 = &genet; + }; + + chosen { + bootargs = "earlycon clk_ignore_unused ip=192.168.42.15 carrier_timeout=0"; + }; + +}; diff --git a/demos/virtio/devicetrees/rpi4/linux-frontend1.dts b/demos/virtio/devicetrees/rpi4/linux-frontend1.dts new file mode 100644 index 0000000..3b88bc8 --- /dev/null +++ b/demos/virtio/devicetrees/rpi4/linux-frontend1.dts @@ -0,0 +1,80 @@ +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@20000000 { + reg = <0x0 0x20000000 0x0 0x40000000 + 0x0 0xd1000000 0x0 0x02000000>; + device_type = "memory"; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d1000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd1000000 0x0 0x1000000>; + }; + + reserved2: buffer@d2000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd2000000 0x0 0x1000000>; + }; + }; + + gic: interrupt-controller@3881000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0xff841000 0x0 0x1000>, + <0x0 0xff842000 0x0 0x2000>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + chosen { + bootargs = "clk_ignore_unused ip=192.168.42.16"; + }; + +}; diff --git a/demos/virtio/devicetrees/rpi4/linux-frontend2.dts b/demos/virtio/devicetrees/rpi4/linux-frontend2.dts new file mode 100644 index 0000000..cbdbf53 --- /dev/null +++ b/demos/virtio/devicetrees/rpi4/linux-frontend2.dts @@ -0,0 +1,80 @@ +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@20000000 { + reg = <0x0 0x20000000 0x0 0x40000000 + 0x0 0xd3000000 0x0 0x02000000>; + device_type = "memory"; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d3000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd3000000 0x0 0x1000000>; + }; + + reserved2: buffer@d4000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd4000000 0x0 0x1000000>; + }; + }; + + gic: interrupt-controller@3881000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + interrupt-controller; + reg = <0x0 0xff841000 0x0 0x1000>, + <0x0 0xff842000 0x0 0x2000>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + chosen { + bootargs = "clk_ignore_unused ip=192.168.42.17"; + }; + +}; diff --git a/demos/virtio/devicetrees/zcu102 b/demos/virtio/devicetrees/zcu102 new file mode 120000 index 0000000..eb980f2 --- /dev/null +++ b/demos/virtio/devicetrees/zcu102 @@ -0,0 +1 @@ +zcu104 \ No newline at end of file diff --git a/demos/virtio/devicetrees/zcu104/linux-backend.dts b/demos/virtio/devicetrees/zcu104/linux-backend.dts new file mode 100644 index 0000000..8ece82a --- /dev/null +++ b/demos/virtio/devicetrees/zcu104/linux-backend.dts @@ -0,0 +1,307 @@ +/dts-v1/; + +/ { + compatible = "xlnx,zynqmp-zcu104-revC", "xlnx,zynqmp-zcu104", "xlnx,zynqmp"; + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "ZynqMP ZCU104 RevC"; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x00000000 0x0 0x50000000>; + }; + + bao_io_dispatcher: bao-io-dispatcher { + compatible = "bao,io-dispatcher"; + reg = <0x0 0xd0000000 0x0 0x01000000 + 0x0 0xd1000000 0x0 0x01000000 + 0x0 0xd2000000 0x0 0x01000000 + 0x0 0xd3000000 0x0 0x01000000 + 0x0 0xd4000000 0x0 0x01000000>; + interrupts = <0x0 0x08 0x1 + 0x0 0x09 0x1 + 0x0 0x0a 0x1 + 0x0 0x0b 0x1 + 0x0 0x0c 0x1>; + interrupt-parent = <0x4>; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupt-parent = <0x4>; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + uartclk: uartclk { + compatible = "fixed-clock"; + #clock-cells = <0x0>; + clock-frequency = <100000000>; + phandle = <0x1>; + }; + + firmware { + zynqmp_firmware: zynqmp-firmware { + compatible = "xlnx,zynqmp-firmware"; + zynqmp_clk: clock-controller { + u-boot,dm-pre-reloc; + #clock-cells = <1>; + compatible = "xlnx,zynqmp-clk"; + clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, + <&aux_ref_clk>, <>_crx_ref_clk>; + clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk", + "aux_ref_clk", "gt_crx_ref_clk"; + }; + }; + }; + + fclk0: fclk0 { + status = "okay"; + compatible = "xlnx,fclk"; + clocks = <&zynqmp_clk 71>; + }; + + fclk1: fclk1 { + status = "okay"; + compatible = "xlnx,fclk"; + clocks = <&zynqmp_clk 72>; + }; + + fclk2: fclk2 { + status = "okay"; + compatible = "xlnx,fclk"; + clocks = <&zynqmp_clk 73>; + }; + + fclk3: fclk3 { + status = "okay"; + compatible = "xlnx,fclk"; + clocks = <&zynqmp_clk 74>; + }; + + pss_ref_clk: pss_ref_clk { + u-boot,dm-pre-reloc; + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <33333333>; + }; + + video_clk: video_clk { + u-boot,dm-pre-reloc; + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <27000000>; + }; + + pss_alt_ref_clk: pss_alt_ref_clk { + u-boot,dm-pre-reloc; + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + }; + + gt_crx_ref_clk: gt_crx_ref_clk { + u-boot,dm-pre-reloc; + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <108000000>; + }; + + aux_ref_clk: aux_ref_clk { + u-boot,dm-pre-reloc; + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <27000000>; + }; + + dp_aclk: dp_aclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + clock-accuracy = <100>; + }; + + amba_apu@0 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x1>; + ranges = <0x0 0x0 0x0 0x0 0xffffffff>; + + interrupt-controller@f9010000 { + compatible = "arm,gic-400", "arm,cortex-a15-gic"; + #interrupt-cells = <0x3>; + reg = <0x0 0xf9010000 0x10000 0x0 0xf9020000 0x20000 0x0 0xf9040000 0x20000 0x0 0xf9060000 0x20000>; + interrupt-controller; + interrupt-parent = <0x4>; + interrupts = <0x1 0x9 0xf04>; + phandle = <0x4>; + }; + }; + + ethclk: ethclk { + compatible = "fixed-clock"; + #clock-cells = <0x0>; + clock-frequency = <125000000>; + phandle = <0x2>; + }; + + clk200: clk200 { + compatible = "fixed-clock"; + #clock-cells = <0x0>; + clock-frequency = <200000000>; + }; + + + nvmem_firmware { + compatible = "xlnx,zynqmp-nvmem-fw"; + #address-cells = <0x1>; + #size-cells = <0x1>; + + soc_revision@0 { + reg = <0x0 0x4>; + phandle = <0x16>; + }; + + efuse_dna@c { + reg = <0xc 0xc>; + }; + + efuse_usr0@20 { + reg = <0x20 0x4>; + }; + + efuse_usr1@24 { + reg = <0x24 0x4>; + }; + + efuse_usr2@28 { + reg = <0x28 0x4>; + }; + + efuse_usr3@2c { + reg = <0x2c 0x4>; + }; + + efuse_usr4@30 { + reg = <0x30 0x4>; + }; + + efuse_usr5@34 { + reg = <0x34 0x4>; + }; + + efuse_usr6@38 { + reg = <0x38 0x4>; + }; + + efuse_usr7@3c { + reg = <0x3c 0x4>; + }; + + efuse_miscusr@40 { + reg = <0x40 0x4>; + }; + + efuse_chash@50 { + reg = <0x50 0x4>; + }; + + efuse_pufmisc@54 { + reg = <0x54 0x4>; + }; + + efuse_sec@58 { + reg = <0x58 0x4>; + }; + + efuse_spkid@5c { + reg = <0x5c 0x4>; + }; + + efuse_ppk0hash@a0 { + reg = <0xa0 0x30>; + }; + + efuse_ppk1hash@d0 { + reg = <0xd0 0x30>; + }; + }; + + amba { + compatible = "simple-bus"; + u-boot,dm-pre-reloc; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + ethernet@ff0e0000 { + compatible = "cdns,zynqmp-gem", "cdns,gem"; + status = "okay"; + interrupt-parent = <0x4>; + interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>; + reg = <0x0 0xff0e0000 0x0 0x1000>; + clock-names = "pclk", "hclk", "tx_clk", "rx_clk"; + phy-mode = "rgmii-id"; + #address-cells = <0x1>; + #size-cells = <0x0>; + clocks = <0x2 0x2 0x2 0x2>; + phy-handle = <0x3>; + + phy@c { + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + ti,dp83867-rxctrl-strap-quirk; + phandle = <0x3>; + }; + }; + + zynqmp_phy@fd400000 { + compatible = "xlnx,zynqmp-psgtr-v1.1"; + status = "disabled"; + reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>; + reg-names = "serdes", "siou"; + + lane0 { + #phy-cells = <0x4>; + }; + + lane1 { + #phy-cells = <0x4>; + }; + + lane2 { + #phy-cells = <0x4>; + }; + + lane3 { + #phy-cells = <0x4>; + }; + }; + }; + + aliases { + ethernet0 = "/amba/ethernet@ff0e0000"; + }; + + chosen { + bootargs = "ip=192.168.42.15 carrier_timeout=0"; + }; +}; diff --git a/demos/virtio/devicetrees/zcu104/linux-frontend1.dts b/demos/virtio/devicetrees/zcu104/linux-frontend1.dts new file mode 100644 index 0000000..94186e4 --- /dev/null +++ b/demos/virtio/devicetrees/zcu104/linux-frontend1.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x30000000 + 0x0 0xd1000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d1000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd1000000 0x0 0x1000000>; + }; + + reserved2: buffer@d2000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd2000000 0x0 0x1000000>; + }; + }; + + gic: interrupt-controller@f9010000 { + compatible = "arm,gic-400", "arm,cortex-a15-gic"; + #interrupt-cells = <0x3>; + reg = <0x0 0xf9010000 0x0 0x10000 0x0 0xf9020000 0x0 0x20000 0x0 0xf9040000 0x0 0x20000 0x0 0xf9060000 0x0 0x20000>; + interrupt-controller; + interrupt-parent = <0x4>; + interrupts = <0x1 0x9 0xf04>; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + timer { + compatible = "arm,armv8-timer"; + always-on; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + + uartclk: uartclk { + compatible = "fixed-clock"; + #clock-cells = <0x0>; + clock-frequency = <100000000>; + phandle = <0x1>; + }; + + amba { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + zynqmp_phy@fd400000 { + compatible = "xlnx,zynqmp-psgtr-v1.1"; + status = "disabled"; + reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>; + reg-names = "serdes", "siou"; + + lane0 { + #phy-cells = <0x4>; + }; + + lane1 { + #phy-cells = <0x4>; + }; + + lane2 { + #phy-cells = <0x4>; + }; + + lane3 { + #phy-cells = <0x4>; + }; + }; + }; + + chosen { + bootargs = "ip=192.168.42.16"; + }; +}; diff --git a/demos/virtio/devicetrees/zcu104/linux-frontend2.dts b/demos/virtio/devicetrees/zcu104/linux-frontend2.dts new file mode 100644 index 0000000..c3f4a3c --- /dev/null +++ b/demos/virtio/devicetrees/zcu104/linux-frontend2.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + interrupt-parent = <&gic>; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu@0 { + compatible = "arm,cortex-a53", "arm,armv8"; + device_type = "cpu"; + enable-method = "psci"; + reg = <0x0>; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + memory@10000000 { + device_type = "memory"; + reg = <0x0 0x10000000 0x0 0x30000000 + 0x0 0xd3000000 0x0 0x02000000>; + }; + + reserved-memory { + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + reserved1: buffer@d3000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd3000000 0x0 0x1000000>; + }; + + reserved2: buffer@d4000000 { + compatible = "restricted-dma-pool"; + reg = <0x0 0xd4000000 0x0 0x1000000>; + }; + }; + + gic: interrupt-controller@f9010000 { + compatible = "arm,gic-400", "arm,cortex-a15-gic"; + #interrupt-cells = <0x3>; + reg = <0x0 0xf9010000 0x0 0x10000 0x0 0xf9020000 0x0 0x20000 0x0 0xf9040000 0x0 0x20000 0x0 0xf9060000 0x0 0x20000>; + interrupt-controller; + interrupt-parent = <0x4>; + interrupts = <0x1 0x9 0xf04>; + }; + + virtio@a003e00 { + dma-coherent; + interrupts = <0x0 0x2f 0x1>; + reg = <0x0 0xa003e00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved1>; + }; + + virtio@a003c00 { + dma-coherent; + interrupts = <0x0 0x2e 0x1>; + reg = <0x0 0xa003c00 0x0 0x200>; + compatible = "virtio,mmio"; + memory-region = <&reserved2>; + }; + + timer { + compatible = "arm,armv8-timer"; + always-on; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + }; + + + uartclk: uartclk { + compatible = "fixed-clock"; + #clock-cells = <0x0>; + clock-frequency = <100000000>; + phandle = <0x1>; + }; + + amba { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + + zynqmp_phy@fd400000 { + compatible = "xlnx,zynqmp-psgtr-v1.1"; + status = "disabled"; + reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>; + reg-names = "serdes", "siou"; + + lane0 { + #phy-cells = <0x4>; + }; + + lane1 { + #phy-cells = <0x4>; + }; + + lane2 { + #phy-cells = <0x4>; + }; + + lane3 { + #phy-cells = <0x4>; + }; + }; + }; + + chosen { + bootargs = "ip=192.168.42.17"; + }; +}; diff --git a/demos/virtio/freertos-app/demo.c b/demos/virtio/freertos-app/demo.c new file mode 100644 index 0000000..786e7bc --- /dev/null +++ b/demos/virtio/freertos-app/demo.c @@ -0,0 +1,228 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* FreeRTOS kernel includes. */ +#include +#include +#include + +#include +#include +#include + +#include + +/* + * Prototypes for the standard FreeRTOS callback/hook functions implemented + * within this file. See https://www.freertos.org/a00016.html + */ +void vApplicationMallocFailedHook(void); +void vApplicationIdleHook(void); +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName); +void vApplicationTickHook(void); + +/*-----------------------------------------------------------*/ + +#define VIRTIO_CONSOLE_RX_IRQ_ID (52) + +/* +* The shared memory region defined. +*/ +#ifndef SHMEM_BASE +#error SHMEM_BASE not defined +#endif + +static char* const shmem_base = (char*)SHMEM_BASE; +static const long mmio_base = 0xa003e00; + +static struct virtio_console console; + +void virtio_console_rx_handler() { + if (virtio_console_receive(&console)) { + virtio_console_rx_print_buffer(&console); + } +} + +void virtio_init(void) +{ + printf("Initializing virtio console ...\n"); + + if (!virtio_console_init(&console, shmem_base, mmio_base)) { + printf("virtio console initialization failed!\n"); + } else { + printf("virtio console initialized\n"); + } + + irq_set_handler(VIRTIO_CONSOLE_RX_IRQ_ID, virtio_console_rx_handler); + irq_set_prio(VIRTIO_CONSOLE_RX_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(VIRTIO_CONSOLE_RX_IRQ_ID); +} + +void vTask(void *pvParameters) +{ + unsigned long counter = 0; + unsigned long id = (unsigned long)pvParameters; + char msg[32] = {0}; + while (1) + { + sprintf(msg, "Task%d: %d\r\n", id, counter++); + virtio_console_transmit(&console, msg); + vTaskDelay(1000 / portTICK_PERIOD_MS); + } +} + +void uart_rx_handler(){ + printf("%s\n", __func__); + uart_clear_rxirq(); +} + +int main(void){ + + printf("Bao FreeRTOS guest\n"); + + virtio_init(); + + uart_enable_rxirq(); + irq_set_handler(UART_IRQ_ID, uart_rx_handler); + irq_set_prio(UART_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(UART_IRQ_ID); + + xTaskCreate( + vTask, + "Task1", + configMINIMAL_STACK_SIZE, + (void *)1, + tskIDLE_PRIORITY + 1, + NULL); + + xTaskCreate( + vTask, + "Task2", + configMINIMAL_STACK_SIZE, + (void *)2, + tskIDLE_PRIORITY + 1, + NULL); + + vTaskStartScheduler(); +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook(void) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c or heap_2.c are used, then the size of the + heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in + FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook(void) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQueueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName) +{ + (void)pcTaskName; + (void)pxTask; + + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + for (;;) + ; +} +/*-----------------------------------------------------------*/ + +void vApplicationTickHook(void) +{ +} +/*-----------------------------------------------------------*/ + +void vAssertCalled(void) +{ + volatile uint32_t ulSetTo1ToExitFunction = 0; + + taskDISABLE_INTERRUPTS(); + while (ulSetTo1ToExitFunction != 1) + { + __asm volatile("NOP"); + } +} +/*-----------------------------------------------------------*/ + +/* This version of vApplicationAssert() is declared as a weak symbol to allow it +to be overridden by a version implemented within the application that is using +this BSP. */ +void vApplicationAssert( const char *pcFileName, uint32_t ulLine ) +{ +volatile uint32_t ul = 0; +volatile const char *pcLocalFileName = pcFileName; /* To prevent pcFileName being optimized away. */ +volatile uint32_t ulLocalLine = ulLine; /* To prevent ulLine being optimized away. */ + + /* Prevent compile warnings about the following two variables being set but + not referenced. They are intended for viewing in the debugger. */ + ( void ) pcLocalFileName; + ( void ) ulLocalLine; + + printf( "Assert failed in file %s, line %lu\r\n", pcLocalFileName, ulLocalLine ); + + /* If this function is entered then a call to configASSERT() failed in the + FreeRTOS code because of a fatal error. The pcFileName and ulLine + parameters hold the file name and line number in that file of the assert + that failed. Additionally, if using the debugger, the function call stack + can be viewed to find which line failed its configASSERT() test. Finally, + the debugger can be used to set ul to a non-zero value, then step out of + this function to find where the assert function was entered. */ + taskENTER_CRITICAL(); + { + while( ul == 0 ) + { + __asm volatile( "NOP" ); + } + } + taskEXIT_CRITICAL(); +} diff --git a/demos/virtio/freertos-app/sources.mk b/demos/virtio/freertos-app/sources.mk new file mode 100644 index 0000000..39d7962 --- /dev/null +++ b/demos/virtio/freertos-app/sources.mk @@ -0,0 +1 @@ +src_c_srcs:=demo.c diff --git a/demos/virtio/make.mk b/demos/virtio/make.mk new file mode 100644 index 0000000..470d388 --- /dev/null +++ b/demos/virtio/make.mk @@ -0,0 +1,89 @@ +include $(bao_demos)/guests/linux/make.mk +include $(bao_demos)/guests/freertos/make.mk + +linux_frontend1_image=$(wrkdir_demo_imgs)/linux_frontend1.bin +linux_frontend2_image=$(wrkdir_demo_imgs)/linux_frontend2.bin + +linux_frontend1_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux-frontend1.dts +linux_frontend2_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux-frontend2.dts + +export PATH:=$(BAO_DEMOS_BUILDROOT)/output/host/bin/:${PATH} + +$(eval $(call build-linux, $(linux_frontend1_image), $(linux_frontend1_dts))) +$(eval $(call build-linux, $(linux_frontend2_image), $(linux_frontend2_dts))) + +freertos_image:=$(wrkdir_demo_imgs)/freertos.bin +make_args:=APP_SRC_DIR=$(bao_demos)/demos/virtio/freertos-app +make_args+=STD_ADDR_SPACE=y SHMEM_BASE=0xD0000000 SHMEM_SIZE=0x1000000 + +DEMO_FILE := $(bao_demos)/demos/virtio/freertos-app/demo.c + +$(eval $(call build-freertos, $(freertos_image), $(make_args))) + +export BAO_DEMOS_BUILDROOT_POST_BUILD_SCRIPT=$(bao_demos)/demos/$(DEMO)/setup/post-build.sh + +bao_virtio_setup_files:=$(bao_demos)/demos/$(DEMO)/setup +bao_virtio_frontend1_image:=$(wrkdir_demo_imgs)/ext4_frontend_vm1_image.img +bao_virtio_frontend2_image:=$(wrkdir_demo_imgs)/ext4_frontend_vm2_image.img +bao_virtio_frontend1_mp:=$(wrkdir_src)/ext4_frontend_vm1 +bao_virtio_frontend2_mp:=$(wrkdir_src)/ext4_frontend_vm2 + +export BAO_DEMOS_FRONTEND1_IMG=$(bao_virtio_frontend1_image) +export BAO_DEMOS_FRONTEND2_IMG=$(bao_virtio_frontend2_image) +export BAO_DEMOS_FRONTEND1_MP=$(bao_virtio_frontend1_mp) +export BAO_DEMOS_FRONTEND2_MP=$(bao_virtio_frontend2_mp) + +# Target to prepare Linux frontend disk images & backend overlay +prepare-virtio: + @echo "This operation requires sudo privileges to perform tasks on disk images." + @echo "1. Creating two 1MB disk images for the Linux frontends." + @echo "2. Formatting them as ext4." + @echo "3. Mounting to add test data." + @echo "4. Unmounting after operations." + + # Create disk images + dd if=/dev/zero of=$(bao_virtio_frontend1_image) bs=1M count=1 + dd if=/dev/zero of=$(bao_virtio_frontend2_image) bs=1M count=1 + + # Format disk images + @echo "Formatting VM1 disk image..." + sudo mkfs.ext4 -F $(bao_virtio_frontend1_image) + + @echo "Formatting VM2 disk image..." + sudo mkfs.ext4 -F $(bao_virtio_frontend2_image) + + # Mount, add test data, unmount + mkdir -p $(bao_virtio_frontend1_mp) + @echo "Mounting VM1 disk image..." + sudo mount -o loop $(bao_virtio_frontend1_image) $(bao_virtio_frontend1_mp) + echo "Hello from VM1" | sudo tee $(bao_virtio_frontend1_mp)/hello.txt > /dev/null + @echo "Unmounting VM1..." + sync + sudo umount --lazy $(bao_virtio_frontend1_mp) + + mkdir -p $(bao_virtio_frontend2_mp) + @echo "Mounting VM2 disk image..." + sudo mount -o loop $(bao_virtio_frontend2_image) $(bao_virtio_frontend2_mp) + echo "Hello from VM2" | sudo tee $(bao_virtio_frontend2_mp)/hello.txt > /dev/null + @echo "Unmounting VM2..." + sync + sudo umount --lazy $(bao_virtio_frontend2_mp) + + # Copy to buildroot overlay + @echo "Copying frontend images to buildroot overlay..." + cp $(bao_virtio_frontend1_image) $(BAO_DEMOS_BUILDROOT_OVERLAY)/etc + cp $(bao_virtio_frontend2_image) $(BAO_DEMOS_BUILDROOT_OVERLAY)/etc + + @echo "Copying scripts to buildroot overlay..." + cp -r $(bao_virtio_setup_files)/* $(BAO_DEMOS_BUILDROOT_OVERLAY)/etc + + @echo "VirtIO demo prepared successfully!" + +linux_backend_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux-backend.dts +linux_backend_image=$(wrkdir_demo_imgs)/linux_backend.bin + +$(linux_backend_image): prepare-virtio + +$(eval $(call build-linux, $(linux_backend_image), $(linux_backend_dts))) + +guest_images:=prepare-virtio $(linux_frontend1_image) $(linux_frontend2_image) $(freertos_image) $(linux_backend_image) diff --git a/demos/virtio/setup/config-virtio-demo-vm1.yaml b/demos/virtio/setup/config-virtio-demo-vm1.yaml new file mode 100644 index 0000000..ccec441 --- /dev/null +++ b/demos/virtio/setup/config-virtio-demo-vm1.yaml @@ -0,0 +1,5 @@ +devices: + - id: 0 + type: "console" + mmio_addr: 0xa003e00 + data_plane: virtio \ No newline at end of file diff --git a/demos/virtio/setup/config-virtio-demo-vm2.yaml b/demos/virtio/setup/config-virtio-demo-vm2.yaml new file mode 100644 index 0000000..49327b0 --- /dev/null +++ b/demos/virtio/setup/config-virtio-demo-vm2.yaml @@ -0,0 +1,15 @@ +devices: + - id: 1 + type: "net" + mmio_addr: 0xa003e00 + data_plane: virtio + tap_name: "tap0" + mac_addr: "52:54:00:aa:bb:01" + - id: 2 + type: "block" + mmio_addr: 0xa003c00 + data_plane: virtio + file_path: "/etc/ext4_frontend_vm1_image.img" + read_only: false + root_device: true + advertise_flush: false diff --git a/demos/virtio/setup/config-virtio-demo-vm3.yaml b/demos/virtio/setup/config-virtio-demo-vm3.yaml new file mode 100644 index 0000000..7dc460d --- /dev/null +++ b/demos/virtio/setup/config-virtio-demo-vm3.yaml @@ -0,0 +1,15 @@ +devices: + - id: 3 + type: "net" + mmio_addr: 0xa003e00 + data_plane: virtio + tap_name: "tap1" + mac_addr: "52:54:00:aa:bb:02" + - id: 4 + type: "block" + mmio_addr: 0xa003c00 + data_plane: virtio + file_path: "/etc/ext4_frontend_vm2_image.img" + read_only: false + root_device: true + advertise_flush: false diff --git a/demos/virtio/setup/post-build.sh b/demos/virtio/setup/post-build.sh new file mode 100755 index 0000000..7960cd5 --- /dev/null +++ b/demos/virtio/setup/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +SCRIPT_DIR=$(dirname $0) + +# Append the main setup script to the /etc/inittab file +echo "::sysinit:/etc/setup-demo-virtio.sh" >> ${TARGET_DIR}/etc/inittab \ No newline at end of file diff --git a/demos/virtio/setup/setup-demo-virtio.sh b/demos/virtio/setup/setup-demo-virtio.sh new file mode 100755 index 0000000..ea2f581 --- /dev/null +++ b/demos/virtio/setup/setup-demo-virtio.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# Only run setup if /dev/bao-io-dispatcher exists +if [ -e /dev/bao-io-dispatcher ]; then + # Setup the virtual network + /etc/setup-virtual-network.sh + + # Launch the VirtIO backends + /etc/setup-virtio-backends.sh +else + echo "Device /dev/bao-io-dispatcher not found — skipping backend setup." +fi diff --git a/demos/virtio/setup/setup-virtio-backends.sh b/demos/virtio/setup/setup-virtio-backends.sh new file mode 100755 index 0000000..8b0ba54 --- /dev/null +++ b/demos/virtio/setup/setup-virtio-backends.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Launch the VirtIO backends +nohup bao-virtio-dm --config /etc/config-virtio-demo-vm1.yaml > /etc/bao-vm1.log 2>&1 & +nohup bao-virtio-dm --config /etc/config-virtio-demo-vm2.yaml > /etc/bao-vm2.log 2>&1 & +nohup bao-virtio-dm --config /etc/config-virtio-demo-vm3.yaml > /etc/bao-vm3.log 2>&1 & diff --git a/demos/virtio/setup/setup-virtual-network.sh b/demos/virtio/setup/setup-virtual-network.sh new file mode 100755 index 0000000..f866496 --- /dev/null +++ b/demos/virtio/setup/setup-virtual-network.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Down eth0 +ifconfig eth0 down + +# Create two tap devices for the two VMs +ip tuntap add dev tap0 mode tap +ip tuntap add dev tap1 mode tap + +# Create a bridge bao-br0 +brctl addbr bao-br0 + +# Assign IP address to bridge bao-br0 +ifconfig bao-br0 192.168.42.12 netmask 255.255.255.0 + +# Add interfaces to bridge bao-br0 +brctl addif bao-br0 eth0 +brctl addif bao-br0 tap0 +brctl addif bao-br0 tap1 + +# Bring up eth0 +ifconfig eth0 up + +# Configure tap0 and tap1 devices and bring it up +ifconfig tap0 192.168.42.13 up +ifconfig tap1 192.168.42.14 up diff --git a/demos/zephyr+baremetal/baremetal-app/demo.c b/demos/zephyr+baremetal/baremetal-app/demo.c new file mode 100644 index 0000000..92b706b --- /dev/null +++ b/demos/zephyr+baremetal/baremetal-app/demo.c @@ -0,0 +1,113 @@ +/** + * + */ + + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + #define TIMER_INTERVAL (TIME_S(1)) + + spinlock_t print_lock = SPINLOCK_INITVAL; + + #define SHMEM_IRQ_ID (52) + +char* const baremetal_message = (char*)SHMEM_BASE; +char* const zephyr_message = (char*)(SHMEM_BASE + 0x2000); + const size_t shmem_channel_size = 0x2000; + + void shmem_update_msg(int irq_count) { + sprintf(baremetal_message, "Bao baremetal guest received %d uart interrupts!\n", + irq_count); + } + + char* strnchr(const char* s, size_t n, char c) { + for (size_t i = 0; i < n; i++) { + if (s[i] == c) { + return (char*)s + i; + } + } + return NULL; + } + + void shmem_handler() { + zephyr_message[shmem_channel_size-1] = '\0'; + char* end = strchr(zephyr_message, '\n'); + if (end != NULL) { + *end = '\0'; + } + printf("message from zephyr: %s\n", zephyr_message); + } + + void shmem_init() { + memset(baremetal_message, 0, shmem_channel_size); + memset(zephyr_message, 0, shmem_channel_size); + shmem_update_msg(0); + irq_set_handler(SHMEM_IRQ_ID, shmem_handler); + irq_set_prio(SHMEM_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(SHMEM_IRQ_ID); + } + + void uart_rx_handler(){ + static int irq_count = 0; + printf("cpu%d: %s %d\n",get_cpuid(), __func__, ++irq_count); + uart_clear_rxirq(); + shmem_update_msg(irq_count); + } + + void ipi_handler(){ + printf("cpu%d: %s\n", get_cpuid(), __func__); + irq_send_ipi(1ull << (get_cpuid() + 1)); + } + + void timer_handler(){ + printf("cpu%d: %s\n", get_cpuid(), __func__); + timer_set(TIMER_INTERVAL); + irq_send_ipi(1ull << (get_cpuid() + 1)); + } + + void main(void){ + + static volatile bool master_done = false; + + if(cpu_is_master()){ + spin_lock(&print_lock); + printf("Bao bare-metal test guest!!!\n"); + spin_unlock(&print_lock); + + irq_set_handler(UART_IRQ_ID, uart_rx_handler); + irq_set_handler(TIMER_IRQ_ID, timer_handler); + irq_set_handler(IPI_IRQ_ID, ipi_handler); + + uart_enable_rxirq(); + + timer_set(TIMER_INTERVAL); + irq_enable(TIMER_IRQ_ID); + irq_set_prio(TIMER_IRQ_ID, IRQ_MAX_PRIO); + + shmem_init(); + + master_done = true; + } + + irq_enable(UART_IRQ_ID); + irq_set_prio(UART_IRQ_ID, IRQ_MAX_PRIO); + irq_enable(IPI_IRQ_ID); + irq_set_prio(IPI_IRQ_ID, IRQ_MAX_PRIO); + + while(!master_done); + spin_lock(&print_lock); + printf("cpu %d up\n", get_cpuid()); + spin_unlock(&print_lock); + + while(1) wfi(); + } + diff --git a/demos/zephyr+baremetal/baremetal-app/sources.mk b/demos/zephyr+baremetal/baremetal-app/sources.mk new file mode 100644 index 0000000..205e60d --- /dev/null +++ b/demos/zephyr+baremetal/baremetal-app/sources.mk @@ -0,0 +1 @@ +src_c_srcs:= demo.c diff --git a/demos/zephyr+baremetal/configs/fvp-a-aarch32.c b/demos/zephyr+baremetal/configs/fvp-a-aarch32.c index 67944c5..0c082b0 100644 --- a/demos/zephyr+baremetal/configs/fvp-a-aarch32.c +++ b/demos/zephyr+baremetal/configs/fvp-a-aarch32.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x20000000, @@ -78,7 +78,7 @@ struct config config = { .entry = 0x0, .platform = { - .cpu_num = 2, + .cpu_num = 3, .region_num = 1, .regions = (struct vm_mem_region[]) { @@ -91,7 +91,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/zephyr+baremetal/configs/fvp-a.c b/demos/zephyr+baremetal/configs/fvp-a.c index 1fa7b67..880cffc 100755 --- a/demos/zephyr+baremetal/configs/fvp-a.c +++ b/demos/zephyr+baremetal/configs/fvp-a.c @@ -1,7 +1,7 @@ #include -VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)); -VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)); +VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin)) +VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin)) struct config config = { @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = { .base_addr = 0x90000000, @@ -91,7 +91,7 @@ struct config config = { .ipc_num = 1, .ipcs = (struct ipc[]) { { - .base = 0x70000000, + .base = 0xf0000000, .size = 0x00010000, .shmem_id = 0, .interrupt_num = 1, diff --git a/demos/zephyr+baremetal/configs/fvp-r-aarch32.c b/demos/zephyr+baremetal/configs/fvp-r-aarch32.c index 99525d1..eafd31f 100755 --- a/demos/zephyr+baremetal/configs/fvp-r-aarch32.c +++ b/demos/zephyr+baremetal/configs/fvp-r-aarch32.c @@ -11,7 +11,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = VM_IMAGE_LOADED(0x24000000, 0x24000000, 1 * 1024 * 1024), @@ -69,7 +69,7 @@ struct config config = { .entry = 0x10000000, .platform = { - .cpu_num = 2, + .cpu_num = 3, .region_num = 1, .regions = (struct vm_mem_region[]) { diff --git a/demos/zephyr+baremetal/configs/fvp-r.c b/demos/zephyr+baremetal/configs/fvp-r.c index 357738f..aeca2b3 100755 --- a/demos/zephyr+baremetal/configs/fvp-r.c +++ b/demos/zephyr+baremetal/configs/fvp-r.c @@ -12,7 +12,7 @@ struct config config = { }, .vmlist_size = 2, - .vmlist = { + .vmlist = (struct vm_config[]) { { .image = VM_IMAGE_LOADED(0x24000000, 0x24000000, 1 * 1024 * 1024), diff --git a/demos/zephyr+baremetal/make.mk b/demos/zephyr+baremetal/make.mk index 4224f2a..9f43aa9 100644 --- a/demos/zephyr+baremetal/make.mk +++ b/demos/zephyr+baremetal/make.mk @@ -5,12 +5,15 @@ zephyr_image:=$(wrkdir_demo_imgs)/zephyr.bin $(eval $(call build-zephyr, $(zephyr_image))) baremetal_image:=$(wrkdir_demo_imgs)/baremetal.bin -baremetal_args:=DEMO_IPC=y +baremetal_args:=APP_SRC_DIR=$(bao_demos)/demos/zephyr+baremetal/baremetal-app + ifeq ($(ARCH_PROFILE),armv8-r) baremetal_args+=MEM_BASE=0x10000000 fvpr_image_data:=$(baremetal_image)@0x10000000 $(zephyr_image)@0x24000000 +baremetal_args+=SHMEM_BASE=0x70000000 SHMEM_SIZE=0x200000 else baremetal_args+=STD_ADDR_SPACE=y +baremetal_args+=SHMEM_BASE=0xf0000000 SHMEM_SIZE=0x200000 endif $(eval $(call build-baremetal, $(baremetal_image), $(baremetal_args))) diff --git a/guests/baremetal/make.mk b/guests/baremetal/make.mk index 1c7ef9a..075fb6a 100644 --- a/guests/baremetal/make.mk +++ b/guests/baremetal/make.mk @@ -1,6 +1,6 @@ baremetal_src:=$(wrkdir_src)/baremetal baremetal_repo:=https://github.com/bao-project/bao-baremetal-guest.git -baremetal_branch:=demo +baremetal_branch:=demo-next $(baremetal_src): git clone $(baremetal_repo) $@ --branch $(baremetal_branch) diff --git a/guests/freertos/make.mk b/guests/freertos/make.mk index 96006b6..1123ede 100644 --- a/guests/freertos/make.mk +++ b/guests/freertos/make.mk @@ -1,6 +1,6 @@ freertos_src:=$(wrkdir_src)/freertos freertos_repo:=https://github.com/bao-project/freertos-over-bao.git -freertos_branch:=demo +freertos_branch:=demo-next $(freertos_src): git clone --recursive --shallow-submodules --branch $(freertos_branch) \ diff --git a/guests/linux/README.md b/guests/linux/README.md index 28f1781..16c3391 100644 --- a/guests/linux/README.md +++ b/guests/linux/README.md @@ -19,7 +19,7 @@ For all other platforms clone the latest mainline Linux release: ``` export BAO_DEMOS_LINUX_REPO=https://github.com/torvalds/linux.git -export BAO_DEMOS_LINUX_VERSION=v6.1 +export BAO_DEMOS_LINUX_VERSION=v6.15 ``` Setup an environment variable pointing to Linux's source code: @@ -43,7 +43,8 @@ platform specific config to be used by buildroot: ``` export BAO_DEMOS_LINUX_CFG_FRAG=$(ls $BAO_DEMOS_LINUX/configs/base.config\ $BAO_DEMOS_LINUX/configs/$ARCH.config\ - $BAO_DEMOS_LINUX/configs/$PLATFORM.config 2> /dev/null) + $BAO_DEMOS_LINUX/configs/$PLATFORM.config\ + $BAO_DEMOS_LINUX/configs/$DEMO.config 2> /dev/null) ``` ## Use Buildroot to build Linux with a built-in initramfs @@ -55,13 +56,14 @@ export BAO_DEMOS_BUILDROOT=$BAO_DEMOS_WRKDIR_SRC/\ buildroot-$ARCH-$BAO_DEMOS_LINUX_VERSION export BAO_DEMOS_BUILDROOT_DEFCFG=$BAO_DEMOS_LINUX/buildroot/$ARCH.config export LINUX_OVERRIDE_SRCDIR=$BAO_DEMOS_LINUX_SRC +export BR2_EXTERNAL=$BAO_DEMOS_BUILDROOT/external ``` Clone the latest buildroot at the latest stable version: ``` git clone https://github.com/buildroot/buildroot.git $BAO_DEMOS_BUILDROOT\ - --depth 1 --branch 2022.11 + --depth 1 --branch 2025.05 cd $BAO_DEMOS_BUILDROOT ``` diff --git a/guests/linux/buildroot/aarch32.config b/guests/linux/buildroot/aarch32.config index a66c342..0314a80 100644 --- a/guests/linux/buildroot/aarch32.config +++ b/guests/linux/buildroot/aarch32.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Buildroot 2022.11.1 Configuration +# Buildroot 2025.02.4 Configuration # BR2_HAVE_DOT_CONFIG=y BR2_HOST_GCC_AT_LEAST_4_9=y @@ -9,6 +9,8 @@ BR2_HOST_GCC_AT_LEAST_6=y BR2_HOST_GCC_AT_LEAST_7=y BR2_HOST_GCC_AT_LEAST_8=y BR2_HOST_GCC_AT_LEAST_9=y +BR2_HOST_GCC_AT_LEAST_10=y +BR2_HOST_GCC_AT_LEAST_11=y # # Target options @@ -28,7 +30,6 @@ BR2_arm=y # BR2_mipsel is not set # BR2_mips64 is not set # BR2_mips64el is not set -# BR2_nios2 is not set # BR2_or1k is not set # BR2_powerpc is not set # BR2_powerpc64 is not set @@ -132,11 +133,16 @@ BR2_cortex_a9=y # # BR2_cortex_a76 is not set # BR2_cortex_a76_a55 is not set +# BR2_cortex_a78 is not set # BR2_neoverse_n1 is not set # # armv8.4a cores # + +# +# armv9.0a cores +# BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y # BR2_ARM_EABI is not set @@ -170,23 +176,33 @@ BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" # Kernel Header Options # BR2_KERNEL_HEADERS_AS_KERNEL=y -# BR2_KERNEL_HEADERS_4_9 is not set -# BR2_KERNEL_HEADERS_4_14 is not set -# BR2_KERNEL_HEADERS_4_19 is not set # BR2_KERNEL_HEADERS_5_4 is not set # BR2_KERNEL_HEADERS_5_10 is not set # BR2_KERNEL_HEADERS_5_15 is not set -# BR2_KERNEL_HEADERS_5_19 is not set -# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_6_1 is not set +# BR2_KERNEL_HEADERS_6_6 is not set +# BR2_KERNEL_HEADERS_6_12 is not set # BR2_KERNEL_HEADERS_VERSION is not set # BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set # BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_18 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16 is not set -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 is not set @@ -263,26 +279,26 @@ BR2_PACKAGE_GLIBC=y # Binutils Options # BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_37_X is not set -BR2_BINUTILS_VERSION_2_38_X=y -# BR2_BINUTILS_VERSION_2_39_X is not set -BR2_BINUTILS_VERSION="2.38" +# BR2_BINUTILS_VERSION_2_42_X is not set +BR2_BINUTILS_VERSION_2_43_X=y +# BR2_BINUTILS_VERSION_2_44_X is not set +BR2_BINUTILS_VERSION="2.43.1" +# BR2_BINUTILS_GPROFNG is not set BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" # # GCC Options # -# BR2_GCC_VERSION_10_X is not set -BR2_GCC_VERSION_11_X=y # BR2_GCC_VERSION_12_X is not set -BR2_GCC_SUPPORTS_DLANG=y -BR2_GCC_VERSION="11.3.0" +BR2_GCC_VERSION_13_X=y +# BR2_GCC_VERSION_14_X is not set +BR2_GCC_VERSION="13.3.0" BR2_EXTRA_GCC_CONFIG_OPTIONS="" # BR2_TOOLCHAIN_BUILDROOT_CXX is not set # BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set -# BR2_TOOLCHAIN_BUILDROOT_DLANG is not set # BR2_GCC_ENABLE_OPENMP is not set # BR2_GCC_ENABLE_GRAPHITE is not set +BR2_PACKAGE_GCC_FINAL=y BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y # @@ -366,7 +382,25 @@ BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.15" +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12=y +BR2_TOOLCHAIN_HEADERS_LATEST=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="6.12" BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y @@ -381,7 +415,9 @@ BR2_TOOLCHAIN_GCC_AT_LEAST_8=y BR2_TOOLCHAIN_GCC_AT_LEAST_9=y BR2_TOOLCHAIN_GCC_AT_LEAST_10=y BR2_TOOLCHAIN_GCC_AT_LEAST_11=y -BR2_TOOLCHAIN_GCC_AT_LEAST="11" +BR2_TOOLCHAIN_GCC_AT_LEAST_12=y +BR2_TOOLCHAIN_GCC_AT_LEAST_13=y +BR2_TOOLCHAIN_GCC_AT_LEAST="13" BR2_TOOLCHAIN_HAS_MNAN_OPTION=y BR2_TOOLCHAIN_HAS_SYNC_1=y BR2_TOOLCHAIN_HAS_SYNC_2=y @@ -391,6 +427,11 @@ BR2_TOOLCHAIN_HAS_SYNC_8=y BR2_TOOLCHAIN_HAS_LIBATOMIC=y BR2_TOOLCHAIN_HAS_ATOMIC=y +# +# Bare metal toolchain +# +# BR2_TOOLCHAIN_BARE_METAL_BUILDROOT is not set + # # Build options # @@ -398,21 +439,23 @@ BR2_TOOLCHAIN_HAS_ATOMIC=y # # Commands # -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" +BR2_CURL="curl -q --ftp-pasv --retry 3 --connect-timeout 10" +BR2_WGET="wget -nd -t 3 --connect-timeout=10" +BR2_SVN="svn --non-interactive --config-option servers:global:http-timeout=10" BR2_BZR="bzr" BR2_GIT="git" BR2_CVS="cvs" BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_SFTP="sftp" +BR2_SCP="scp -o ConnectTimeout=10" +BR2_SFTP="sftp -o ConnectTimeout=10" BR2_HG="hg" BR2_ZCAT="gzip -d -c" BR2_BZCAT="bzcat" BR2_XZCAT="xzcat" BR2_LZCAT="lzip -d -c" +BR2_ZSTDCAT="zstdcat" BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch32/buildroot-2022.11.1/configs/qemu_arm_vexpress_defconfig" +BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch64/buildroot-2025.02.4/configs/qemu_arm_vexpress_defconfig" BR2_DL_DIR="$(TOPDIR)/dl" BR2_HOST_DIR="$(BASE_DIR)/host" @@ -420,9 +463,9 @@ BR2_HOST_DIR="$(BASE_DIR)/host" # Mirrors and Download locations # BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_BACKUP_SITE="https://sources.buildroot.net" BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_GNU_MIRROR="https://ftpmirror.gnu.org" BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" BR2_CPAN_MIRROR="https://cpan.metacpan.org" BR2_JLEVEL=0 @@ -434,10 +477,10 @@ BR2_STRIP_EXCLUDE_FILES="" BR2_STRIP_EXCLUDE_DIRS="" # BR2_OPTIMIZE_0 is not set # BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set +BR2_OPTIMIZE_2=y # BR2_OPTIMIZE_3 is not set # BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_S is not set # BR2_OPTIMIZE_FAST is not set # BR2_ENABLE_LTO is not set @@ -447,15 +490,16 @@ BR2_OPTIMIZE_S=y BR2_SHARED_LIBS=y # BR2_SHARED_STATIC_LIBS is not set BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="" +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" # # Advanced # -BR2_COMPILER_PARANOID_UNSAFE_PATH=y # BR2_FORCE_HOST_BUILD is not set +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y # BR2_REPRODUCIBLE is not set # BR2_PER_PACKAGE_DIRECTORIES is not set +# BR2_TIME_BITS_64 is not set # # Security Hardening Options @@ -474,6 +518,7 @@ BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y # BR2_FORTIFY_SOURCE_NONE is not set BR2_FORTIFY_SOURCE_1=y # BR2_FORTIFY_SOURCE_2 is not set +# BR2_FORTIFY_SOURCE_3 is not set # # System configuration @@ -485,10 +530,20 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot" BR2_TARGET_GENERIC_PASSWD_SHA256=y # BR2_TARGET_GENERIC_PASSWD_SHA512 is not set BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" + +# +# General purpose +# BR2_INIT_BUSYBOX=y # BR2_INIT_SYSV is not set # BR2_INIT_OPENRC is not set # BR2_INIT_SYSTEMD is not set + +# +# Special purpose (read help) +# +# BR2_INIT_TINI is not set +# BR2_INIT_TINYINIT is not set # BR2_INIT_NONE is not set # BR2_ROOTFS_DEVICE_CREATION_STATIC is not set BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y @@ -525,12 +580,12 @@ BR2_GENERATE_LOCALE="" # BR2_SYSTEM_ENABLE_NLS is not set # BR2_TARGET_TZ_INFO is not set BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="" BR2_ROOTFS_PRE_BUILD_SCRIPT="" -BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BAO_DEMOS_BUILDROOT_POST_BUILD_SCRIPT)" BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="" # # Kernel @@ -544,8 +599,8 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set # BR2_LINUX_KERNEL_CUSTOM_HG is not set # BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" -BR2_LINUX_KERNEL_VERSION="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_VERSION="6.12.27" BR2_LINUX_KERNEL_PATCH="" BR2_LINUX_KERNEL_USE_DEFCONFIG=y # BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set @@ -567,14 +622,17 @@ BR2_LINUX_KERNEL_GZIP=y # BR2_LINUX_KERNEL_ZSTD is not set BR2_LINUX_KERNEL_DTS_SUPPORT=y # BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT is not set -BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/vexpress-v2p-ca9" +BR2_LINUX_KERNEL_INTREE_DTSO_NAMES="" BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="" +BR2_LINUX_KERNEL_CUSTOM_DTS_DIR="" # BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME is not set # BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT is not set # BR2_LINUX_KERNEL_INSTALL_TARGET is not set # BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set # BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set # BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 is not set # # Linux Kernel Extensions @@ -591,12 +649,15 @@ BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="" # BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set # BR2_PACKAGE_LINUX_TOOLS_GPIO is not set # BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_MM is not set # BR2_PACKAGE_LINUX_TOOLS_PCI is not set # BR2_PACKAGE_LINUX_TOOLS_PERF is not set +# BR2_PACKAGE_LINUX_TOOLS_RTLA is not set # # selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14 # +# BR2_PACKAGE_LINUX_TOOLS_USBTOOLS is not set # BR2_PACKAGE_LINUX_TOOLS_TMON is not set # @@ -651,7 +712,7 @@ BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 +# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x, host gcc >= 9.x # # @@ -663,7 +724,6 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # # BR2_PACKAGE_LAME is not set # BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set # BR2_PACKAGE_MINIMODEM is not set # @@ -686,7 +746,7 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # BR2_PACKAGE_MPG123 is not set # -# mpv needs a toolchain w/ C++, threads, gcc >= 4.9 +# mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9 # # BR2_PACKAGE_MULTICAT is not set # BR2_PACKAGE_MUSEPACK is not set @@ -694,21 +754,14 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # # ncmpc needs a toolchain w/ C++, wchar, threads, gcc >= 10 # - -# -# omxplayer needs rpi-userland and a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 -# # BR2_PACKAGE_OPUS_TOOLS is not set # BR2_PACKAGE_PIPEWIRE is not set BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PULSEAUDIO is not set # BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SPEECHD is not set # BR2_PACKAGE_SQUEEZELITE is not set # BR2_PACKAGE_TINYCOMPRESS is not set - -# -# tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9 -# # BR2_PACKAGE_TSTOOLS is not set # BR2_PACKAGE_TWOLAME is not set # BR2_PACKAGE_UDPXY is not set @@ -756,7 +809,7 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PIXZ is not set # -# unrar needs a toolchain w/ C++, wchar, threads +# unrar needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 # # BR2_PACKAGE_XZ is not set # BR2_PACKAGE_ZIP is not set @@ -766,11 +819,17 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # Debugging, profiling and benchmark # # BR2_PACKAGE_BABELTRACE2 is not set + +# +# bcc needs a glibc toolchain, C++, wchar, threads, dynamic libs, gcc >= 7, host gcc >= 7 +# # BR2_PACKAGE_BLKTRACE is not set # # bonnie++ needs a toolchain w/ C++ # +BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS=y +# BR2_PACKAGE_BPFTOOL is not set # BR2_PACKAGE_CACHE_CALIBRATOR is not set # @@ -807,14 +866,16 @@ BR2_PACKAGE_GDB_ARCH_SUPPORTS=y BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y # -# google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8 +# google-breakpad requires a glibc toolchain w/ wchar, threads, C++, gcc >= 7 # # BR2_PACKAGE_HYPERFINE is not set # BR2_PACKAGE_IOZONE is not set +BR2_PACKAGE_KEXEC_ARCH_SUPPORTS=y # BR2_PACKAGE_KEXEC is not set # BR2_PACKAGE_KMEMD is not set -# BR2_PACKAGE_LATENCYTOP is not set # BR2_PACKAGE_LIBBPF is not set +# BR2_PACKAGE_LIBTRACEEVENT is not set +# BR2_PACKAGE_LIBTRACEFS is not set # BR2_PACKAGE_LMBENCH is not set BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y # BR2_PACKAGE_LTP_TESTSUITE is not set @@ -822,11 +883,18 @@ BR2_PACKAGE_LTRACE_ARCH_SUPPORTS=y # BR2_PACKAGE_LTRACE is not set # BR2_PACKAGE_LTTNG_BABELTRACE is not set # BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set + +# +# lttng-tools needs a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_MBPOLL is not set # BR2_PACKAGE_MBW is not set # BR2_PACKAGE_MEMSTAT is not set # BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set + +# +# netsniff-ng needs a toolchain w/ NPTL, C++, headers >= 3.0 +# # BR2_PACKAGE_NMON is not set BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y @@ -834,22 +902,27 @@ BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y # oprofile needs a toolchain w/ C++, wchar # # BR2_PACKAGE_PAX_UTILS is not set +BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERFTEST is not set + +# +# piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9 +# BR2_PACKAGE_PLY_ARCH_SUPPORTS=y # BR2_PACKAGE_PLY is not set # BR2_PACKAGE_POKE is not set BR2_PACKAGE_PTM2HUMAN_ARCH_SUPPORTS=y # BR2_PACKAGE_PTM2HUMAN is not set # BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RAMSMP is not set # BR2_PACKAGE_RAMSPEED is not set # BR2_PACKAGE_RT_TESTS is not set # -# rwmem needs a toolchain w/ C++, wchar, gcc >= 5 +# rwmem needs a toolchain w/ C++, wchar, gcc >= 10 # # -# sentry-native needs a glibc toolchain with w/ wchar, thread, C++, gcc >= 4.8 +# sentry-native needs a glibc toolchain with w/ wchar, threads, C++, gcc >= 7 # # @@ -861,12 +934,19 @@ BR2_PACKAGE_PTM2HUMAN_ARCH_SUPPORTS=y # BR2_PACKAGE_STRESS_NG is not set # -# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 5, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# + +# +# sysprof needs a toolchain w/ dynamic library, wchar, threads, C++, gcc >= 7, headers >= 5.12 +# + +# +# tbtools needs udev /dev management w/ glibc toolchain # # BR2_PACKAGE_TCF_AGENT is not set BR2_PACKAGE_TCF_AGENT_ARCH="arm" BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS=y -# BR2_PACKAGE_TINYMEMBENCH is not set # BR2_PACKAGE_TRACE_CMD is not set BR2_PACKAGE_TRINITY_ARCH_SUPPORTS=y # BR2_PACKAGE_TRINITY is not set @@ -884,12 +964,11 @@ BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS=y # BR2_PACKAGE_AVOCADO is not set # BR2_PACKAGE_BINUTILS is not set # BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set # BR2_PACKAGE_CHECK is not set BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y # -# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL +# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL # # @@ -902,6 +981,7 @@ BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y # # cxxtest needs a toolchain w/ C++ support # +# BR2_PACKAGE_FD is not set # BR2_PACKAGE_FLEX is not set # BR2_PACKAGE_GETTEXT is not set BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" @@ -922,7 +1002,9 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_PKGCONF is not set # BR2_PACKAGE_RIPGREP is not set # BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TIG is not set # BR2_PACKAGE_TREE is not set +# BR2_PACKAGE_UNIFDEF is not set # # Filesystem and flash utilities @@ -930,6 +1012,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_ABOOTIMG is not set # BR2_PACKAGE_AUFS_UTIL is not set # BR2_PACKAGE_AUTOFS is not set + +# +# bmap-writer needs a toolchain w/ C++, wchar +# # BR2_PACKAGE_BTRFS_PROGS is not set # BR2_PACKAGE_CIFS_UTILS is not set # BR2_PACKAGE_CPIO is not set @@ -953,7 +1039,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_FWUP is not set # BR2_PACKAGE_GENEXT2FS is not set # BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set # BR2_PACKAGE_GOCRYPTFS is not set # BR2_PACKAGE_IMX_USB_LOADER is not set # BR2_PACKAGE_MMC_UTILS is not set @@ -968,7 +1053,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_SUNXI_TOOLS is not set # BR2_PACKAGE_UDFTOOLS is not set # BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set + +# +# xfsprogs needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_ZEROFREE is not set # @@ -983,7 +1071,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # Cursors # # BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set # # Fonts @@ -1000,7 +1087,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # Icons # -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set # BR2_PACKAGE_HICOLOR_ICON_THEME is not set # @@ -1022,7 +1108,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # flare-engine needs a toolchain w/ C++, dynamic library # -# BR2_PACKAGE_FROTZ is not set # # gnuchess needs a toolchain w/ C++, threads @@ -1055,12 +1140,33 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support +# cage needs udev, EGL and OpenGL ES support # # # cog needs wpewebkit and a toolchain w/ threads # + +# +# dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 +# + +# +# flutter packages need flutter-engine +# + +# +# flutter-pi needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5 +# + +# +# flutter-pi needs an OpenGL or OpenGLES backend +# + +# +# flutter-pi needs GBM, systemd, and udev +# +# BR2_PACKAGE_FOOT is not set # BR2_PACKAGE_FSWEBCAM is not set # BR2_PACKAGE_GHOSTSCRIPT is not set @@ -1072,48 +1178,60 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # glslsandbox-player needs openGL ES and EGL driver # # BR2_PACKAGE_GNUPLOT is not set -# BR2_PACKAGE_JHEAD is not set # -# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support +# igt-gpu-tools needs udev /dev management and toolchain w/ NPTL, wchar, dynamic library, locale, headers >= 4.11 # # -# libva-utils needs a toolchain w/ C++, threads, dynamic library +# ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 8, dynamic library, host gcc >= 5 # -BR2_PACKAGE_MIDORI_ARCH_SUPPORTS=y # -# midori needs a glibc toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 8 +# ivi-homescreen needs an OpenGL or OpenGLES backend # +# BR2_PACKAGE_JHEAD is not set # -# midori needs libgtk3 w/ X11 or wayland backend +# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support +# + +# +# libva-utils needs a toolchain w/ C++, threads, dynamic library # BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_NETSURF is not set # BR2_PACKAGE_PNGQUANT is not set # BR2_PACKAGE_RRDTOOL is not set +# +# spirv-tools needs a toolchain w/ C++, dynamic library, gcc >= 8 +# + # # stellarium needs Qt5 and an OpenGL provider # # -# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 7, dynamic library, wchar +# sway needs systemd, udev, EGL and OpenGL ES support # -# BR2_PACKAGE_TINIFIER is not set # -# Graphic libraries +# sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 # +# BR2_PACKAGE_SWAYBG is not set # -# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 +# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 8, dynamic library, wchar # +# BR2_PACKAGE_TINIFIER is not set # -# directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library +# Graphic libraries +# + +# +# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 # # @@ -1134,10 +1252,9 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_GRAPHICSMAGICK is not set # BR2_PACKAGE_IMAGEMAGICK is not set # BR2_PACKAGE_LIBGLVND is not set -# BR2_PACKAGE_LINUX_FUSION is not set # -# mesa3d needs a toolchain w/ C++, NPTL, dynamic library +# mesa3d needs a toolchain w/ gcc >=8, C++, NPTL, dynamic library # # @@ -1150,8 +1267,20 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_PSPLASH is not set # BR2_PACKAGE_SDL is not set # BR2_PACKAGE_SDL2 is not set + +# +# spirv-headers needs a toolchain w/ C++ +# # BR2_PACKAGE_VULKAN_HEADERS is not set +# +# vulkan-loader needs a toolchain w/ C++, dynamic library, threads +# + +# +# vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9 +# + # # Other GUIs # @@ -1188,7 +1317,7 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # # -# vte needs an OpenGL or an OpenGL-EGL/wayland backend +# vte needs an OpenGL or an OpenGL-EGL backend # # BR2_PACKAGE_XKEYBOARD_CONFIG is not set @@ -1205,8 +1334,11 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI is not set # BR2_PACKAGE_LINUX_FIRMWARE is not set # BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_NXP_BT_WIFI_FIRMWARE is not set # BR2_PACKAGE_ODROIDC2_FIRMWARE is not set +# BR2_PACKAGE_PANEL_MIPI_DBI_FIRMWARE is not set # BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set +# BR2_PACKAGE_QORIQ_FM_UCODE is not set # BR2_PACKAGE_RCW_SMARC_SAL28 is not set # BR2_PACKAGE_RPI_FIRMWARE is not set # BR2_PACKAGE_SUNXI_BOARDS is not set @@ -1236,6 +1368,7 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # # bcache-tools needs udev /dev management # +# BR2_PACKAGE_BFSCRIPTS is not set # # brickd needs udev /dev management, a toolchain w/ threads, wchar @@ -1254,7 +1387,6 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y # BR2_PACKAGE_CWIID is not set # BR2_PACKAGE_DAHDI_LINUX is not set # BR2_PACKAGE_DAHDI_TOOLS is not set -# BR2_PACKAGE_DAVINCI_BOOTCOUNT is not set # BR2_PACKAGE_DBUS is not set # @@ -1264,6 +1396,7 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y # # dbus-cxx needs a toolchain w/ C++, threads, gcc >= 7 and dynamic library support # +# BR2_PACKAGE_DFU_PROGRAMMER is not set # BR2_PACKAGE_DFU_UTIL is not set # BR2_PACKAGE_DMRAID is not set @@ -1273,21 +1406,29 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y # BR2_PACKAGE_DTBOCFG is not set # BR2_PACKAGE_DTV_SCAN_TABLES is not set # BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set # BR2_PACKAGE_DVBSNOOP is not set +# +# edid-decode needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_ESP_HOSTED is not set + +# +# espflash needs udev /dev management +# + # # eudev needs eudev /dev management # # BR2_PACKAGE_EVEMU is not set # BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_FLASHROM is not set # BR2_PACKAGE_FMTOOLS is not set # BR2_PACKAGE_FREEIPMI is not set # BR2_PACKAGE_FREESCALE_IMX is not set +# BR2_PACKAGE_FWUPD is not set +# BR2_PACKAGE_FWUPD_EFI is not set # BR2_PACKAGE_FXLOAD is not set # BR2_PACKAGE_GCNANO_BINARIES is not set # BR2_PACKAGE_GPM is not set @@ -1297,14 +1438,20 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # gptfdisk needs a toolchain w/ C++ # # BR2_PACKAGE_GVFS is not set +# BR2_PACKAGE_HDDTEMP is not set # BR2_PACKAGE_HWDATA is not set # BR2_PACKAGE_HWLOC is not set # BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOTOOLS is not set # BR2_PACKAGE_IPMITOOL is not set # BR2_PACKAGE_IRDA_UTILS is not set # BR2_PACKAGE_KBD is not set # BR2_PACKAGE_LCDPROC is not set +# +# ledmon needs udev and a toolchain w/ threads +# + # # libiec61850 needs a toolchain w/ C++, threads, dynamic library # @@ -1335,11 +1482,15 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_MDIO_TOOLS is not set # BR2_PACKAGE_MEMTESTER is not set # BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MHZ is not set # BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_MXT_APP is not set # BR2_PACKAGE_NANOCOM is not set # BR2_PACKAGE_NEARD is not set # BR2_PACKAGE_NVIDIA_MODPROBE is not set +# BR2_PACKAGE_NVIDIA_PERSISTENCED is not set # BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_NXP_MWIFIEX is not set # BR2_PACKAGE_OFONO is not set # @@ -1359,7 +1510,7 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_PARTED is not set # BR2_PACKAGE_PCIUTILS is not set # BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set +BR2_PACKAGE_PICOCOM=y # BR2_PACKAGE_PIFMRDS is not set # BR2_PACKAGE_PIGPIO is not set @@ -1368,11 +1519,20 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # # BR2_PACKAGE_PPS_TOOLS is not set # BR2_PACKAGE_PRU_SOFTWARE_SUPPORT is not set + +# +# pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5 +# # BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE is not set # BR2_PACKAGE_RASPI_GPIO is not set +# BR2_PACKAGE_RDMA_CORE is not set # BR2_PACKAGE_READ_EDID is not set # BR2_PACKAGE_RNG_TOOLS is not set -# BR2_PACKAGE_ROCKCHIP_MALI is not set + +# +# rockchip-mali needs a glibc toolchain w/ C++, threads +# +# BR2_PACKAGE_ROCKCHIP_RKBIN is not set # # rpi-userland needs a toolchain w/ C++, threads, dynamic library @@ -1385,8 +1545,11 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_RTL8192EU is not set # BR2_PACKAGE_RTL8723BU is not set # BR2_PACKAGE_RTL8723DS is not set +# BR2_PACKAGE_RTL8723DS_BT is not set # BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set # BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_RTL8821CU is not set +# BR2_PACKAGE_RTL8822CS is not set # BR2_PACKAGE_SANE_BACKENDS is not set # BR2_PACKAGE_SDPARM is not set BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y @@ -1410,10 +1573,6 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # BR2_PACKAGE_SUNXI_CEDARX is not set # BR2_PACKAGE_SUNXI_MALI_UTGARD is not set # BR2_PACKAGE_SYSSTAT is not set - -# -# targetcli-fb depends on Python -# # BR2_PACKAGE_TI_GFX is not set # BR2_PACKAGE_TI_SGX_KM is not set @@ -1422,11 +1581,14 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # # BR2_PACKAGE_TI_UIM is not set # BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set + +# +# tio needs lua (but not luajit) +# # BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_BOOTCOUNT is not set # BR2_PACKAGE_UBOOT_TOOLS is not set # BR2_PACKAGE_UBUS is not set -# BR2_PACKAGE_UCCP420WLAN is not set # # udisks needs udev /dev management @@ -1444,6 +1606,10 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # +# +# usbip needs udev /dev management +# + # # usbmount requires udev to be enabled # @@ -1451,7 +1617,6 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # # usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 # -# BR2_PACKAGE_W_SCAN is not set # BR2_PACKAGE_WF111 is not set # BR2_PACKAGE_WILC_DRIVER is not set # BR2_PACKAGE_WIPE is not set @@ -1462,6 +1627,7 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # Interpreter languages and scripting # # BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_CHICKEN is not set # BR2_PACKAGE_ENSCRIPT is not set BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y @@ -1489,8 +1655,9 @@ BR2_PACKAGE_MONO_ARCH_SUPPORTS=y BR2_PACKAGE_NODEJS_ARCH_SUPPORTS=y # -# nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8 +# nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 10, wchar, host gcc >= 10 # +BR2_PACKAGE_PROVIDES_NODEJS="nodejs-src" # # octave needs a toolchain w/ C++ and fortran, gcc >= 4.8 @@ -1511,6 +1678,8 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # BR2_PACKAGE_PYTHON3 is not set # BR2_PACKAGE_QUICKJS is not set # BR2_PACKAGE_RUBY is not set +BR2_PACKAGE_SWIPL_ARCH_SUPPORTS=y +# BR2_PACKAGE_SWIPL is not set # BR2_PACKAGE_TCL is not set # @@ -1536,12 +1705,14 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # # fdk-aac needs a toolchain w/ C++ # -# BR2_PACKAGE_LIBAO is not set +BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS=y # -# asplib needs a toolchain w/ C++ +# gtkiostream needs a toolchain w/ C++, threads # +# BR2_PACKAGE_LIBAO is not set # BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCANBERRA is not set # BR2_PACKAGE_LIBCDAUDIO is not set # BR2_PACKAGE_LIBCDDB is not set # BR2_PACKAGE_LIBCDIO is not set @@ -1549,7 +1720,6 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCODEC2 is not set # BR2_PACKAGE_LIBCUE is not set # BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set # BR2_PACKAGE_LIBG7221 is not set # BR2_PACKAGE_LIBGSM is not set # BR2_PACKAGE_LIBID3TAG is not set @@ -1560,8 +1730,11 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # # libmodplug needs a toolchain w/ C++ # -# BR2_PACKAGE_LIBMPD is not set # BR2_PACKAGE_LIBMPDCLIENT is not set + +# +# libopenmpt needs a toolchain w/ threads, C++, gcc >= 7 +# # BR2_PACKAGE_LIBREPLAYGAIN is not set # BR2_PACKAGE_LIBSAMPLERATE is not set @@ -1594,6 +1767,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPUS is not set # BR2_PACKAGE_OPUSFILE is not set # BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_RNNOISE is not set # BR2_PACKAGE_SBC is not set # BR2_PACKAGE_SPANDSP is not set # BR2_PACKAGE_SPEEX is not set @@ -1609,7 +1783,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y # -# webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8 +# webrtc-audio-processing needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 8 # # @@ -1617,6 +1791,7 @@ BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBARCHIVE is not set # BR2_PACKAGE_LIBDEFLATE is not set +# BR2_PACKAGE_LIBJCAT is not set # BR2_PACKAGE_LIBMSPACK is not set # @@ -1642,14 +1817,13 @@ BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" # Crypto # # BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y # -# botan needs a toolchain w/ C++, threads, gcc >= 4.8 +# botan needs a toolchain w/ threads, C++, gcc >= 11 # # BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set +# BR2_PACKAGE_CRYPTODEV_LINUX is not set # # cryptopp needs a toolchain w/ C++, dynamic library, wchar @@ -1685,15 +1859,21 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="arm-unknown-linux-gnueabi" # BR2_PACKAGE_LIBXCRYPT is not set # BR2_PACKAGE_MBEDTLS is not set # BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OATH_TOOLKIT is not set +BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENSSL is not set BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" +# BR2_PACKAGE_PARSEC is not set +# BR2_PACKAGE_PARSEC_TOOL is not set # BR2_PACKAGE_PKCS11_HELPER is not set # BR2_PACKAGE_RHASH is not set # BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_OPENSSL is not set # BR2_PACKAGE_TPM2_PKCS11 is not set # BR2_PACKAGE_TPM2_TSS is not set # BR2_PACKAGE_TROUSERS is not set # BR2_PACKAGE_USTREAM_SSL is not set +BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS=y # BR2_PACKAGE_WOLFSSL is not set # BR2_PACKAGE_WOLFTPM is not set @@ -1719,25 +1899,28 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # libodb needs a toolchain w/ C++, threads # -BR2_PACKAGE_MONGODB_ARCH_SUPPORTS=y +# BR2_PACKAGE_LMDB is not set # -# mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 7 +# mariadb needs a toolchain w/ dynamic library, C++, threads, wchar # +# BR2_PACKAGE_POSTGRESQL is not set +# BR2_PACKAGE_REDIS is not set # -# mysql needs a toolchain w/ C++, threads +# redis-plus-plus needs a toolchain w/ C++, threads # -# BR2_PACKAGE_POSTGRESQL is not set -# BR2_PACKAGE_REDIS is not set # BR2_PACKAGE_SQLCIPHER is not set # BR2_PACKAGE_SQLITE is not set + +# +# sqlitecpp needs a toolchain w/ C++11, gcc >= 4.9 +# # BR2_PACKAGE_UNIXODBC is not set # # Filesystem # -# BR2_PACKAGE_GAMIN is not set # BR2_PACKAGE_LIBCONFIG is not set # BR2_PACKAGE_LIBCONFUSE is not set # BR2_PACKAGE_LIBFUSE is not set @@ -1756,20 +1939,16 @@ BR2_PACKAGE_MONGODB_ARCH_SUPPORTS=y # # -# assimp needs a toolchain w/ C++, wchar -# - -# -# at-spi2-atk depends on X.org +# assimp needs a toolchain w/ C++, wchar, gcc >= 7 # +# BR2_PACKAGE_AT_SPI2_CORE is not set # -# at-spi2-core depends on X.org +# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library # -# BR2_PACKAGE_ATK is not set # -# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y @@ -1786,6 +1965,10 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# cairomm (1.14.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # chipmunk needs an OpenGL backend # @@ -1797,6 +1980,15 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # # exiv2 needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads # +BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS=y + +# +# flutter-engine needs an OpenGL or OpenGLES backend +# + +# +# flutter-engine needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5 +# # BR2_PACKAGE_FONTCONFIG is not set # BR2_PACKAGE_FREETYPE is not set # BR2_PACKAGE_GD is not set @@ -1806,13 +1998,14 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # # granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9 # +# BR2_PACKAGE_GRAPHENE is not set # # graphite2 needs a toolchain w/ C++ # # -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 7 +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # # @@ -1822,7 +2015,7 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # BR2_PACKAGE_IMLIB2 is not set # -# intel-gmmlib needs a toolchain w/ dynamic library, C++ +# intel-gmmlib needs a toolchain w/ dynamic library, C++, threads # # @@ -1843,6 +2036,11 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # BR2_PACKAGE_LEPTONICA is not set # BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBAVIF is not set + +# +# libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# # BR2_PACKAGE_LIBDMTX is not set # BR2_PACKAGE_LIBDRM is not set @@ -1865,7 +2063,7 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # -# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # # @@ -1886,7 +2084,19 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend +# libgtk3 needs an OpenGL or an OpenGL-EGL backend +# + +# +# libgtk4 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# libgtk4 needs an OpenGL(ES) EGL backend +# + +# +# libjxl needs a toolchain with C++, threads, gcc >= 7, dynamic library # # BR2_PACKAGE_LIBMEDIAART is not set # BR2_PACKAGE_LIBMNG is not set @@ -1908,6 +2118,11 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # libvips needs a toolchain w/ wchar, threads, C++ # +BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS=y + +# +# libvpl needs a toolchain w/ dynamic library, gcc >= 7, C++, threads +# # # libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend @@ -1930,22 +2145,27 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # + +# +# pangomm (2.46.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# # BR2_PACKAGE_PIXMAN is not set # # poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 7 # +# BR2_PACKAGE_STB is not set # BR2_PACKAGE_TIFF is not set # BR2_PACKAGE_WAYLAND is not set BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # -# webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9 # # BR2_PACKAGE_WEBP is not set # -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support +# wlroots needs udev, EGL and OpenGL ES support # # @@ -1953,12 +2173,12 @@ BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # # -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and EGL support # BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # -# wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# wpewebkit needs a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9 # # @@ -1970,7 +2190,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# zxing-cpp needs a toolchain w/ C++, dynamic library +# zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads # # @@ -1980,13 +2200,15 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_BCM2835 is not set # BR2_PACKAGE_C_PERIPHERY is not set # BR2_PACKAGE_CCID is not set +BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS=y +# BR2_PACKAGE_CPUINFO is not set # BR2_PACKAGE_DTC is not set BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # BR2_PACKAGE_GNU_EFI is not set # BR2_PACKAGE_HACKRF is not set # -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 +# hidapi needs udev /dev management and a toolchain w/ NPTL, gcc >= 4.9 # # BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set @@ -2004,22 +2226,23 @@ BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # # -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library +# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale # # # libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7 # +# BR2_PACKAGE_LIBDISPLAY_INFO is not set # BR2_PACKAGE_LIBFREEFARE is not set # BR2_PACKAGE_LIBFTDI is not set # BR2_PACKAGE_LIBFTDI1 is not set # BR2_PACKAGE_LIBGPHOTO2 is not set # BR2_PACKAGE_LIBGPIOD is not set +# BR2_PACKAGE_LIBGPIOD2 is not set # # libgudev needs udev /dev handling and a toolchain w/ wchar, threads # -# BR2_PACKAGE_LIBHID is not set # BR2_PACKAGE_LIBIIO is not set # @@ -2029,6 +2252,7 @@ BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBLLCP is not set # BR2_PACKAGE_LIBMBIM is not set # BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBNVME is not set # BR2_PACKAGE_LIBPCIACCESS is not set # BR2_PACKAGE_LIBPHIDGET is not set # BR2_PACKAGE_LIBPRI is not set @@ -2056,9 +2280,15 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # BR2_PACKAGE_MRAA is not set # BR2_PACKAGE_MTDEV is not set # BR2_PACKAGE_NEARDAL is not set +BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS=y + +# +# opencsd needs a toolchain w/ C++11, gcc >= 4.8, dynamic library +# # BR2_PACKAGE_OPENSC is not set # BR2_PACKAGE_OWFS is not set # BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_PICO_SDK is not set # # rpi-rgb-led-matrix needs a toolchain w/ C++, threads, dynamic library @@ -2066,7 +2296,7 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # BR2_PACKAGE_TSLIB is not set # -# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library +# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 7 # # @@ -2076,7 +2306,6 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # # Javascript # -# BR2_PACKAGE_ANGULARJS is not set # BR2_PACKAGE_BOOTSTRAP is not set # BR2_PACKAGE_CHARTJS is not set # BR2_PACKAGE_DATATABLES is not set @@ -2089,7 +2318,6 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # BR2_PACKAGE_JSON_JAVASCRIPT is not set # BR2_PACKAGE_JSZIP is not set # BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set # BR2_PACKAGE_VIS_NETWORK is not set # BR2_PACKAGE_VUEJS is not set @@ -2121,9 +2349,11 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # # libjson needs a toolchain w/ C++ # +# BR2_PACKAGE_LIBJWT is not set # BR2_PACKAGE_LIBROXML is not set # BR2_PACKAGE_LIBUCL is not set # BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLB is not set # # libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7 @@ -2175,7 +2405,7 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # # -# glog needs a toolchain w/ C++ +# glog needs a toolchain w/ C++, threads, gcc >= 6 # # @@ -2193,7 +2423,7 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y # # -# log4cxx needs a toolchain w/ C++, threads, dynamic library +# log4cxx needs a toolchain w/ C++, threads, dynamic library, wchar # # @@ -2240,7 +2470,11 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 +# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, headers >= 5.5 +# + +# +# libde265 needs a toolchain w/ threads, C++ # # BR2_PACKAGE_LIBDVBCSA is not set # BR2_PACKAGE_LIBDVBPSI is not set @@ -2253,16 +2487,20 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBDVDREAD is not set # -# libebml needs a toolchain w/ C++, wchar +# libebml needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBHDHOMERUN is not set +# +# libheif needs a toolchain w/ C++, gcc >= 4.8 +# + # # libimxvpuapi needs an i.MX platform with VPU support # # -# libmatroska needs a toolchain w/ C++, wchar +# libmatroska needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBMMS is not set # BR2_PACKAGE_LIBMPEG2 is not set @@ -2316,9 +2554,12 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar # # BR2_PACKAGE_C_ARES is not set -# BR2_PACKAGE_CGIC is not set # BR2_PACKAGE_CNI_PLUGINS is not set +# +# cpp-httplib needs a toolchain w/ C++, wchar, threads +# + # # cppzmq needs a toolchain w/ C++, threads # @@ -2339,14 +2580,13 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # filemq needs a toolchain w/ C++, threads # -# BR2_PACKAGE_FLICKCURL is not set # BR2_PACKAGE_FREERADIUS_CLIENT is not set # BR2_PACKAGE_GENSIO is not set # BR2_PACKAGE_GEOIP is not set # BR2_PACKAGE_GLIB_NETWORKING is not set # -# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 5 +# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_GSSDP is not set # BR2_PACKAGE_GUPNP is not set @@ -2380,7 +2620,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBHTTPPARSER is not set # -# libhttpserver needs a toolchain w/ C++, threads, gcc >= 5 +# libhttpserver needs a toolchain w/ C++, threads, gcc >= 7 # # BR2_PACKAGE_LIBIDN is not set # BR2_PACKAGE_LIBIDN2 is not set @@ -2399,7 +2639,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBMODBUS is not set # -# libmodsecurity needs a toolchain w/ C++, threads +# libmodsecurity needs a toolchain w/ C++, threads, dynamic library # # BR2_PACKAGE_LIBNATPMP is not set # BR2_PACKAGE_LIBNDP is not set @@ -2436,6 +2676,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSHOUT is not set # BR2_PACKAGE_LIBSOCKETCAN is not set # BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSOUP3 is not set # BR2_PACKAGE_LIBSRTP is not set # BR2_PACKAGE_LIBSTROPHE is not set # BR2_PACKAGE_LIBTEAM is not set @@ -2451,10 +2692,6 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBUEV is not set # BR2_PACKAGE_LIBUHTTPD is not set - -# -# libuhttpd needs a toolchain w/ gcc >= 4.9 -# # BR2_PACKAGE_LIBUPNP is not set # @@ -2470,8 +2707,12 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBWEBSOCK is not set # BR2_PACKAGE_LIBWEBSOCKETS is not set # BR2_PACKAGE_LIBYANG is not set +BR2_PACKAGE_LIBZENOH_C_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBZENOH_C is not set +# BR2_PACKAGE_LIBZENOH_PICO is not set # BR2_PACKAGE_LKSCTP_TOOLS is not set # BR2_PACKAGE_MBUFFER is not set +# BR2_PACKAGE_MDNSD is not set # BR2_PACKAGE_MONGOOSE is not set # BR2_PACKAGE_NANOMSG is not set # BR2_PACKAGE_NEON is not set @@ -2487,6 +2728,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_NSS_MYHOSTNAME is not set # BR2_PACKAGE_NSS_PAM_LDAPD is not set +# +# oatpp needs a toolchain w/ C++, threads +# + # # omniORB needs a toolchain w/ C++, threads # @@ -2513,7 +2758,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597 +# pistache needs a toolchain w/ C++, gcc >= 7, NPTL, wchar # # BR2_PACKAGE_QDECODER is not set @@ -2538,6 +2783,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # snmp++ needs a toolchain w/ threads, C++, dynamic library # # BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_SSCEP is not set # # sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8 @@ -2549,7 +2795,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_USBREDIR is not set # -# wampcc needs a toolchain w/ C++, NPTL, dynamic library +# wampcc needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.9 # # @@ -2573,7 +2819,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8 +# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.9 # # BR2_PACKAGE_APR is not set # BR2_PACKAGE_APR_UTIL is not set @@ -2586,6 +2832,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # atf needs a toolchain w/ C++ # # BR2_PACKAGE_AVRO_C is not set +# BR2_PACKAGE_BASU is not set # # bctoolbox needs a toolchain w/ C++, threads @@ -2608,6 +2855,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 # +# +# catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# + # # cctz needs a toolchain w/ C++, threads, gcc >= 4.8 # @@ -2617,7 +2868,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# clang needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# clang needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 # # BR2_PACKAGE_CMOCKA is not set @@ -2631,6 +2882,11 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_DING_LIBS is not set +# +# dlib needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_DOTCONF is not set + # # double-conversion needs a toolchain w/ C++ # @@ -2640,20 +2896,31 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_ELFUTILS is not set # BR2_PACKAGE_ELL is not set + +# +# farmhash needs a toolchain w/ C++11 +# +# BR2_PACKAGE_FFT2D is not set # BR2_PACKAGE_FFTW is not set # -# flann needs a toolchain w/ C++, dynamic library +# flann needs a toolchain w/ C++, dynamic library, gcc >= 4.7 # # # flatbuffers needs a toolchain w/ C++, gcc >= 4.7 # # BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_FP16 is not set +# BR2_PACKAGE_FXDIV is not set # BR2_PACKAGE_GCONF is not set # -# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, not binutils bug 27597, threads, wchar +# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, NPTL, wchar +# + +# +# gemmlowp needs a toolchain w/ C++11 # # @@ -2668,6 +2935,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# glibmm (2.66.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # glm needs a toolchain w/ C++ # @@ -2683,6 +2954,10 @@ BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y # gtest needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # BR2_PACKAGE_GUMBO_PARSER is not set + +# +# highway needs a toolchain w/ C++, gcc >= 7 +# BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y # BR2_PACKAGE_JEMALLOC is not set BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y @@ -2693,7 +2968,7 @@ BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y # -# libabseil-cpp needs a toolchain w/ gcc >= 4.9, C++, threads, dynamic library +# libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library # # BR2_PACKAGE_LIBARGTABLE2 is not set BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y @@ -2708,7 +2983,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCAP_NG is not set # -# libcgroup needs a glibc toolchain w/ C++ +# libcgroup needs a toolchain w/ C++, threads # # BR2_PACKAGE_LIBCLC is not set # BR2_PACKAGE_LIBCOFI is not set @@ -2719,6 +2994,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBCSV is not set # BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBDEX is not set # BR2_PACKAGE_LIBDILL is not set # BR2_PACKAGE_LIBEE is not set # BR2_PACKAGE_LIBEV is not set @@ -2736,7 +3012,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBGEE is not set # -# libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597 +# libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads # # BR2_PACKAGE_LIBGLIB2 is not set # BR2_PACKAGE_LIBGLOB is not set @@ -2762,7 +3038,7 @@ BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y # BR2_PACKAGE_LIBNSPR is not set # -# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7 +# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # @@ -2787,8 +3063,13 @@ BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y # # libsigc++ needs a toolchain w/ C++, gcc >= 7 # + +# +# libsigc++ (2.x.x) needs a toolchain w/ C++, gcc >= 4.9 +# BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSOLV is not set # # libspatialindex needs a toolchain w/ C++, gcc >= 4.7 @@ -2802,8 +3083,12 @@ BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBUNWIND is not set BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set + +# +# liburcu needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_LIBURING is not set +# BR2_PACKAGE_LIBUTEMPTER is not set # BR2_PACKAGE_LIBUV is not set # BR2_PACKAGE_LIGHTNING is not set # BR2_PACKAGE_LINUX_PAM is not set @@ -2812,9 +3097,12 @@ BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y BR2_PACKAGE_LLVM_TARGET_ARCH="ARM" # -# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 +# + +# +# lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++ # -# BR2_PACKAGE_LTTNG_LIBUST is not set # BR2_PACKAGE_MATIO is not set # BR2_PACKAGE_MPC is not set # BR2_PACKAGE_MPDECIMAL is not set @@ -2824,6 +3112,7 @@ BR2_PACKAGE_LLVM_TARGET_ARCH="ARM" # # msgpack needs a toolchain w/ C++ # +# BR2_PACKAGE_NEON_2_SSE is not set BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET="CORTEXA9" BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENBLAS is not set @@ -2832,30 +3121,38 @@ BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y BR2_PACKAGE_POCO_ARCH_SUPPORTS=y # -# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14 +# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8 # BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # -# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # -# protobuf-c needs a toolchain w/ C++, threads +# protobuf-c needs a toolchain w/ C++, threads, host gcc >= 7 # # -# protozero needs a toolchain w/ C++, gcc >= 4.7 +# protozero needs a toolchain w/ C++, gcc >= 4.7 # +# BR2_PACKAGE_PSIMD is not set +# BR2_PACKAGE_PTHREADPOOL is not set # # qhull needs a toolchain w/ C++, gcc >= 4.4 # # BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_REPROC is not set + +# +# riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 7 +# +BR2_PACKAGE_RUY_ARCH_SUPPORTS=y # -# riemann-c-client needs a toolchain w/ C++, threads +# ruy needs a toolchain w/ C++14, threads # # @@ -2867,8 +3164,18 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tbb needs a glibc or musl toolchain w/ dynamic library, threads, C++ # +BR2_PACKAGE_TENSORFLOW_LITE_ARCH_SUPPORTS=y + +# +# tensorflow-lite needs a toolchain w/ gcc >= 8, C++, threads +# # BR2_PACKAGE_TINYCBOR is not set +# +# tl-expected needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_TLLIST is not set + # # uvw needs a toolchain w/ NPTL, dynamic library, C++, gcc >= 7 # @@ -2881,6 +3188,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # xapian needs a toolchain w/ C++ # +# +# xnnpack needs a toolchain w/ C++14, threads +# + # # Security # @@ -2899,6 +3210,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_AUGEAS is not set +# +# cli11 needs a toolchain w/ C++, gcc >= 4.8 +# + # # docopt-cpp needs a toolchain w/ C++, gcc >= 4.7 # @@ -2906,6 +3221,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # enchant needs a toolchain w/ C++, threads, wchar # +# BR2_PACKAGE_FCFT is not set # # fmt needs a toolchain w/ C++, wchar @@ -2917,10 +3233,12 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_INIH is not set # BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBECOLI is not set # BR2_PACKAGE_LIBEDIT is not set # BR2_PACKAGE_LIBENCA is not set # BR2_PACKAGE_LIBESTR is not set # BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNIBREAK is not set # BR2_PACKAGE_LIBUNISTRING is not set # BR2_PACKAGE_LINENOISE is not set # BR2_PACKAGE_NCURSES is not set @@ -2931,7 +3249,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # BR2_PACKAGE_POPT is not set # -# re2 needs a toolchain w/ C++, threads, gcc >= 4.8 +# re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_READLINE is not set # BR2_PACKAGE_SLANG is not set @@ -2939,8 +3257,16 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tclap needs a toolchain w/ C++ # + +# +# termcolor needs a toolchain w/ C++, gcc >= 4.8 +# # BR2_PACKAGE_UTF8PROC is not set +# +# taglib needs a toolchain w/ C++ +# + # # Mail # @@ -2960,7 +3286,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # -# bitcoin needs a toolchain w/ C++, threads, wchar +# bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 11 # # @@ -2973,15 +3299,16 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library # # BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_FFT_EVAL is not set # BR2_PACKAGE_GITLAB_RUNNER is not set # -# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library +# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 8 # # BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set # -# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 # # @@ -2994,7 +3321,7 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # BR2_PACKAGE_NETDATA is not set # -# proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_QEMU is not set @@ -3004,6 +3331,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # # BR2_PACKAGE_RTL_433 is not set # BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SNOOZE is not set # # sunwait needs a toolchain w/ C++ @@ -3015,9 +3343,10 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # -# xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++ +# xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++, gcc >= 4.9 # # BR2_PACKAGE_XUTIL_UTIL_MACROS is not set +BR2_PACKAGE_Z3_ARCH_SUPPORTS=y # # Networking applications @@ -3056,7 +3385,7 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8 # # BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set +BR2_PACKAGE_BRIDGE_UTILS=y # BR2_PACKAGE_BWM_NG is not set # BR2_PACKAGE_C_ICAP is not set # BR2_PACKAGE_CAN_UTILS is not set @@ -3068,6 +3397,7 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_CFM is not set # BR2_PACKAGE_CHRONY is not set # BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CLOUDFLARED is not set # BR2_PACKAGE_CONNMAN is not set # @@ -3106,6 +3436,7 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_FAIFA is not set # BR2_PACKAGE_FASTD is not set # BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FIREWALLD is not set # BR2_PACKAGE_FLANNEL is not set # BR2_PACKAGE_FPING is not set # BR2_PACKAGE_FREERADIUS_SERVER is not set @@ -3113,7 +3444,10 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # # freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar # -# BR2_PACKAGE_FRR is not set + +# +# frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7 +# # # gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8 @@ -3134,7 +3468,6 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set # BR2_PACKAGE_HOSTAPD is not set # BR2_PACKAGE_HTPDATE is not set # BR2_PACKAGE_HTTPING is not set @@ -3142,6 +3475,7 @@ BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # # i2pd needs a toolchain w/ C++, NPTL, wchar # +# BR2_PACKAGE_IANA_ASSIGNMENTS is not set # # ibrdtn-tools needs a toolchain w/ C++, threads @@ -3163,11 +3497,15 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # iperf needs a toolchain w/ C++ # # BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set +BR2_PACKAGE_IPROUTE2=y # BR2_PACKAGE_IPSET is not set # BR2_PACKAGE_IPTABLES is not set # BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set +BR2_PACKAGE_IPUTILS=y +BR2_PACKAGE_IPUTILS_ARPING=y +BR2_PACKAGE_IPUTILS_CLOCKDIFF=y +BR2_PACKAGE_IPUTILS_PING=y +BR2_PACKAGE_IPUTILS_TRACEPATH=y # BR2_PACKAGE_IRSSI is not set # BR2_PACKAGE_IW is not set # BR2_PACKAGE_IWD is not set @@ -3175,7 +3513,7 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # BR2_PACKAGE_KEEPALIVED is not set # -# kismet needs a toolchain w/ threads, C++, gcc >= 5 +# kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7 # # BR2_PACKAGE_KNOCK is not set # BR2_PACKAGE_KSMBD_TOOLS is not set @@ -3215,7 +3553,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 4.8 +# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 8 # # BR2_PACKAGE_MOSQUITTO is not set # BR2_PACKAGE_MROUTED is not set @@ -3227,12 +3565,16 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_NDISC6 is not set # BR2_PACKAGE_NETATALK is not set # BR2_PACKAGE_NETCALC is not set + +# +# nethogs needs a toolchain w/ C++ +# # BR2_PACKAGE_NETPLUG is not set # BR2_PACKAGE_NETSNMP is not set # BR2_PACKAGE_NETSTAT_NAT is not set # -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9 +# NetworkManager needs udev /dev management and a glibc or musl toolchain w/ headers >= 4.20, dynamic library, wchar, threads, gcc >= 4.9 # # BR2_PACKAGE_NFACCT is not set # BR2_PACKAGE_NFTABLES is not set @@ -3254,8 +3596,10 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_ODHCP6C is not set # BR2_PACKAGE_ODHCPLOC is not set # BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_ISCSI is not set # BR2_PACKAGE_OPEN_LLDP is not set # BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENCONNECT is not set # BR2_PACKAGE_OPENNTPD is not set # BR2_PACKAGE_OPENOBEX is not set # BR2_PACKAGE_OPENRESOLV is not set @@ -3282,7 +3626,6 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_PTPD2 is not set # BR2_PACKAGE_PURE_FTPD is not set # BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set # BR2_PACKAGE_RADVD is not set # BR2_PACKAGE_REAVER is not set # BR2_PACKAGE_REDIR is not set @@ -3323,7 +3666,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_SPICE_PROTOCOL is not set # -# squid needs a toolchain w/ C++, threads, gcc >= 4.8 not affected by bug 64735 +# squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8 # # BR2_PACKAGE_SSDP_RESPONDER is not set # BR2_PACKAGE_SSHGUARD is not set @@ -3332,6 +3675,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_STRONGSWAN is not set # BR2_PACKAGE_STUNNEL is not set # BR2_PACKAGE_SURICATA is not set +# BR2_PACKAGE_TAILSCALE is not set # BR2_PACKAGE_TCPDUMP is not set # BR2_PACKAGE_TCPING is not set # BR2_PACKAGE_TCPREPLAY is not set @@ -3339,9 +3683,13 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_TINC is not set # BR2_PACKAGE_TINYPROXY is not set # BR2_PACKAGE_TINYSSH is not set +# BR2_PACKAGE_TIPIDEE is not set # BR2_PACKAGE_TOR is not set # BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set + +# +# transmission needs a toolchain w/ dynamic library, threads, C++, gcc >= 7 +# # BR2_PACKAGE_TUNCTL is not set # BR2_PACKAGE_TVHEADEND is not set # BR2_PACKAGE_UACME is not set @@ -3354,6 +3702,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_UREDIR is not set # BR2_PACKAGE_USHARE is not set # BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_USTREAMER is not set # BR2_PACKAGE_VDE2 is not set # @@ -3383,7 +3732,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads +# znc needs a toolchain w/ C++, dynamic library, gcc >= 8, threads # # @@ -3451,7 +3800,7 @@ BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS=y # # BR2_PACKAGE_CHECKPOLICY is not set # BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACKAGE_LYNIS is not set # BR2_PACKAGE_OPTEE_CLIENT is not set # BR2_PACKAGE_PAXTEST is not set # BR2_PACKAGE_POLICYCOREUTILS is not set @@ -3473,6 +3822,7 @@ BR2_PACKAGE_URANDOM_SCRIPTS=y # Shells # # BR2_PACKAGE_MKSH is not set +# BR2_PACKAGE_NUSHELL is not set # BR2_PACKAGE_ZSH is not set # @@ -3485,6 +3835,7 @@ BR2_PACKAGE_URANDOM_SCRIPTS=y # BR2_PACKAGE_DIALOG is not set # BR2_PACKAGE_DTACH is not set # BR2_PACKAGE_EASY_RSA is not set +# BR2_PACKAGE_EZA is not set # BR2_PACKAGE_FILE is not set # BR2_PACKAGE_GNUPG is not set BR2_PACKAGE_GNUPG2_DEPENDS=y @@ -3493,12 +3844,15 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # BR2_PACKAGE_LOCKFILE_PROGS is not set # BR2_PACKAGE_LOGROTATE is not set # BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_MINISIGN is not set # BR2_PACKAGE_PDMENU is not set # BR2_PACKAGE_PINENTRY is not set # BR2_PACKAGE_QPRINT is not set # BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_RLWRAP is not set # BR2_PACKAGE_RTTY is not set # BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SEXPECT is not set # BR2_PACKAGE_SUDO is not set # BR2_PACKAGE_TINI is not set # BR2_PACKAGE_TMUX is not set @@ -3507,6 +3861,7 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # BR2_PACKAGE_XMLSTARLET is not set # BR2_PACKAGE_XXHASH is not set # BR2_PACKAGE_YTREE is not set +# BR2_PACKAGE_ZOXIDE is not set # # System tools @@ -3524,9 +3879,15 @@ BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y # # circus needs Python 3 and a toolchain w/ C++, threads # +# BR2_PACKAGE_CONMON is not set # BR2_PACKAGE_CONTAINERD is not set # BR2_PACKAGE_CPULIMIT is not set # BR2_PACKAGE_CPULOAD is not set +BR2_PACKAGE_CRIU_ARCH_SUPPORTS=y + +# +# criu needs a glibc or musl toolchain w/ threads, host gcc >= 7, gcc >= 8, headers >= 4.18, C++, dynamic library, wchar +# # BR2_PACKAGE_CRUN is not set # BR2_PACKAGE_DAEMON is not set # BR2_PACKAGE_DC3DD is not set @@ -3535,18 +3896,19 @@ BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y # ddrescue needs a toolchain w/ C++ # # BR2_PACKAGE_DOCKER_CLI is not set +# BR2_PACKAGE_DOCKER_CLI_BUILDX is not set # # docker-compose needs docker-cli and a toolchain w/ threads # # BR2_PACKAGE_DOCKER_ENGINE is not set -# BR2_PACKAGE_DOCKER_PROXY is not set # BR2_PACKAGE_EARLYOOM is not set # BR2_PACKAGE_EFIBOOTMGR is not set BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS=y # BR2_PACKAGE_EFIVAR is not set # BR2_PACKAGE_EMBIGGEN_DISK is not set # BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FLUENT_BIT is not set # BR2_PACKAGE_FTOP is not set # BR2_PACKAGE_GETENT is not set # BR2_PACKAGE_GKRELLM is not set @@ -3561,6 +3923,7 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_IRQBALANCE is not set # BR2_PACKAGE_KEYUTILS is not set # BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_KMON is not set # BR2_PACKAGE_KVMTOOL is not set # BR2_PACKAGE_LIBOSTREE is not set # BR2_PACKAGE_LXC is not set @@ -3570,10 +3933,11 @@ BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y # BR2_PACKAGE_MENDER_CONNECT is not set # BR2_PACKAGE_MFOC is not set # BR2_PACKAGE_MOBY_BUILDKIT is not set +# BR2_PACKAGE_MOKUTIL is not set # BR2_PACKAGE_MONIT is not set # -# multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library +# multipath-tools needs udev and a toolchain w/ threads, dynamic library, C++ # # BR2_PACKAGE_NCDU is not set # BR2_PACKAGE_NERDCTL is not set @@ -3584,18 +3948,25 @@ BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y # BR2_PACKAGE_NUMACTL is not set # -# nut needs a toolchain w/ C++ +# nut needs a toolchain w/ C++, threads # # # pamtester depends on linux-pam # + +# +# petitboot needs a toolchain w/ wchar, dynamic library, threads, udev /dev management +# # BR2_PACKAGE_POLKIT is not set # BR2_PACKAGE_PROCRANK_LINUX is not set +# BR2_PACKAGE_PROCS is not set # BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QBEE_AGENT is not set # BR2_PACKAGE_QUOTA is not set # BR2_PACKAGE_QUOTATOOL is not set # BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_RAUC_HAWKBIT_UPDATER is not set # BR2_PACKAGE_RUNC is not set # BR2_PACKAGE_S6 is not set # BR2_PACKAGE_S6_LINUX_INIT is not set @@ -3606,13 +3977,14 @@ BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y # BR2_PACKAGE_SCRYPT is not set # -# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 7 +# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 8 # # # sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 # # BR2_PACKAGE_SEATD is not set +# BR2_PACKAGE_SHADOW is not set # BR2_PACKAGE_SMACK is not set # @@ -3656,15 +4028,14 @@ BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS=y # BR2_TARGET_ROOTFS_EROFS is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_2=y -# BR2_TARGET_ROOTFS_EXT2_2r0 is not set BR2_TARGET_ROOTFS_EXT2_2r1=y # BR2_TARGET_ROOTFS_EXT2_3 is not set # BR2_TARGET_ROOTFS_EXT2_4 is not set BR2_TARGET_ROOTFS_EXT2_GEN=2 -BR2_TARGET_ROOTFS_EXT2_REV=1 BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" -BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_ROOTFS_EXT2_SIZE="100M" BR2_TARGET_ROOTFS_EXT2_INODES=0 +BR2_TARGET_ROOTFS_EXT2_INODE_SIZE=256 BR2_TARGET_ROOTFS_EXT2_RESBLKS=5 BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit" BR2_TARGET_ROOTFS_EXT2_NONE=y @@ -3679,7 +4050,6 @@ BR2_TARGET_ROOTFS_EXT2_NONE=y # BR2_TARGET_ROOTFS_INITRAMFS is not set # BR2_TARGET_ROOTFS_JFFS2 is not set # BR2_TARGET_ROOTFS_OCI is not set -# BR2_TARGET_ROOTFS_ROMFS is not set # BR2_TARGET_ROOTFS_SQUASHFS is not set # BR2_TARGET_ROOTFS_TAR is not set # BR2_TARGET_ROOTFS_UBI is not set @@ -3701,26 +4071,37 @@ BR2_PACKAGE_SHIM_ARCH_SUPPORTS=y # BR2_TARGET_SHIM is not set # BR2_TARGET_UBOOT is not set +# +# xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf +# + # # Host utilities # # BR2_PACKAGE_HOST_ABOOTIMG is not set # BR2_PACKAGE_HOST_AESPIPE is not set # BR2_PACKAGE_HOST_AGENT_PROXY is not set +# BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP is not set # BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS=y # BR2_PACKAGE_HOST_ASN1C is not set # BR2_PACKAGE_HOST_BABELTRACE2 is not set # BR2_PACKAGE_HOST_BMAP_TOOLS is not set +# BR2_PACKAGE_HOST_BMAP_WRITER is not set # BR2_PACKAGE_HOST_BOOTGEN is not set # BR2_PACKAGE_HOST_BTRFS_PROGS is not set # BR2_PACKAGE_HOST_CBOOTIMAGE is not set # BR2_PACKAGE_HOST_CHECKPOLICY is not set # BR2_PACKAGE_HOST_CHECKSEC is not set # BR2_PACKAGE_HOST_CMAKE is not set +BR2_HOST_CMAKE_AT_LEAST="3.18" +# BR2_PACKAGE_HOST_COMPOSER is not set # BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRUDINI is not set # BR2_PACKAGE_HOST_CRYPTSETUP is not set # BR2_PACKAGE_HOST_DBUS_PYTHON is not set # BR2_PACKAGE_HOST_DELVE is not set +# BR2_PACKAGE_HOST_DEPOT_TOOLS is not set # BR2_PACKAGE_HOST_DFU_UTIL is not set # BR2_PACKAGE_HOST_DOS2UNIX is not set # BR2_PACKAGE_HOST_DOSFSTOOLS is not set @@ -3735,15 +4116,25 @@ BR2_PACKAGE_HOST_E2FSPROGS=y # BR2_PACKAGE_HOST_FAKETIME is not set # BR2_PACKAGE_HOST_FATCAT is not set # BR2_PACKAGE_HOST_FIRMWARE_UTILS is not set +BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_FLUTTER_SDK_BIN is not set # BR2_PACKAGE_HOST_FWUP is not set # BR2_PACKAGE_HOST_GENEXT2FS is not set # BR2_PACKAGE_HOST_GENIMAGE is not set # BR2_PACKAGE_HOST_GENPART is not set # BR2_PACKAGE_HOST_GNUPG is not set +# BR2_PACKAGE_HOST_GNUPG2 is not set BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS=y +# BR2_PACKAGE_HOST_GO is not set +BR2_PACKAGE_PROVIDES_HOST_GO="host-go-bin" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH="amd64" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE1_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_GPTFDISK is not set # BR2_PACKAGE_HOST_IMAGEMAGICK is not set @@ -3763,13 +4154,17 @@ BR2_PACKAGE_HOST_KMOD=y # BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set # BR2_PACKAGE_HOST_MESON_TOOLS is not set # BR2_PACKAGE_HOST_MFGTOOLS is not set +# BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR is not set +# BR2_PACKAGE_HOST_MINISIGN is not set # BR2_PACKAGE_HOST_MKPASSWD is not set # BR2_PACKAGE_HOST_MOBY_BUILDKIT is not set # BR2_PACKAGE_HOST_MOSQUITTO is not set # BR2_PACKAGE_HOST_MTD is not set # BR2_PACKAGE_HOST_MTOOLS is not set # BR2_PACKAGE_HOST_MXSLDR is not set +BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_NODEJS is not set +BR2_PACKAGE_PROVIDES_HOST_NODEJS="host-nodejs-bin" # BR2_PACKAGE_HOST_ODB is not set # BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS is not set # BR2_PACKAGE_HOST_OPENOCD is not set @@ -3783,9 +4178,11 @@ BR2_PACKAGE_HOST_PATCHELF=y # BR2_PACKAGE_HOST_PWGEN is not set # BR2_PACKAGE_HOST_PYTHON_CYTHON is not set # BR2_PACKAGE_HOST_PYTHON_GREENLET is not set +# BR2_PACKAGE_HOST_PYTHON_INIPARSE is not set # BR2_PACKAGE_HOST_PYTHON_LXML is not set # BR2_PACKAGE_HOST_PYTHON_PYYAML is not set # BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_USWID is not set # BR2_PACKAGE_HOST_PYTHON_XLRD is not set # BR2_PACKAGE_HOST_PYTHON3 is not set BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y @@ -3814,15 +4211,20 @@ BR2_PACKAGE_HOST_RUSTC_ABI="eabihf" # BR2_PACKAGE_HOST_RUSTC is not set BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" # BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SDBUS_CPP is not set # BR2_PACKAGE_HOST_SDBUSPLUS is not set # BR2_PACKAGE_HOST_SENTRY_CLI is not set +# BR2_PACKAGE_HOST_SKOPEO is not set # BR2_PACKAGE_HOST_SLOCI_IMAGE is not set # BR2_PACKAGE_HOST_SQUASHFS is not set # BR2_PACKAGE_HOST_SUNXI_TOOLS is not set # BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_SWTPM is not set +# BR2_PACKAGE_HOST_SWUGENERATOR is not set # BR2_PACKAGE_HOST_TEGRARCM is not set BR2_PACKAGE_HOST_TI_CGT_PRU_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_TI_CGT_PRU is not set +# BR2_PACKAGE_HOST_TIPIDEE is not set # BR2_PACKAGE_HOST_UBOOT_TOOLS is not set BR2_PACKAGE_HOST_UTIL_LINUX=y # BR2_PACKAGE_HOST_UTP_COM is not set @@ -3836,9 +4238,195 @@ BR2_PACKAGE_HOST_UTIL_LINUX=y # Legacy config options # +# +# Legacy options removed in 2025.02.4 +# +# BR2_PACKAGE_LIBEBUR128 is not set + +# +# Legacy options removed in 2025.02 +# +# BR2_PACKAGE_SQLITE_ENABLE_JSON1 is not set +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_ANGULAR_WEBSOCKET is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_BINUTILS_VERSION_2_41_X is not set +# BR2_TARGET_ROOTFS_EXT2_2r0 is not set +# BR2_GDB_VERSION_13 is not set +# BR2_nios2 is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_GST_OMX is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_SDL2_DIRECTFB is not set +# BR2_PACKAGE_SDL_DIRECTFB is not set +# BR2_PACKAGE_QT5BASE_DIRECTFB is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB is not set +# BR2_PACKAGE_LITE is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_MONGODB is not set +# BR2_PACKAGE_PYTHON_M2CRYPTO is not set +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_6_11 is not set +# BR2_PACKAGE_GIBLIB is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_QUAGGA is not set +# BR2_PACKAGE_RAMSMP is not set + +# +# Legacy options removed in 2024.11 +# +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP is not set +# BR2_PACKAGE_QEMU_TARGET_NIOS2 is not set +# BR2_PACKAGE_POPPERJS is not set +# BR2_KERNEL_HEADERS_6_10 is not set +BR2_PACKAGE_IPMITOOL_PEN_REG_URI="" +# BR2_PACKAGE_ERLANG_P1_YAML is not set +# BR2_PACKAGE_ERLANG_P1_XMPP is not set +# BR2_PACKAGE_ERLANG_P1_XML is not set +# BR2_PACKAGE_ERLANG_P1_STUN is not set +# BR2_PACKAGE_FBV_GIF is not set +# BR2_BINUTILS_VERSION_2_40_X is not set + +# +# Legacy options removed in 2024.08 +# +# BR2_PACKAGE_MIDORI is not set +# BR2_PACKAGE_FROTZ is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FLUTTER_DYNAMIC_LAYOUTS_EXAMPLE is not set +# BR2_KERNEL_HEADERS_6_9 is not set +# BR2_x86_knightslanding is not set +# BR2_x86_knightsmill is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_CAIRO_SVG is not set +# BR2_PACKAGE_CAIRO_SCRIPT is not set +# BR2_PACKAGE_CAIRO_PS is not set +# BR2_PACKAGE_CAIRO_PDF is not set +# BR2_PACKAGE_CAIRO_XML is not set +# BR2_GDB_VERSION_12 is not set +# BR2_TARGET_BEAGLEV_DDRINIT is not set +# BR2_TARGET_BEAGLEV_SECONDBOOT is not set +# BR2_PACKAGE_ONEVPL_INTEL_GPU is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_VERSAL_FIRMWARE is not set +# BR2_KERNEL_HEADERS_6_8 is not set +# BR2_TARGET_AT91BOOTSTRAP is not set +# BR2_TARGET_AT91DATAFLASHBOOT is not set +# BR2_PACKAGE_ON2_8170_MODULES is not set +# BR2_PACKAGE_ON2_8170_LIBS is not set +# BR2_GCC_VERSION_11_X is not set +# BR2_BINFMT_FLAT_SHARED is not set +# BR2_PACKAGE_OMXPLAYER is not set +# BR2_KERNEL_HEADERS_6_7 is not set +# BR2_TARGET_TI_K3_IMAGE_GEN is not set +# BR2_TARGET_UBOOT_NEEDS_TI_K3_DM is not set +# BR2_PACKAGE_FLUTTER_GALLERY is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM is not set +# BR2_BINUTILS_VERSION_2_39_X is not set + +# +# Legacy options removed in 2024.02 +# +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_ORACLE_MYSQL is not set +# BR2_PACKAGE_STRONGSWAN_SCEP is not set +# BR2_PACKAGE_SHADOW_UTMPX is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_DAVINCI_BOOTCOUNT is not set +# BR2_PACKAGE_PYTHON_CROSSBAR is not set +# BR2_PACKAGE_PYTHON_PYGAME is not set +# BR2_KERNEL_HEADERS_4_14 is not set +# BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI is not set +# BR2_GDB_VERSION_11 is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_GMPC is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_ONEVPL is not set +# BR2_KERNEL_HEADERS_6_5 is not set +BR2_PACKAGE_WATCHDOGD_GENERIC_POLL=0 +BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL=0 +BR2_PACKAGE_WATCHDOGD_FILENR_POLL=0 +BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL=0 + +# +# Legacy options removed in 2023.11 +# +# BR2_PACKAGE_PYTHON_PYXB is not set +# BR2_PACKAGE_OPENJDK_VERSION_11 is not set +# BR2_KERNEL_HEADERS_6_4 is not set +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_GDB_VERSION_10 is not set + +# +# Legacy options removed in 2023.08 +# +# BR2_TARGET_LPC32XXCDL is not set +# BR2_BINUTILS_VERSION_2_38_X is not set +# BR2_GCC_VERSION_10_X is not set +# BR2_KERNEL_HEADERS_6_3 is not set +# BR2_PACKAGE_TOVID is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_OCF_LINUX is not set +# BR2_BINUTILS_VERSION_2_37_X is not set + +# +# Legacy options removed in 2023.05 +# +# BR2_KERNEL_HEADERS_6_2 is not set +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_AT_SPI2_ATK is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACAKGE_OPENFPGALOADER_CMSIS is not set + +# +# Legacy options removed in 2023.02 +# +# BR2_PACKAGE_PUGIXML_HEADER_ONLY is not set +# BR2_PACKAGE_UCCP420WLAN is not set +# BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES is not set +# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_4_9 is not set +# BR2_PACKAGE_DOCKER_PROXY is not set +# BR2_PACKAGE_PYTHON_BUNCH is not set +# BR2_TARGET_GUMMIBOOT is not set +# BR2_PACKAGE_IPUTILS_NINFOD is not set +# BR2_PACKAGE_IPUTILS_RARPD is not set +# BR2_PACKAGE_IPUTILS_RDISC is not set +# BR2_PACKAGE_IPUTILS_RDISC_SERVER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT is not set +# BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV is not set +BR2_PACKAGE_QEMU_CUSTOM_TARGETS="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD is not set +# BR2_TARGET_SUN20I_D1_SPL is not set +# BR2_PACKAGE_PYTHON_M2R is not set +# BR2_PACKAGE_MESA3D_XVMC is not set +# BR2_KERNEL_HEADERS_5_19 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT is not set +# BR2_PACKAGE_USBREDIR_SERVER is not set + # # Legacy options removed in 2022.11 # +# BR2_BINUTILS_VERSION_2_36_X is not set # BR2_PACKAGE_RABBITMQ_SERVER is not set # BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 is not set # BR2_PACKAGE_LIBDCADEC is not set @@ -3890,7 +4478,6 @@ BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="" # BR2_PACKAGE_PYTHON_ENUM34 is not set # BR2_PACKAGE_PYTHON_ENUM is not set # BR2_PACKAGE_PYTHON_DIALOG is not set -# BR2_PACKAGE_PYTHON_CONFIGOBJ is not set # BR2_PACKAGE_PYTHON_YIELDFROM is not set # BR2_PACKAGE_PYTHON_TYPING is not set # BR2_PACKAGE_PYTHON_SUBPROCESS32 is not set @@ -4079,6 +4666,10 @@ BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" # BR2_PACKAGE_PYTHON_SCAPY3K is not set # BR2_BINUTILS_VERSION_2_30_X is not set # BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set +# BR2_PACKAGE_TI_SGX_KM_AM335X is not set +# BR2_PACKAGE_TI_SGX_KM_AM437X is not set +# BR2_PACKAGE_TI_SGX_KM_AM4430 is not set +# BR2_PACKAGE_TI_SGX_KM_AM5430 is not set # # Legacy options removed in 2019.11 @@ -4235,6 +4826,7 @@ BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" # # BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set # BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_MEDIAART_BACKEND_QT is not set # BR2_PACKAGE_TI_SGX_AM335X is not set # BR2_PACKAGE_TI_SGX_AM437X is not set # BR2_PACKAGE_TI_SGX_AM4430 is not set @@ -4555,16 +5147,16 @@ BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" # BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set # BR2_TARGET_UBOOT_NETWORK is not set + ################# Override qemu_arm_vexpress_defconfig ###################### BR2_cortex_a9=n BR2_cortex_a15=y BR2_GCC_TARGET_CPU="cortex-a15" -BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y - -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_ROOTFS_EXT2=n BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_FULL=y BR2_TARGET_ROOTFS_CPIO_NONE=y @@ -4587,3 +5179,12 @@ BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" BR2_PACKAGE_HOST_QEMU=n BR2_PACKAGE_URANDOM_SCRIPTS=n + +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_IMAGE_NAME="" + +BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT=y + +BR2_PACKAGE_BAO_DRIVERS=y +BR2_ROOTFS_OVERLAY="$(BAO_DEMOS_BUILDROOT_OVERLAY)" diff --git a/guests/linux/buildroot/aarch64.config b/guests/linux/buildroot/aarch64.config index c39ff58..b31f3f6 100644 --- a/guests/linux/buildroot/aarch64.config +++ b/guests/linux/buildroot/aarch64.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Buildroot 2022.11.1 Configuration +# Buildroot 2025.02.4 Configuration # BR2_HAVE_DOT_CONFIG=y BR2_HOST_GCC_AT_LEAST_4_9=y @@ -9,6 +9,8 @@ BR2_HOST_GCC_AT_LEAST_6=y BR2_HOST_GCC_AT_LEAST_7=y BR2_HOST_GCC_AT_LEAST_8=y BR2_HOST_GCC_AT_LEAST_9=y +BR2_HOST_GCC_AT_LEAST_10=y +BR2_HOST_GCC_AT_LEAST_11=y # # Target options @@ -29,7 +31,6 @@ BR2_aarch64=y # BR2_mipsel is not set # BR2_mips64 is not set # BR2_mips64el is not set -# BR2_nios2 is not set # BR2_or1k is not set # BR2_powerpc is not set # BR2_powerpc64 is not set @@ -95,6 +96,7 @@ BR2_cortex_a53=y # BR2_cortex_a75_a55 is not set # BR2_cortex_a76 is not set # BR2_cortex_a76_a55 is not set +# BR2_cortex_a78 is not set # BR2_neoverse_n1 is not set # BR2_tsv110 is not set @@ -102,6 +104,12 @@ BR2_cortex_a53=y # armv8.4a cores # # BR2_saphira is not set + +# +# armv9.0a cores +# +# BR2_cortex_a710 is not set +# BR2_neoverse_n2 is not set # BR2_ARM_FPU_VFPV2 is not set # BR2_ARM_FPU_VFPV3 is not set # BR2_ARM_FPU_VFPV3D16 is not set @@ -109,6 +117,7 @@ BR2_cortex_a53=y # BR2_ARM_FPU_VFPV4D16 is not set BR2_ARM_FPU_FP_ARMV8=y BR2_ARM64_PAGE_SIZE_4K=y +# BR2_ARM64_PAGE_SIZE_16K is not set # BR2_ARM64_PAGE_SIZE_64K is not set BR2_ARM64_PAGE_SIZE="4K" BR2_BINFMT_ELF=y @@ -134,23 +143,33 @@ BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" # Kernel Header Options # BR2_KERNEL_HEADERS_AS_KERNEL=y -# BR2_KERNEL_HEADERS_4_9 is not set -# BR2_KERNEL_HEADERS_4_14 is not set -# BR2_KERNEL_HEADERS_4_19 is not set # BR2_KERNEL_HEADERS_5_4 is not set # BR2_KERNEL_HEADERS_5_10 is not set # BR2_KERNEL_HEADERS_5_15 is not set -# BR2_KERNEL_HEADERS_5_19 is not set -# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_6_1 is not set +# BR2_KERNEL_HEADERS_6_6 is not set +# BR2_KERNEL_HEADERS_6_12 is not set # BR2_KERNEL_HEADERS_VERSION is not set # BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set # BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_18 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16 is not set -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 is not set @@ -227,26 +246,26 @@ BR2_PACKAGE_GLIBC=y # Binutils Options # BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_37_X is not set -BR2_BINUTILS_VERSION_2_38_X=y -# BR2_BINUTILS_VERSION_2_39_X is not set -BR2_BINUTILS_VERSION="2.38" +# BR2_BINUTILS_VERSION_2_42_X is not set +BR2_BINUTILS_VERSION_2_43_X=y +# BR2_BINUTILS_VERSION_2_44_X is not set +BR2_BINUTILS_VERSION="2.43.1" +# BR2_BINUTILS_GPROFNG is not set BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" # # GCC Options # -# BR2_GCC_VERSION_10_X is not set -BR2_GCC_VERSION_11_X=y # BR2_GCC_VERSION_12_X is not set -BR2_GCC_SUPPORTS_DLANG=y -BR2_GCC_VERSION="11.3.0" +BR2_GCC_VERSION_13_X=y +# BR2_GCC_VERSION_14_X is not set +BR2_GCC_VERSION="13.3.0" BR2_EXTRA_GCC_CONFIG_OPTIONS="" # BR2_TOOLCHAIN_BUILDROOT_CXX is not set # BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set -# BR2_TOOLCHAIN_BUILDROOT_DLANG is not set # BR2_GCC_ENABLE_OPENMP is not set # BR2_GCC_ENABLE_GRAPHITE is not set +BR2_PACKAGE_GCC_FINAL=y BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y # @@ -330,7 +349,25 @@ BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.15" +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12=y +BR2_TOOLCHAIN_HEADERS_LATEST=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="6.12" BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y @@ -345,7 +382,9 @@ BR2_TOOLCHAIN_GCC_AT_LEAST_8=y BR2_TOOLCHAIN_GCC_AT_LEAST_9=y BR2_TOOLCHAIN_GCC_AT_LEAST_10=y BR2_TOOLCHAIN_GCC_AT_LEAST_11=y -BR2_TOOLCHAIN_GCC_AT_LEAST="11" +BR2_TOOLCHAIN_GCC_AT_LEAST_12=y +BR2_TOOLCHAIN_GCC_AT_LEAST_13=y +BR2_TOOLCHAIN_GCC_AT_LEAST="13" BR2_TOOLCHAIN_HAS_MNAN_OPTION=y BR2_TOOLCHAIN_HAS_SYNC_1=y BR2_TOOLCHAIN_HAS_SYNC_2=y @@ -354,6 +393,11 @@ BR2_TOOLCHAIN_HAS_SYNC_8=y BR2_TOOLCHAIN_HAS_LIBATOMIC=y BR2_TOOLCHAIN_HAS_ATOMIC=y +# +# Bare metal toolchain +# +# BR2_TOOLCHAIN_BARE_METAL_BUILDROOT is not set + # # Build options # @@ -361,21 +405,23 @@ BR2_TOOLCHAIN_HAS_ATOMIC=y # # Commands # -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" +BR2_CURL="curl -q --ftp-pasv --retry 3 --connect-timeout 10" +BR2_WGET="wget -nd -t 3 --connect-timeout=10" +BR2_SVN="svn --non-interactive --config-option servers:global:http-timeout=10" BR2_BZR="bzr" BR2_GIT="git" BR2_CVS="cvs" BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_SFTP="sftp" +BR2_SCP="scp -o ConnectTimeout=10" +BR2_SFTP="sftp -o ConnectTimeout=10" BR2_HG="hg" BR2_ZCAT="gzip -d -c" BR2_BZCAT="bzcat" BR2_XZCAT="xzcat" BR2_LZCAT="lzip -d -c" +BR2_ZSTDCAT="zstdcat" BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch64/buildroot-2022.11.1/configs/qemu_aarch64_virt_defconfig" +BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch64/buildroot-2025.02.4/configs/qemu_aarch64_virt_defconfig" BR2_DL_DIR="$(TOPDIR)/dl" BR2_HOST_DIR="$(BASE_DIR)/host" @@ -383,9 +429,9 @@ BR2_HOST_DIR="$(BASE_DIR)/host" # Mirrors and Download locations # BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_BACKUP_SITE="https://sources.buildroot.net" BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_GNU_MIRROR="https://ftpmirror.gnu.org" BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" BR2_CPAN_MIRROR="https://cpan.metacpan.org" BR2_JLEVEL=0 @@ -397,10 +443,10 @@ BR2_STRIP_EXCLUDE_FILES="" BR2_STRIP_EXCLUDE_DIRS="" # BR2_OPTIMIZE_0 is not set # BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set +BR2_OPTIMIZE_2=y # BR2_OPTIMIZE_3 is not set # BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_S is not set # BR2_OPTIMIZE_FAST is not set # BR2_ENABLE_LTO is not set @@ -410,13 +456,13 @@ BR2_OPTIMIZE_S=y BR2_SHARED_LIBS=y # BR2_SHARED_STATIC_LIBS is not set BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="" +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" # # Advanced # -BR2_COMPILER_PARANOID_UNSAFE_PATH=y # BR2_FORCE_HOST_BUILD is not set +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y # BR2_REPRODUCIBLE is not set # BR2_PER_PACKAGE_DIRECTORIES is not set @@ -437,6 +483,7 @@ BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y # BR2_FORTIFY_SOURCE_NONE is not set BR2_FORTIFY_SOURCE_1=y # BR2_FORTIFY_SOURCE_2 is not set +# BR2_FORTIFY_SOURCE_3 is not set # # System configuration @@ -448,10 +495,20 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot" BR2_TARGET_GENERIC_PASSWD_SHA256=y # BR2_TARGET_GENERIC_PASSWD_SHA512 is not set BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" + +# +# General purpose +# BR2_INIT_BUSYBOX=y # BR2_INIT_SYSV is not set # BR2_INIT_OPENRC is not set # BR2_INIT_SYSTEMD is not set + +# +# Special purpose (read help) +# +# BR2_INIT_TINI is not set +# BR2_INIT_TINYINIT is not set # BR2_INIT_NONE is not set # BR2_ROOTFS_DEVICE_CREATION_STATIC is not set BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y @@ -488,12 +545,12 @@ BR2_GENERATE_LOCALE="" # BR2_SYSTEM_ENABLE_NLS is not set # BR2_TARGET_TZ_INFO is not set BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="" BR2_ROOTFS_PRE_BUILD_SCRIPT="" -BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BAO_DEMOS_BUILDROOT_POST_BUILD_SCRIPT)" BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="" # # Kernel @@ -507,8 +564,8 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set # BR2_LINUX_KERNEL_CUSTOM_HG is not set # BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" -BR2_LINUX_KERNEL_VERSION="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_VERSION="6.12.27" BR2_LINUX_KERNEL_PATCH="" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set # BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set @@ -531,6 +588,7 @@ BR2_LINUX_KERNEL_GZIP=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set # BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 is not set # # Linux Kernel Extensions @@ -546,12 +604,15 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set # BR2_PACKAGE_LINUX_TOOLS_GPIO is not set # BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_MM is not set # BR2_PACKAGE_LINUX_TOOLS_PCI is not set # BR2_PACKAGE_LINUX_TOOLS_PERF is not set +# BR2_PACKAGE_LINUX_TOOLS_RTLA is not set # # selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14 # +# BR2_PACKAGE_LINUX_TOOLS_USBTOOLS is not set # BR2_PACKAGE_LINUX_TOOLS_TMON is not set # @@ -606,7 +667,7 @@ BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 +# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x, host gcc >= 9.x # # @@ -618,7 +679,6 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # # BR2_PACKAGE_LAME is not set # BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set # BR2_PACKAGE_MINIMODEM is not set # @@ -641,7 +701,7 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # BR2_PACKAGE_MPG123 is not set # -# mpv needs a toolchain w/ C++, threads, gcc >= 4.9 +# mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9 # # BR2_PACKAGE_MULTICAT is not set # BR2_PACKAGE_MUSEPACK is not set @@ -654,12 +714,9 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PULSEAUDIO is not set # BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SPEECHD is not set # BR2_PACKAGE_SQUEEZELITE is not set # BR2_PACKAGE_TINYCOMPRESS is not set - -# -# tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9 -# # BR2_PACKAGE_TSTOOLS is not set # BR2_PACKAGE_TWOLAME is not set # BR2_PACKAGE_UDPXY is not set @@ -707,7 +764,7 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PIXZ is not set # -# unrar needs a toolchain w/ C++, wchar, threads +# unrar needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 # # BR2_PACKAGE_XZ is not set # BR2_PACKAGE_ZIP is not set @@ -717,6 +774,10 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # Debugging, profiling and benchmark # # BR2_PACKAGE_BABELTRACE2 is not set + +# +# bcc needs a glibc toolchain, C++, wchar, threads, dynamic libs, gcc >= 7, host gcc >= 7 +# # BR2_PACKAGE_BLKTRACE is not set # @@ -724,6 +785,11 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS=y # BR2_PACKAGE_BPFTOOL is not set +BR2_PACKAGE_BPFTRACE_ARCH_SUPPORTS=y + +# +# bpftrace needs a glibc toolchain w/ C++, gcc >= 7, host gcc >= 7, kernel headers >= 4.13 +# # BR2_PACKAGE_CACHE_CALIBRATOR is not set # @@ -762,14 +828,16 @@ BR2_PACKAGE_GDB_ARCH_SUPPORTS=y BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y # -# google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8 +# google-breakpad requires a glibc toolchain w/ wchar, threads, C++, gcc >= 7 # # BR2_PACKAGE_HYPERFINE is not set # BR2_PACKAGE_IOZONE is not set +BR2_PACKAGE_KEXEC_ARCH_SUPPORTS=y # BR2_PACKAGE_KEXEC is not set # BR2_PACKAGE_KMEMD is not set -# BR2_PACKAGE_LATENCYTOP is not set # BR2_PACKAGE_LIBBPF is not set +# BR2_PACKAGE_LIBTRACEEVENT is not set +# BR2_PACKAGE_LIBTRACEFS is not set # BR2_PACKAGE_LMBENCH is not set BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y # BR2_PACKAGE_LTP_TESTSUITE is not set @@ -777,11 +845,18 @@ BR2_PACKAGE_LTRACE_ARCH_SUPPORTS=y # BR2_PACKAGE_LTRACE is not set # BR2_PACKAGE_LTTNG_BABELTRACE is not set # BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set + +# +# lttng-tools needs a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_MBPOLL is not set # BR2_PACKAGE_MBW is not set # BR2_PACKAGE_MEMSTAT is not set # BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set + +# +# netsniff-ng needs a toolchain w/ NPTL, C++, headers >= 3.0 +# # BR2_PACKAGE_NMON is not set BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y @@ -789,22 +864,27 @@ BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y # oprofile needs a toolchain w/ C++, wchar # # BR2_PACKAGE_PAX_UTILS is not set +BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERFTEST is not set + +# +# piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9 +# BR2_PACKAGE_PLY_ARCH_SUPPORTS=y # BR2_PACKAGE_PLY is not set # BR2_PACKAGE_POKE is not set BR2_PACKAGE_PTM2HUMAN_ARCH_SUPPORTS=y # BR2_PACKAGE_PTM2HUMAN is not set # BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RAMSMP is not set # BR2_PACKAGE_RAMSPEED is not set # BR2_PACKAGE_RT_TESTS is not set # -# rwmem needs a toolchain w/ C++, wchar, gcc >= 5 +# rwmem needs a toolchain w/ C++, wchar, gcc >= 10 # # -# sentry-native needs a glibc toolchain with w/ wchar, thread, C++, gcc >= 4.8 +# sentry-native needs a glibc toolchain with w/ wchar, threads, C++, gcc >= 7 # # @@ -816,12 +896,19 @@ BR2_PACKAGE_PTM2HUMAN_ARCH_SUPPORTS=y # BR2_PACKAGE_STRESS_NG is not set # -# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 5, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# + +# +# sysprof needs a toolchain w/ dynamic library, wchar, threads, C++, gcc >= 7, headers >= 5.12 +# + +# +# tbtools needs udev /dev management w/ glibc toolchain # # BR2_PACKAGE_TCF_AGENT is not set BR2_PACKAGE_TCF_AGENT_ARCH="a64" BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS=y -# BR2_PACKAGE_TINYMEMBENCH is not set # BR2_PACKAGE_TRACE_CMD is not set BR2_PACKAGE_TRINITY_ARCH_SUPPORTS=y # BR2_PACKAGE_TRINITY is not set @@ -839,12 +926,11 @@ BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS=y # BR2_PACKAGE_AVOCADO is not set # BR2_PACKAGE_BINUTILS is not set # BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set # BR2_PACKAGE_CHECK is not set BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y # -# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL +# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL # # @@ -857,6 +943,7 @@ BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y # # cxxtest needs a toolchain w/ C++ support # +# BR2_PACKAGE_FD is not set # BR2_PACKAGE_FLEX is not set # BR2_PACKAGE_GETTEXT is not set BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" @@ -877,7 +964,9 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_PKGCONF is not set # BR2_PACKAGE_RIPGREP is not set # BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TIG is not set # BR2_PACKAGE_TREE is not set +# BR2_PACKAGE_UNIFDEF is not set # # Filesystem and flash utilities @@ -885,6 +974,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_ABOOTIMG is not set # BR2_PACKAGE_AUFS_UTIL is not set # BR2_PACKAGE_AUTOFS is not set + +# +# bmap-writer needs a toolchain w/ C++, wchar +# # BR2_PACKAGE_BTRFS_PROGS is not set # BR2_PACKAGE_CIFS_UTILS is not set # BR2_PACKAGE_CPIO is not set @@ -908,7 +1001,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_FWUP is not set # BR2_PACKAGE_GENEXT2FS is not set # BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set # BR2_PACKAGE_GOCRYPTFS is not set # BR2_PACKAGE_IMX_USB_LOADER is not set # BR2_PACKAGE_MMC_UTILS is not set @@ -922,7 +1014,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_SSHFS is not set # BR2_PACKAGE_UDFTOOLS is not set # BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set + +# +# xfsprogs needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_ZEROFREE is not set # @@ -937,7 +1032,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # Cursors # # BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set # # Fonts @@ -954,7 +1048,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # Icons # -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set # BR2_PACKAGE_HICOLOR_ICON_THEME is not set # @@ -976,7 +1069,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # flare-engine needs a toolchain w/ C++, dynamic library # -# BR2_PACKAGE_FROTZ is not set # # gnuchess needs a toolchain w/ C++, threads @@ -1009,12 +1101,33 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support +# cage needs udev, EGL and OpenGL ES support # # # cog needs wpewebkit and a toolchain w/ threads # + +# +# dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 +# + +# +# flutter packages need flutter-engine +# + +# +# flutter-pi needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5 +# + +# +# flutter-pi needs an OpenGL or OpenGLES backend +# + +# +# flutter-pi needs GBM, systemd, and udev +# +# BR2_PACKAGE_FOOT is not set # BR2_PACKAGE_FSWEBCAM is not set # BR2_PACKAGE_GHOSTSCRIPT is not set @@ -1026,48 +1139,60 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # glslsandbox-player needs openGL ES and EGL driver # # BR2_PACKAGE_GNUPLOT is not set -# BR2_PACKAGE_JHEAD is not set # -# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support +# igt-gpu-tools needs udev /dev management and toolchain w/ NPTL, wchar, dynamic library, locale, headers >= 4.11 # # -# libva-utils needs a toolchain w/ C++, threads, dynamic library +# ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 8, dynamic library, host gcc >= 5 # -BR2_PACKAGE_MIDORI_ARCH_SUPPORTS=y # -# midori needs a glibc toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 8 +# ivi-homescreen needs an OpenGL or OpenGLES backend +# +# BR2_PACKAGE_JHEAD is not set + +# +# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support # # -# midori needs libgtk3 w/ X11 or wayland backend +# libva-utils needs a toolchain w/ C++, threads, dynamic library # BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_NETSURF is not set # BR2_PACKAGE_PNGQUANT is not set # BR2_PACKAGE_RRDTOOL is not set +# +# spirv-tools needs a toolchain w/ C++, dynamic library, gcc >= 8 +# + # # stellarium needs Qt5 and an OpenGL provider # # -# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 7, dynamic library, wchar +# sway needs systemd, udev, EGL and OpenGL ES support # -# BR2_PACKAGE_TINIFIER is not set # -# Graphic libraries +# sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 # +# BR2_PACKAGE_SWAYBG is not set # -# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 +# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 8, dynamic library, wchar # +# BR2_PACKAGE_TINIFIER is not set # -# directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library +# Graphic libraries +# + +# +# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 # # @@ -1088,10 +1213,9 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_GRAPHICSMAGICK is not set # BR2_PACKAGE_IMAGEMAGICK is not set # BR2_PACKAGE_LIBGLVND is not set -# BR2_PACKAGE_LINUX_FUSION is not set # -# mesa3d needs a toolchain w/ C++, NPTL, dynamic library +# mesa3d needs a toolchain w/ gcc >=8, C++, NPTL, dynamic library # # @@ -1104,8 +1228,20 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_PSPLASH is not set # BR2_PACKAGE_SDL is not set # BR2_PACKAGE_SDL2 is not set + +# +# spirv-headers needs a toolchain w/ C++ +# # BR2_PACKAGE_VULKAN_HEADERS is not set +# +# vulkan-loader needs a toolchain w/ C++, dynamic library, threads +# + +# +# vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9 +# + # # Other GUIs # @@ -1142,7 +1278,7 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # # -# vte needs an OpenGL or an OpenGL-EGL/wayland backend +# vte needs an OpenGL or an OpenGL-EGL backend # # BR2_PACKAGE_XKEYBOARD_CONFIG is not set @@ -1158,8 +1294,11 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI is not set # BR2_PACKAGE_LINUX_FIRMWARE is not set # BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_NXP_BT_WIFI_FIRMWARE is not set # BR2_PACKAGE_ODROIDC2_FIRMWARE is not set +# BR2_PACKAGE_PANEL_MIPI_DBI_FIRMWARE is not set # BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set +# BR2_PACKAGE_QORIQ_FM_UCODE is not set # BR2_PACKAGE_RCW_SMARC_SAL28 is not set # BR2_PACKAGE_RPI_FIRMWARE is not set # BR2_PACKAGE_UX500_FIRMWARE is not set @@ -1185,6 +1324,7 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y # # bcache-tools needs udev /dev management # +# BR2_PACKAGE_BFSCRIPTS is not set # # brickd needs udev /dev management, a toolchain w/ threads, wchar @@ -1211,6 +1351,7 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y # # dbus-cxx needs a toolchain w/ C++, threads, gcc >= 7 and dynamic library support # +# BR2_PACKAGE_DFU_PROGRAMMER is not set # BR2_PACKAGE_DFU_UTIL is not set # BR2_PACKAGE_DMIDECODE is not set # BR2_PACKAGE_DMRAID is not set @@ -1221,22 +1362,31 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y # BR2_PACKAGE_DTBOCFG is not set # BR2_PACKAGE_DTV_SCAN_TABLES is not set # BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set # BR2_PACKAGE_DVBSNOOP is not set +# +# edid-decode needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_ESP_HOSTED is not set + +# +# espflash needs udev /dev management +# + # # eudev needs eudev /dev management # # BR2_PACKAGE_EVEMU is not set # BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_FLASHROM is not set # BR2_PACKAGE_FMTOOLS is not set # BR2_PACKAGE_FREEIPMI is not set # BR2_PACKAGE_FREESCALE_IMX is not set +# BR2_PACKAGE_FWUPD is not set +# BR2_PACKAGE_FWUPD_EFI is not set # BR2_PACKAGE_FXLOAD is not set +# BR2_PACKAGE_GCNANO_BINARIES is not set # BR2_PACKAGE_GPM is not set # BR2_PACKAGE_GPSD is not set @@ -1244,14 +1394,20 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # gptfdisk needs a toolchain w/ C++ # # BR2_PACKAGE_GVFS is not set +# BR2_PACKAGE_HDDTEMP is not set # BR2_PACKAGE_HWDATA is not set # BR2_PACKAGE_HWLOC is not set # BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOTOOLS is not set # BR2_PACKAGE_IPMITOOL is not set # BR2_PACKAGE_IRDA_UTILS is not set # BR2_PACKAGE_KBD is not set # BR2_PACKAGE_LCDPROC is not set +# +# ledmon needs udev and a toolchain w/ threads +# + # # libiec61850 needs a toolchain w/ C++, threads, dynamic library # @@ -1281,11 +1437,15 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_MDIO_TOOLS is not set # BR2_PACKAGE_MEMTESTER is not set # BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MHZ is not set # BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_MXT_APP is not set # BR2_PACKAGE_NANOCOM is not set # BR2_PACKAGE_NEARD is not set # BR2_PACKAGE_NVIDIA_MODPROBE is not set +# BR2_PACKAGE_NVIDIA_PERSISTENCED is not set # BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_NXP_MWIFIEX is not set # BR2_PACKAGE_OFONO is not set # @@ -1301,18 +1461,31 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_PARTED is not set # BR2_PACKAGE_PCIUTILS is not set # BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set +BR2_PACKAGE_PICOCOM=y # BR2_PACKAGE_PIGPIO is not set # # powertop needs a toolchain w/ C++, threads, wchar # # BR2_PACKAGE_PPS_TOOLS is not set + +# +# pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5 +# # BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE is not set # BR2_PACKAGE_RASPI_GPIO is not set +# BR2_PACKAGE_RDMA_CORE is not set # BR2_PACKAGE_READ_EDID is not set # BR2_PACKAGE_RNG_TOOLS is not set -# BR2_PACKAGE_ROCKCHIP_MALI is not set + +# +# rockchip-mali needs a glibc toolchain w/ C++, threads +# +# BR2_PACKAGE_ROCKCHIP_RKBIN is not set + +# +# rpi-userland needs a toolchain w/ C++, threads, dynamic library +# # BR2_PACKAGE_RS485CONF is not set # BR2_PACKAGE_RTC_TOOLS is not set # BR2_PACKAGE_RTL8188EU is not set @@ -1321,8 +1494,11 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_RTL8192EU is not set # BR2_PACKAGE_RTL8723BU is not set # BR2_PACKAGE_RTL8723DS is not set +# BR2_PACKAGE_RTL8723DS_BT is not set # BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set # BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_RTL8821CU is not set +# BR2_PACKAGE_RTL8822CS is not set # BR2_PACKAGE_SANE_BACKENDS is not set # BR2_PACKAGE_SDPARM is not set BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y @@ -1345,21 +1521,21 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # BR2_PACKAGE_STM32FLASH is not set # BR2_PACKAGE_SUNXI_MALI_UTGARD is not set # BR2_PACKAGE_SYSSTAT is not set +# BR2_PACKAGE_TI_UIM is not set +# BR2_PACKAGE_TI_UTILS is not set # -# targetcli-fb depends on Python +# tio needs lua (but not luajit) # -# BR2_PACKAGE_TI_UIM is not set -# BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set # BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_BOOTCOUNT is not set # BR2_PACKAGE_UBOOT_TOOLS is not set # BR2_PACKAGE_UBUS is not set -# BR2_PACKAGE_UCCP420WLAN is not set # # udisks needs udev /dev management # +# BR2_PACKAGE_UEFISETTINGS is not set # BR2_PACKAGE_UHUBCTL is not set # BR2_PACKAGE_UMTPRD is not set @@ -1373,6 +1549,10 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # +# +# usbip needs udev /dev management +# + # # usbmount requires udev to be enabled # @@ -1380,7 +1560,6 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # # usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 # -# BR2_PACKAGE_W_SCAN is not set # BR2_PACKAGE_WILC_DRIVER is not set # BR2_PACKAGE_WIPE is not set # BR2_PACKAGE_XORRISO is not set @@ -1390,6 +1569,7 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y # Interpreter languages and scripting # # BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_CHICKEN is not set # BR2_PACKAGE_ENSCRIPT is not set BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y @@ -1407,11 +1587,17 @@ BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y # BR2_PACKAGE_MICROPYTHON is not set # BR2_PACKAGE_MOARVM is not set BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y +BR2_PACKAGE_MONO_ARCH_SUPPORTS=y + +# +# mono needs a toolchain w/ C++, NPTL, dynamic library +# BR2_PACKAGE_NODEJS_ARCH_SUPPORTS=y # -# nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8 +# nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 10, wchar, host gcc >= 10 # +BR2_PACKAGE_PROVIDES_NODEJS="nodejs-src" # # octave needs a toolchain w/ C++ and fortran, gcc >= 4.8 @@ -1432,6 +1618,8 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # BR2_PACKAGE_PYTHON3 is not set # BR2_PACKAGE_QUICKJS is not set # BR2_PACKAGE_RUBY is not set +BR2_PACKAGE_SWIPL_ARCH_SUPPORTS=y +# BR2_PACKAGE_SWIPL is not set # BR2_PACKAGE_TCL is not set # @@ -1457,12 +1645,14 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # # fdk-aac needs a toolchain w/ C++ # -# BR2_PACKAGE_LIBAO is not set +BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS=y # -# asplib needs a toolchain w/ C++ +# gtkiostream needs a toolchain w/ C++, threads # +# BR2_PACKAGE_LIBAO is not set # BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCANBERRA is not set # BR2_PACKAGE_LIBCDAUDIO is not set # BR2_PACKAGE_LIBCDDB is not set # BR2_PACKAGE_LIBCDIO is not set @@ -1470,7 +1660,6 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCODEC2 is not set # BR2_PACKAGE_LIBCUE is not set # BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set # BR2_PACKAGE_LIBG7221 is not set # BR2_PACKAGE_LIBGSM is not set # BR2_PACKAGE_LIBID3TAG is not set @@ -1481,8 +1670,11 @@ BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y # # libmodplug needs a toolchain w/ C++ # -# BR2_PACKAGE_LIBMPD is not set # BR2_PACKAGE_LIBMPDCLIENT is not set + +# +# libopenmpt needs a toolchain w/ threads, C++, gcc >= 7 +# # BR2_PACKAGE_LIBREPLAYGAIN is not set # BR2_PACKAGE_LIBSAMPLERATE is not set @@ -1515,6 +1707,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPUS is not set # BR2_PACKAGE_OPUSFILE is not set # BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_RNNOISE is not set # BR2_PACKAGE_SBC is not set # BR2_PACKAGE_SPANDSP is not set # BR2_PACKAGE_SPEEX is not set @@ -1530,7 +1723,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y # -# webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8 +# webrtc-audio-processing needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 8 # # @@ -1538,6 +1731,7 @@ BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBARCHIVE is not set # BR2_PACKAGE_LIBDEFLATE is not set +# BR2_PACKAGE_LIBJCAT is not set # BR2_PACKAGE_LIBMSPACK is not set # @@ -1563,14 +1757,13 @@ BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" # Crypto # # BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y # -# botan needs a toolchain w/ C++, threads, gcc >= 4.8 +# botan needs a toolchain w/ threads, C++, gcc >= 11 # # BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set +# BR2_PACKAGE_CRYPTODEV_LINUX is not set # # cryptopp needs a toolchain w/ C++, dynamic library, wchar @@ -1599,6 +1792,9 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="aarch64-unknown-linux-gnu" # BR2_PACKAGE_LIBSECRET is not set # BR2_PACKAGE_LIBSHA1 is not set # BR2_PACKAGE_LIBSODIUM is not set +BR2_PACKAGE_LIBSPDM_CPU_FAMILY="aarch64" +BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBSPDM is not set # BR2_PACKAGE_LIBSSH is not set # BR2_PACKAGE_LIBSSH2 is not set # BR2_PACKAGE_LIBTOMCRYPT is not set @@ -1606,15 +1802,21 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="aarch64-unknown-linux-gnu" # BR2_PACKAGE_LIBXCRYPT is not set # BR2_PACKAGE_MBEDTLS is not set # BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OATH_TOOLKIT is not set +BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENSSL is not set BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" +# BR2_PACKAGE_PARSEC is not set +# BR2_PACKAGE_PARSEC_TOOL is not set # BR2_PACKAGE_PKCS11_HELPER is not set # BR2_PACKAGE_RHASH is not set # BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_OPENSSL is not set # BR2_PACKAGE_TPM2_PKCS11 is not set # BR2_PACKAGE_TPM2_TSS is not set # BR2_PACKAGE_TROUSERS is not set # BR2_PACKAGE_USTREAM_SSL is not set +BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS=y # BR2_PACKAGE_WOLFSSL is not set # BR2_PACKAGE_WOLFTPM is not set @@ -1640,17 +1842,17 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # libodb needs a toolchain w/ C++, threads # -BR2_PACKAGE_MONGODB_ARCH_SUPPORTS=y +# BR2_PACKAGE_LMDB is not set # -# mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 7 +# mariadb needs a toolchain w/ dynamic library, C++, threads, wchar # +# BR2_PACKAGE_POSTGRESQL is not set +# BR2_PACKAGE_REDIS is not set # -# mysql needs a toolchain w/ C++, threads +# redis-plus-plus needs a toolchain w/ C++, threads # -# BR2_PACKAGE_POSTGRESQL is not set -# BR2_PACKAGE_REDIS is not set BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y # @@ -1658,12 +1860,15 @@ BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y # # BR2_PACKAGE_SQLCIPHER is not set # BR2_PACKAGE_SQLITE is not set + +# +# sqlitecpp needs a toolchain w/ C++11, gcc >= 4.9 +# # BR2_PACKAGE_UNIXODBC is not set # # Filesystem # -# BR2_PACKAGE_GAMIN is not set # BR2_PACKAGE_LIBCONFIG is not set # BR2_PACKAGE_LIBCONFUSE is not set # BR2_PACKAGE_LIBFUSE is not set @@ -1682,20 +1887,16 @@ BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y # # -# assimp needs a toolchain w/ C++, wchar +# assimp needs a toolchain w/ C++, wchar, gcc >= 7 # +# BR2_PACKAGE_AT_SPI2_CORE is not set # -# at-spi2-atk depends on X.org +# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library # # -# at-spi2-core depends on X.org -# -# BR2_PACKAGE_ATK is not set - -# -# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y @@ -1712,6 +1913,10 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# cairomm (1.14.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # chipmunk needs an OpenGL backend # @@ -1723,6 +1928,15 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # # exiv2 needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads # +BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS=y + +# +# flutter-engine needs an OpenGL or OpenGLES backend +# + +# +# flutter-engine needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5 +# # BR2_PACKAGE_FONTCONFIG is not set # BR2_PACKAGE_FREETYPE is not set # BR2_PACKAGE_GD is not set @@ -1732,13 +1946,14 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # # granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9 # +# BR2_PACKAGE_GRAPHENE is not set # # graphite2 needs a toolchain w/ C++ # # -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 7 +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # # @@ -1748,7 +1963,7 @@ BR2_PACKAGE_BAYER2RGB_NEON_ARCH_SUPPORTS=y # BR2_PACKAGE_IMLIB2 is not set # -# intel-gmmlib needs a toolchain w/ dynamic library, C++ +# intel-gmmlib needs a toolchain w/ dynamic library, C++, threads # # @@ -1769,6 +1984,11 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # BR2_PACKAGE_LEPTONICA is not set # BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBAVIF is not set + +# +# libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# # BR2_PACKAGE_LIBDMTX is not set # BR2_PACKAGE_LIBDRM is not set @@ -1791,7 +2011,7 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # -# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # # @@ -1812,7 +2032,19 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend +# libgtk3 needs an OpenGL or an OpenGL-EGL backend +# + +# +# libgtk4 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# libgtk4 needs an OpenGL(ES) EGL backend +# + +# +# libjxl needs a toolchain with C++, threads, gcc >= 7, dynamic library # # BR2_PACKAGE_LIBMEDIAART is not set # BR2_PACKAGE_LIBMNG is not set @@ -1834,6 +2066,11 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # libvips needs a toolchain w/ wchar, threads, C++ # +BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS=y + +# +# libvpl needs a toolchain w/ dynamic library, gcc >= 7, C++, threads +# # # libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend @@ -1856,22 +2093,27 @@ BR2_PACKAGE_JPEG_SIMD_SUPPORT=y # # pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # + +# +# pangomm (2.46.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# # BR2_PACKAGE_PIXMAN is not set # # poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 7 # +# BR2_PACKAGE_STB is not set # BR2_PACKAGE_TIFF is not set # BR2_PACKAGE_WAYLAND is not set BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # -# webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9 # # BR2_PACKAGE_WEBP is not set # -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support +# wlroots needs udev, EGL and OpenGL ES support # # @@ -1879,12 +2121,12 @@ BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # # -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and EGL support # BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # -# wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# wpewebkit needs a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9 # # @@ -1896,7 +2138,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# zxing-cpp needs a toolchain w/ C++, dynamic library +# zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads # # @@ -1905,13 +2147,15 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_ACSCCID is not set # BR2_PACKAGE_C_PERIPHERY is not set # BR2_PACKAGE_CCID is not set +BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS=y +# BR2_PACKAGE_CPUINFO is not set # BR2_PACKAGE_DTC is not set BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # BR2_PACKAGE_GNU_EFI is not set # BR2_PACKAGE_HACKRF is not set # -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 +# hidapi needs udev /dev management and a toolchain w/ NPTL, gcc >= 4.9 # # BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set @@ -1929,22 +2173,23 @@ BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # # -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library +# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale # # # libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7 # +# BR2_PACKAGE_LIBDISPLAY_INFO is not set # BR2_PACKAGE_LIBFREEFARE is not set # BR2_PACKAGE_LIBFTDI is not set # BR2_PACKAGE_LIBFTDI1 is not set # BR2_PACKAGE_LIBGPHOTO2 is not set # BR2_PACKAGE_LIBGPIOD is not set +# BR2_PACKAGE_LIBGPIOD2 is not set # # libgudev needs udev /dev handling and a toolchain w/ wchar, threads # -# BR2_PACKAGE_LIBHID is not set # BR2_PACKAGE_LIBIIO is not set # @@ -1954,6 +2199,7 @@ BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBLLCP is not set # BR2_PACKAGE_LIBMBIM is not set # BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBNVME is not set # BR2_PACKAGE_LIBPCIACCESS is not set # BR2_PACKAGE_LIBPHIDGET is not set # BR2_PACKAGE_LIBPRI is not set @@ -1983,9 +2229,15 @@ BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # BR2_PACKAGE_NE10 is not set # BR2_PACKAGE_NEARDAL is not set +BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS=y + +# +# opencsd needs a toolchain w/ C++11, gcc >= 4.8, dynamic library +# # BR2_PACKAGE_OPENSC is not set # BR2_PACKAGE_OWFS is not set # BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_PICO_SDK is not set # # rpi-rgb-led-matrix needs a toolchain w/ C++, threads, dynamic library @@ -1993,7 +2245,7 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # BR2_PACKAGE_TSLIB is not set # -# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library +# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 7 # # @@ -2003,7 +2255,6 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # # Javascript # -# BR2_PACKAGE_ANGULARJS is not set # BR2_PACKAGE_BOOTSTRAP is not set # BR2_PACKAGE_CHARTJS is not set # BR2_PACKAGE_DATATABLES is not set @@ -2016,7 +2267,6 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # BR2_PACKAGE_JSON_JAVASCRIPT is not set # BR2_PACKAGE_JSZIP is not set # BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set # BR2_PACKAGE_VIS_NETWORK is not set # BR2_PACKAGE_VUEJS is not set @@ -2048,9 +2298,11 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # # libjson needs a toolchain w/ C++ # +# BR2_PACKAGE_LIBJWT is not set # BR2_PACKAGE_LIBROXML is not set # BR2_PACKAGE_LIBUCL is not set # BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLB is not set # # libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7 @@ -2102,7 +2354,7 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # # -# glog needs a toolchain w/ C++ +# glog needs a toolchain w/ C++, threads, gcc >= 6 # # @@ -2120,7 +2372,7 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y # # -# log4cxx needs a toolchain w/ C++, threads, dynamic library +# log4cxx needs a toolchain w/ C++, threads, dynamic library, wchar # # @@ -2167,7 +2419,11 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 +# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, headers >= 5.5 +# + +# +# libde265 needs a toolchain w/ threads, C++ # # BR2_PACKAGE_LIBDVBCSA is not set # BR2_PACKAGE_LIBDVBPSI is not set @@ -2180,12 +2436,16 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBDVDREAD is not set # -# libebml needs a toolchain w/ C++, wchar +# libebml needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBHDHOMERUN is not set # -# libmatroska needs a toolchain w/ C++, wchar +# libheif needs a toolchain w/ C++, gcc >= 4.8 +# + +# +# libmatroska needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBMMS is not set # BR2_PACKAGE_LIBMPEG2 is not set @@ -2239,9 +2499,12 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar # # BR2_PACKAGE_C_ARES is not set -# BR2_PACKAGE_CGIC is not set # BR2_PACKAGE_CNI_PLUGINS is not set +# +# cpp-httplib needs a toolchain w/ C++, wchar, threads +# + # # cppzmq needs a toolchain w/ C++, threads # @@ -2257,19 +2520,21 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_DAQ3 is not set # BR2_PACKAGE_DAVICI is not set # BR2_PACKAGE_DHT is not set +BR2_PACKAGE_DPDK_ARCH_SUPPORTS=y +# BR2_PACKAGE_DPDK is not set # BR2_PACKAGE_ENET is not set # # filemq needs a toolchain w/ C++, threads # -# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_FMLIB is not set # BR2_PACKAGE_FREERADIUS_CLIENT is not set # BR2_PACKAGE_GENSIO is not set # BR2_PACKAGE_GEOIP is not set # BR2_PACKAGE_GLIB_NETWORKING is not set # -# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 5 +# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_GSSDP is not set # BR2_PACKAGE_GUPNP is not set @@ -2303,7 +2568,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBHTTPPARSER is not set # -# libhttpserver needs a toolchain w/ C++, threads, gcc >= 5 +# libhttpserver needs a toolchain w/ C++, threads, gcc >= 7 # # BR2_PACKAGE_LIBIDN is not set # BR2_PACKAGE_LIBIDN2 is not set @@ -2322,7 +2587,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBMODBUS is not set # -# libmodsecurity needs a toolchain w/ C++, threads +# libmodsecurity needs a toolchain w/ C++, threads, dynamic library # # BR2_PACKAGE_LIBNATPMP is not set # BR2_PACKAGE_LIBNDP is not set @@ -2359,6 +2624,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSHOUT is not set # BR2_PACKAGE_LIBSOCKETCAN is not set # BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSOUP3 is not set # BR2_PACKAGE_LIBSRTP is not set # BR2_PACKAGE_LIBSTROPHE is not set # BR2_PACKAGE_LIBTEAM is not set @@ -2374,10 +2640,6 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBUEV is not set # BR2_PACKAGE_LIBUHTTPD is not set - -# -# libuhttpd needs a toolchain w/ gcc >= 4.9 -# # BR2_PACKAGE_LIBUPNP is not set # @@ -2393,8 +2655,12 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBWEBSOCK is not set # BR2_PACKAGE_LIBWEBSOCKETS is not set # BR2_PACKAGE_LIBYANG is not set +BR2_PACKAGE_LIBZENOH_C_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBZENOH_C is not set +# BR2_PACKAGE_LIBZENOH_PICO is not set # BR2_PACKAGE_LKSCTP_TOOLS is not set # BR2_PACKAGE_MBUFFER is not set +# BR2_PACKAGE_MDNSD is not set # BR2_PACKAGE_MONGOOSE is not set # BR2_PACKAGE_NANOMSG is not set # BR2_PACKAGE_NEON is not set @@ -2410,6 +2676,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_NSS_MYHOSTNAME is not set # BR2_PACKAGE_NSS_PAM_LDAPD is not set +# +# oatpp needs a toolchain w/ C++, threads +# + # # omniORB needs a toolchain w/ C++, threads # @@ -2436,7 +2706,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597 +# pistache needs a toolchain w/ C++, gcc >= 7, NPTL, wchar # # BR2_PACKAGE_QDECODER is not set @@ -2461,6 +2731,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # snmp++ needs a toolchain w/ threads, C++, dynamic library # # BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_SSCEP is not set # # sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8 @@ -2472,7 +2743,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # BR2_PACKAGE_USBREDIR is not set # -# wampcc needs a toolchain w/ C++, NPTL, dynamic library +# wampcc needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.9 # # @@ -2496,7 +2767,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8 +# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.9 # # BR2_PACKAGE_APR is not set # BR2_PACKAGE_APR_UTIL is not set @@ -2509,6 +2780,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # atf needs a toolchain w/ C++ # # BR2_PACKAGE_AVRO_C is not set +# BR2_PACKAGE_BASU is not set # # bctoolbox needs a toolchain w/ C++, threads @@ -2531,6 +2803,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 # +# +# catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# + # # cctz needs a toolchain w/ C++, threads, gcc >= 4.8 # @@ -2540,7 +2816,7 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # -# clang needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# clang needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 # # BR2_PACKAGE_CMOCKA is not set @@ -2554,6 +2830,11 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_DING_LIBS is not set +# +# dlib needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_DOTCONF is not set + # # double-conversion needs a toolchain w/ C++ # @@ -2563,20 +2844,31 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # # BR2_PACKAGE_ELFUTILS is not set # BR2_PACKAGE_ELL is not set + +# +# farmhash needs a toolchain w/ C++11 +# +# BR2_PACKAGE_FFT2D is not set # BR2_PACKAGE_FFTW is not set # -# flann needs a toolchain w/ C++, dynamic library +# flann needs a toolchain w/ C++, dynamic library, gcc >= 4.7 # # # flatbuffers needs a toolchain w/ C++, gcc >= 4.7 # # BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_FP16 is not set +# BR2_PACKAGE_FXDIV is not set # BR2_PACKAGE_GCONF is not set # -# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, not binutils bug 27597, threads, wchar +# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, NPTL, wchar +# + +# +# gemmlowp needs a toolchain w/ C++11 # # @@ -2591,6 +2883,10 @@ BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y # glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# glibmm (2.66.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # glm needs a toolchain w/ C++ # @@ -2606,6 +2902,10 @@ BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y # gtest needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # BR2_PACKAGE_GUMBO_PARSER is not set + +# +# highway needs a toolchain w/ C++, gcc >= 7 +# BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y # BR2_PACKAGE_JEMALLOC is not set BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y @@ -2616,7 +2916,7 @@ BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y # -# libabseil-cpp needs a toolchain w/ gcc >= 4.9, C++, threads, dynamic library +# libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library # # BR2_PACKAGE_LIBARGTABLE2 is not set BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y @@ -2631,7 +2931,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCAP_NG is not set # -# libcgroup needs a glibc toolchain w/ C++ +# libcgroup needs a toolchain w/ C++, threads # # BR2_PACKAGE_LIBCLC is not set # BR2_PACKAGE_LIBCORRECT is not set @@ -2641,6 +2941,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBCSV is not set # BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBDEX is not set # BR2_PACKAGE_LIBDILL is not set BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS=y @@ -2663,7 +2964,7 @@ BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBGEE is not set # -# libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597 +# libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads # # BR2_PACKAGE_LIBGLIB2 is not set # BR2_PACKAGE_LIBGLOB is not set @@ -2689,7 +2990,7 @@ BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y # BR2_PACKAGE_LIBNSPR is not set # -# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7 +# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # @@ -2714,8 +3015,13 @@ BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y # # libsigc++ needs a toolchain w/ C++, gcc >= 7 # + +# +# libsigc++ (2.x.x) needs a toolchain w/ C++, gcc >= 4.9 +# BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSOLV is not set # # libspatialindex needs a toolchain w/ C++, gcc >= 4.7 @@ -2729,8 +3035,12 @@ BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBUNWIND is not set BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set + +# +# liburcu needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_LIBURING is not set +# BR2_PACKAGE_LIBUTEMPTER is not set # BR2_PACKAGE_LIBUV is not set # BR2_PACKAGE_LINUX_PAM is not set # BR2_PACKAGE_LIQUID_DSP is not set @@ -2738,9 +3048,12 @@ BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y BR2_PACKAGE_LLVM_TARGET_ARCH="AArch64" # -# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 +# + +# +# lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++ # -# BR2_PACKAGE_LTTNG_LIBUST is not set # BR2_PACKAGE_MATIO is not set # BR2_PACKAGE_MPC is not set # BR2_PACKAGE_MPDECIMAL is not set @@ -2750,6 +3063,7 @@ BR2_PACKAGE_LLVM_TARGET_ARCH="AArch64" # # msgpack needs a toolchain w/ C++ # +# BR2_PACKAGE_NEON_2_SSE is not set BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET="ARMV8" BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENBLAS is not set @@ -2758,30 +3072,38 @@ BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y BR2_PACKAGE_POCO_ARCH_SUPPORTS=y # -# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14 +# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8 # BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # -# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # -# protobuf-c needs a toolchain w/ C++, threads +# protobuf-c needs a toolchain w/ C++, threads, host gcc >= 7 # # -# protozero needs a toolchain w/ C++, gcc >= 4.7 +# protozero needs a toolchain w/ C++, gcc >= 4.7 # +# BR2_PACKAGE_PSIMD is not set +# BR2_PACKAGE_PTHREADPOOL is not set # # qhull needs a toolchain w/ C++, gcc >= 4.4 # # BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_REPROC is not set + +# +# riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 7 +# +BR2_PACKAGE_RUY_ARCH_SUPPORTS=y # -# riemann-c-client needs a toolchain w/ C++, threads +# ruy needs a toolchain w/ C++14, threads # # @@ -2793,8 +3115,18 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tbb needs a glibc or musl toolchain w/ dynamic library, threads, C++ # +BR2_PACKAGE_TENSORFLOW_LITE_ARCH_SUPPORTS=y + +# +# tensorflow-lite needs a toolchain w/ gcc >= 8, C++, threads +# # BR2_PACKAGE_TINYCBOR is not set +# +# tl-expected needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_TLLIST is not set + # # uvw needs a toolchain w/ NPTL, dynamic library, C++, gcc >= 7 # @@ -2807,6 +3139,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # xapian needs a toolchain w/ C++ # +# +# xnnpack needs a toolchain w/ C++14, threads +# + # # Security # @@ -2825,6 +3161,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_AUGEAS is not set +# +# cli11 needs a toolchain w/ C++, gcc >= 4.8 +# + # # docopt-cpp needs a toolchain w/ C++, gcc >= 4.7 # @@ -2832,6 +3172,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # enchant needs a toolchain w/ C++, threads, wchar # +# BR2_PACKAGE_FCFT is not set # # fmt needs a toolchain w/ C++, wchar @@ -2843,10 +3184,12 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_INIH is not set # BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBECOLI is not set # BR2_PACKAGE_LIBEDIT is not set # BR2_PACKAGE_LIBENCA is not set # BR2_PACKAGE_LIBESTR is not set # BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNIBREAK is not set # BR2_PACKAGE_LIBUNISTRING is not set # BR2_PACKAGE_LINENOISE is not set # BR2_PACKAGE_NCURSES is not set @@ -2857,7 +3200,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # BR2_PACKAGE_POPT is not set # -# re2 needs a toolchain w/ C++, threads, gcc >= 4.8 +# re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_READLINE is not set # BR2_PACKAGE_SLANG is not set @@ -2865,8 +3208,16 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tclap needs a toolchain w/ C++ # + +# +# termcolor needs a toolchain w/ C++, gcc >= 4.8 +# # BR2_PACKAGE_UTF8PROC is not set +# +# taglib needs a toolchain w/ C++ +# + # # Mail # @@ -2886,7 +3237,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # -# bitcoin needs a toolchain w/ C++, threads, wchar +# bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 11 # # @@ -2899,15 +3250,16 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library # # BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_FFT_EVAL is not set # BR2_PACKAGE_GITLAB_RUNNER is not set # -# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library +# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 8 # # BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set # -# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 # # @@ -2920,7 +3272,7 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # BR2_PACKAGE_NETDATA is not set # -# proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_QEMU is not set @@ -2930,6 +3282,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # # BR2_PACKAGE_RTL_433 is not set # BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SNOOZE is not set # # sunwait needs a toolchain w/ C++ @@ -2941,9 +3294,10 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # -# xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++ +# xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++, gcc >= 4.9 # # BR2_PACKAGE_XUTIL_UTIL_MACROS is not set +BR2_PACKAGE_Z3_ARCH_SUPPORTS=y # # Networking applications @@ -2982,7 +3336,7 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8 # # BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set +BR2_PACKAGE_BRIDGE_UTILS=y # BR2_PACKAGE_BWM_NG is not set # BR2_PACKAGE_C_ICAP is not set # BR2_PACKAGE_CAN_UTILS is not set @@ -2994,6 +3348,7 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_CFM is not set # BR2_PACKAGE_CHRONY is not set # BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CLOUDFLARED is not set # BR2_PACKAGE_CONNMAN is not set # @@ -3032,14 +3387,22 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_FAIFA is not set # BR2_PACKAGE_FASTD is not set # BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FIREWALLD is not set # BR2_PACKAGE_FLANNEL is not set + +# +# fmc needs a toolchain w/ C++ +# # BR2_PACKAGE_FPING is not set # BR2_PACKAGE_FREERADIUS_SERVER is not set # # freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar # -# BR2_PACKAGE_FRR is not set + +# +# frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7 +# # # gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8 @@ -3060,7 +3423,6 @@ BR2_PACKAGE_XMRIG_ARCH_SUPPORTS=y # BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set # BR2_PACKAGE_HOSTAPD is not set # BR2_PACKAGE_HTPDATE is not set # BR2_PACKAGE_HTTPING is not set @@ -3068,6 +3430,7 @@ BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # # i2pd needs a toolchain w/ C++, NPTL, wchar # +# BR2_PACKAGE_IANA_ASSIGNMENTS is not set # # ibrdtn-tools needs a toolchain w/ C++, threads @@ -3089,11 +3452,15 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # iperf needs a toolchain w/ C++ # # BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set +BR2_PACKAGE_IPROUTE2=y # BR2_PACKAGE_IPSET is not set # BR2_PACKAGE_IPTABLES is not set # BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set +BR2_PACKAGE_IPUTILS=y +BR2_PACKAGE_IPUTILS_ARPING=y +BR2_PACKAGE_IPUTILS_CLOCKDIFF=y +BR2_PACKAGE_IPUTILS_PING=y +BR2_PACKAGE_IPUTILS_TRACEPATH=y # BR2_PACKAGE_IRSSI is not set # BR2_PACKAGE_IW is not set # BR2_PACKAGE_IWD is not set @@ -3101,7 +3468,7 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # BR2_PACKAGE_KEEPALIVED is not set # -# kismet needs a toolchain w/ threads, C++, gcc >= 5 +# kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7 # # BR2_PACKAGE_KNOCK is not set # BR2_PACKAGE_KSMBD_TOOLS is not set @@ -3141,7 +3508,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 4.8 +# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 8 # # BR2_PACKAGE_MOSQUITTO is not set # BR2_PACKAGE_MROUTED is not set @@ -3153,12 +3520,16 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_NDISC6 is not set # BR2_PACKAGE_NETATALK is not set # BR2_PACKAGE_NETCALC is not set + +# +# nethogs needs a toolchain w/ C++ +# # BR2_PACKAGE_NETPLUG is not set # BR2_PACKAGE_NETSNMP is not set # BR2_PACKAGE_NETSTAT_NAT is not set # -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9 +# NetworkManager needs udev /dev management and a glibc or musl toolchain w/ headers >= 4.20, dynamic library, wchar, threads, gcc >= 4.9 # # BR2_PACKAGE_NFACCT is not set # BR2_PACKAGE_NFTABLES is not set @@ -3180,8 +3551,10 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_ODHCP6C is not set # BR2_PACKAGE_ODHCPLOC is not set # BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_ISCSI is not set # BR2_PACKAGE_OPEN_LLDP is not set # BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENCONNECT is not set # BR2_PACKAGE_OPENNTPD is not set # BR2_PACKAGE_OPENOBEX is not set # BR2_PACKAGE_OPENRESOLV is not set @@ -3208,7 +3581,6 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_PTPD2 is not set # BR2_PACKAGE_PURE_FTPD is not set # BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set # BR2_PACKAGE_RADVD is not set # BR2_PACKAGE_REAVER is not set # BR2_PACKAGE_REDIR is not set @@ -3249,7 +3621,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_SPICE_PROTOCOL is not set # -# squid needs a toolchain w/ C++, threads, gcc >= 4.8 not affected by bug 64735 +# squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8 # # BR2_PACKAGE_SSDP_RESPONDER is not set # BR2_PACKAGE_SSHGUARD is not set @@ -3258,6 +3630,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_STRONGSWAN is not set # BR2_PACKAGE_STUNNEL is not set # BR2_PACKAGE_SURICATA is not set +# BR2_PACKAGE_TAILSCALE is not set # BR2_PACKAGE_TCPDUMP is not set # BR2_PACKAGE_TCPING is not set # BR2_PACKAGE_TCPREPLAY is not set @@ -3265,9 +3638,13 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_TINC is not set # BR2_PACKAGE_TINYPROXY is not set # BR2_PACKAGE_TINYSSH is not set +# BR2_PACKAGE_TIPIDEE is not set # BR2_PACKAGE_TOR is not set # BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set + +# +# transmission needs a toolchain w/ dynamic library, threads, C++, gcc >= 7 +# # BR2_PACKAGE_TUNCTL is not set # BR2_PACKAGE_TVHEADEND is not set # BR2_PACKAGE_UACME is not set @@ -3280,6 +3657,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_UREDIR is not set # BR2_PACKAGE_USHARE is not set # BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_USTREAMER is not set # BR2_PACKAGE_VDE2 is not set # @@ -3309,7 +3687,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads +# znc needs a toolchain w/ C++, dynamic library, gcc >= 8, threads # # @@ -3376,7 +3754,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # BR2_PACKAGE_CHECKPOLICY is not set # BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACKAGE_LYNIS is not set # BR2_PACKAGE_OPTEE_CLIENT is not set # BR2_PACKAGE_PAXTEST is not set # BR2_PACKAGE_POLICYCOREUTILS is not set @@ -3398,6 +3776,7 @@ BR2_PACKAGE_URANDOM_SCRIPTS=y # Shells # # BR2_PACKAGE_MKSH is not set +# BR2_PACKAGE_NUSHELL is not set # BR2_PACKAGE_ZSH is not set # @@ -3410,6 +3789,7 @@ BR2_PACKAGE_URANDOM_SCRIPTS=y # BR2_PACKAGE_DIALOG is not set # BR2_PACKAGE_DTACH is not set # BR2_PACKAGE_EASY_RSA is not set +# BR2_PACKAGE_EZA is not set # BR2_PACKAGE_FILE is not set # BR2_PACKAGE_GNUPG is not set BR2_PACKAGE_GNUPG2_DEPENDS=y @@ -3418,12 +3798,15 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # BR2_PACKAGE_LOCKFILE_PROGS is not set # BR2_PACKAGE_LOGROTATE is not set # BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_MINISIGN is not set # BR2_PACKAGE_PDMENU is not set # BR2_PACKAGE_PINENTRY is not set # BR2_PACKAGE_QPRINT is not set # BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_RLWRAP is not set # BR2_PACKAGE_RTTY is not set # BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SEXPECT is not set # BR2_PACKAGE_SUDO is not set # BR2_PACKAGE_TINI is not set # BR2_PACKAGE_TMUX is not set @@ -3432,6 +3815,7 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # BR2_PACKAGE_XMLSTARLET is not set # BR2_PACKAGE_XXHASH is not set # BR2_PACKAGE_YTREE is not set +# BR2_PACKAGE_ZOXIDE is not set # # System tools @@ -3449,9 +3833,15 @@ BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y # # circus needs Python 3 and a toolchain w/ C++, threads # +# BR2_PACKAGE_CONMON is not set # BR2_PACKAGE_CONTAINERD is not set # BR2_PACKAGE_CPULIMIT is not set # BR2_PACKAGE_CPULOAD is not set +BR2_PACKAGE_CRIU_ARCH_SUPPORTS=y + +# +# criu needs a glibc or musl toolchain w/ threads, host gcc >= 7, gcc >= 8, headers >= 4.18, C++, dynamic library, wchar +# # BR2_PACKAGE_CRUN is not set # BR2_PACKAGE_DAEMON is not set # BR2_PACKAGE_DC3DD is not set @@ -3460,18 +3850,19 @@ BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y # ddrescue needs a toolchain w/ C++ # # BR2_PACKAGE_DOCKER_CLI is not set +# BR2_PACKAGE_DOCKER_CLI_BUILDX is not set # # docker-compose needs docker-cli and a toolchain w/ threads # # BR2_PACKAGE_DOCKER_ENGINE is not set -# BR2_PACKAGE_DOCKER_PROXY is not set # BR2_PACKAGE_EARLYOOM is not set # BR2_PACKAGE_EFIBOOTMGR is not set BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS=y # BR2_PACKAGE_EFIVAR is not set # BR2_PACKAGE_EMBIGGEN_DISK is not set # BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FLUENT_BIT is not set # BR2_PACKAGE_FTOP is not set # BR2_PACKAGE_GETENT is not set # BR2_PACKAGE_GKRELLM is not set @@ -3487,6 +3878,7 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_JAILHOUSE is not set # BR2_PACKAGE_KEYUTILS is not set # BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_KMON is not set # BR2_PACKAGE_KVMTOOL is not set # BR2_PACKAGE_LIBOSTREE is not set BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS=y @@ -3501,10 +3893,11 @@ BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y # BR2_PACKAGE_MENDER_CONNECT is not set # BR2_PACKAGE_MFOC is not set # BR2_PACKAGE_MOBY_BUILDKIT is not set +# BR2_PACKAGE_MOKUTIL is not set # BR2_PACKAGE_MONIT is not set # -# multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library +# multipath-tools needs udev and a toolchain w/ threads, dynamic library, C++ # # BR2_PACKAGE_NCDU is not set # BR2_PACKAGE_NERDCTL is not set @@ -3515,7 +3908,7 @@ BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y # BR2_PACKAGE_NUMACTL is not set # -# nut needs a toolchain w/ C++ +# nut needs a toolchain w/ C++, threads # BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENVMTOOLS is not set @@ -3523,12 +3916,19 @@ BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS=y # # pamtester depends on linux-pam # + +# +# petitboot needs a toolchain w/ wchar, dynamic library, threads, udev /dev management +# # BR2_PACKAGE_POLKIT is not set # BR2_PACKAGE_PROCRANK_LINUX is not set +# BR2_PACKAGE_PROCS is not set # BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QBEE_AGENT is not set # BR2_PACKAGE_QUOTA is not set # BR2_PACKAGE_QUOTATOOL is not set # BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_RAUC_HAWKBIT_UPDATER is not set # BR2_PACKAGE_RUNC is not set # BR2_PACKAGE_S6 is not set # BR2_PACKAGE_S6_LINUX_INIT is not set @@ -3539,13 +3939,14 @@ BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS=y # BR2_PACKAGE_SCRYPT is not set # -# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 7 +# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 8 # # # sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 # # BR2_PACKAGE_SEATD is not set +# BR2_PACKAGE_SHADOW is not set # BR2_PACKAGE_SMACK is not set # @@ -3590,15 +3991,14 @@ BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y # BR2_TARGET_ROOTFS_CRAMFS is not set # BR2_TARGET_ROOTFS_EROFS is not set BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_EXT2_2r0 is not set # BR2_TARGET_ROOTFS_EXT2_2r1 is not set # BR2_TARGET_ROOTFS_EXT2_3 is not set BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_GEN=4 -BR2_TARGET_ROOTFS_EXT2_REV=1 BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" -BR2_TARGET_ROOTFS_EXT2_SIZE="60M" +BR2_TARGET_ROOTFS_EXT2_SIZE="130M" BR2_TARGET_ROOTFS_EXT2_INODES=0 +BR2_TARGET_ROOTFS_EXT2_INODE_SIZE=256 BR2_TARGET_ROOTFS_EXT2_RESBLKS=5 BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit" BR2_TARGET_ROOTFS_EXT2_NONE=y @@ -3613,7 +4013,6 @@ BR2_TARGET_ROOTFS_EXT2_NONE=y # BR2_TARGET_ROOTFS_INITRAMFS is not set # BR2_TARGET_ROOTFS_JFFS2 is not set # BR2_TARGET_ROOTFS_OCI is not set -# BR2_TARGET_ROOTFS_ROMFS is not set # BR2_TARGET_ROOTFS_SQUASHFS is not set # BR2_TARGET_ROOTFS_TAR is not set # BR2_TARGET_ROOTFS_UBI is not set @@ -3635,28 +4034,42 @@ BR2_TARGET_GRUB2_ARCH_SUPPORTS=y # BR2_TARGET_OPTEE_OS is not set BR2_PACKAGE_SHIM_ARCH_SUPPORTS=y # BR2_TARGET_SHIM is not set +# BR2_TARGET_TI_K3_BOOT_FIRMWARE is not set +# BR2_TARGET_TI_K3_R5_LOADER is not set # BR2_TARGET_UBOOT is not set # BR2_TARGET_VEXPRESS_FIRMWARE is not set +# +# xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf +# +# BR2_TARGET_XILINX_PREBUILT is not set + # # Host utilities # # BR2_PACKAGE_HOST_ABOOTIMG is not set # BR2_PACKAGE_HOST_AESPIPE is not set # BR2_PACKAGE_HOST_AGENT_PROXY is not set +# BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP is not set # BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS=y # BR2_PACKAGE_HOST_ASN1C is not set # BR2_PACKAGE_HOST_BABELTRACE2 is not set # BR2_PACKAGE_HOST_BMAP_TOOLS is not set +# BR2_PACKAGE_HOST_BMAP_WRITER is not set # BR2_PACKAGE_HOST_BOOTGEN is not set # BR2_PACKAGE_HOST_BTRFS_PROGS is not set # BR2_PACKAGE_HOST_CHECKPOLICY is not set # BR2_PACKAGE_HOST_CHECKSEC is not set # BR2_PACKAGE_HOST_CMAKE is not set +BR2_HOST_CMAKE_AT_LEAST="3.18" +# BR2_PACKAGE_HOST_COMPOSER is not set # BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRUDINI is not set # BR2_PACKAGE_HOST_CRYPTSETUP is not set # BR2_PACKAGE_HOST_DBUS_PYTHON is not set # BR2_PACKAGE_HOST_DELVE is not set +# BR2_PACKAGE_HOST_DEPOT_TOOLS is not set # BR2_PACKAGE_HOST_DFU_UTIL is not set # BR2_PACKAGE_HOST_DOS2UNIX is not set # BR2_PACKAGE_HOST_DOSFSTOOLS is not set @@ -3671,15 +4084,25 @@ BR2_PACKAGE_HOST_E2FSPROGS=y # BR2_PACKAGE_HOST_FAKETIME is not set # BR2_PACKAGE_HOST_FATCAT is not set # BR2_PACKAGE_HOST_FIRMWARE_UTILS is not set +BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_FLUTTER_SDK_BIN is not set # BR2_PACKAGE_HOST_FWUP is not set # BR2_PACKAGE_HOST_GENEXT2FS is not set # BR2_PACKAGE_HOST_GENIMAGE is not set # BR2_PACKAGE_HOST_GENPART is not set # BR2_PACKAGE_HOST_GNUPG is not set +# BR2_PACKAGE_HOST_GNUPG2 is not set BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS=y +# BR2_PACKAGE_HOST_GO is not set +BR2_PACKAGE_PROVIDES_HOST_GO="host-go-bin" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH="amd64" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE1_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_GPTFDISK is not set # BR2_PACKAGE_HOST_IMAGEMAGICK is not set @@ -3698,12 +4121,16 @@ BR2_PACKAGE_HOST_KMOD=y # BR2_PACKAGE_HOST_LZMA_ALONE is not set # BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set # BR2_PACKAGE_HOST_MESON_TOOLS is not set +# BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR is not set +# BR2_PACKAGE_HOST_MINISIGN is not set # BR2_PACKAGE_HOST_MKPASSWD is not set # BR2_PACKAGE_HOST_MOBY_BUILDKIT is not set # BR2_PACKAGE_HOST_MOSQUITTO is not set # BR2_PACKAGE_HOST_MTD is not set # BR2_PACKAGE_HOST_MTOOLS is not set +BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_NODEJS is not set +BR2_PACKAGE_PROVIDES_HOST_NODEJS="host-nodejs-bin" # BR2_PACKAGE_HOST_ODB is not set # BR2_PACKAGE_HOST_OPENOCD is not set # BR2_PACKAGE_HOST_OPKG_UTILS is not set @@ -3715,9 +4142,11 @@ BR2_PACKAGE_HOST_PATCHELF=y # BR2_PACKAGE_HOST_PWGEN is not set # BR2_PACKAGE_HOST_PYTHON_CYTHON is not set # BR2_PACKAGE_HOST_PYTHON_GREENLET is not set +# BR2_PACKAGE_HOST_PYTHON_INIPARSE is not set # BR2_PACKAGE_HOST_PYTHON_LXML is not set # BR2_PACKAGE_HOST_PYTHON_PYYAML is not set # BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_USWID is not set # BR2_PACKAGE_HOST_PYTHON_XLRD is not set # BR2_PACKAGE_HOST_PYTHON3 is not set BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y @@ -3745,11 +4174,16 @@ BR2_PACKAGE_HOST_RUSTC_ARCH="aarch64" # BR2_PACKAGE_HOST_RUSTC is not set BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" # BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SDBUS_CPP is not set # BR2_PACKAGE_HOST_SDBUSPLUS is not set # BR2_PACKAGE_HOST_SENTRY_CLI is not set +# BR2_PACKAGE_HOST_SKOPEO is not set # BR2_PACKAGE_HOST_SLOCI_IMAGE is not set # BR2_PACKAGE_HOST_SQUASHFS is not set # BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_SWTPM is not set +# BR2_PACKAGE_HOST_SWUGENERATOR is not set +# BR2_PACKAGE_HOST_TIPIDEE is not set # BR2_PACKAGE_HOST_UBOOT_TOOLS is not set BR2_PACKAGE_HOST_UTIL_LINUX=y # BR2_PACKAGE_HOST_UTP_COM is not set @@ -3763,9 +4197,195 @@ BR2_PACKAGE_HOST_UTIL_LINUX=y # Legacy config options # +# +# Legacy options removed in 2025.02.4 +# +# BR2_PACKAGE_LIBEBUR128 is not set + +# +# Legacy options removed in 2025.02 +# +# BR2_PACKAGE_SQLITE_ENABLE_JSON1 is not set +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_ANGULAR_WEBSOCKET is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_BINUTILS_VERSION_2_41_X is not set +# BR2_TARGET_ROOTFS_EXT2_2r0 is not set +# BR2_GDB_VERSION_13 is not set +# BR2_nios2 is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_GST_OMX is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_SDL2_DIRECTFB is not set +# BR2_PACKAGE_SDL_DIRECTFB is not set +# BR2_PACKAGE_QT5BASE_DIRECTFB is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB is not set +# BR2_PACKAGE_LITE is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_MONGODB is not set +# BR2_PACKAGE_PYTHON_M2CRYPTO is not set +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_6_11 is not set +# BR2_PACKAGE_GIBLIB is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_QUAGGA is not set +# BR2_PACKAGE_RAMSMP is not set + +# +# Legacy options removed in 2024.11 +# +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP is not set +# BR2_PACKAGE_QEMU_TARGET_NIOS2 is not set +# BR2_PACKAGE_POPPERJS is not set +# BR2_KERNEL_HEADERS_6_10 is not set +BR2_PACKAGE_IPMITOOL_PEN_REG_URI="" +# BR2_PACKAGE_ERLANG_P1_YAML is not set +# BR2_PACKAGE_ERLANG_P1_XMPP is not set +# BR2_PACKAGE_ERLANG_P1_XML is not set +# BR2_PACKAGE_ERLANG_P1_STUN is not set +# BR2_PACKAGE_FBV_GIF is not set +# BR2_BINUTILS_VERSION_2_40_X is not set + +# +# Legacy options removed in 2024.08 +# +# BR2_PACKAGE_MIDORI is not set +# BR2_PACKAGE_FROTZ is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FLUTTER_DYNAMIC_LAYOUTS_EXAMPLE is not set +# BR2_KERNEL_HEADERS_6_9 is not set +# BR2_x86_knightslanding is not set +# BR2_x86_knightsmill is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_CAIRO_SVG is not set +# BR2_PACKAGE_CAIRO_SCRIPT is not set +# BR2_PACKAGE_CAIRO_PS is not set +# BR2_PACKAGE_CAIRO_PDF is not set +# BR2_PACKAGE_CAIRO_XML is not set +# BR2_GDB_VERSION_12 is not set +# BR2_TARGET_BEAGLEV_DDRINIT is not set +# BR2_TARGET_BEAGLEV_SECONDBOOT is not set +# BR2_PACKAGE_ONEVPL_INTEL_GPU is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_VERSAL_FIRMWARE is not set +# BR2_KERNEL_HEADERS_6_8 is not set +# BR2_TARGET_AT91BOOTSTRAP is not set +# BR2_TARGET_AT91DATAFLASHBOOT is not set +# BR2_PACKAGE_ON2_8170_MODULES is not set +# BR2_PACKAGE_ON2_8170_LIBS is not set +# BR2_GCC_VERSION_11_X is not set +# BR2_BINFMT_FLAT_SHARED is not set +# BR2_PACKAGE_OMXPLAYER is not set +# BR2_KERNEL_HEADERS_6_7 is not set +# BR2_TARGET_TI_K3_IMAGE_GEN is not set +# BR2_TARGET_UBOOT_NEEDS_TI_K3_DM is not set +# BR2_PACKAGE_FLUTTER_GALLERY is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM is not set +# BR2_BINUTILS_VERSION_2_39_X is not set + +# +# Legacy options removed in 2024.02 +# +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_ORACLE_MYSQL is not set +# BR2_PACKAGE_STRONGSWAN_SCEP is not set +# BR2_PACKAGE_SHADOW_UTMPX is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_DAVINCI_BOOTCOUNT is not set +# BR2_PACKAGE_PYTHON_CROSSBAR is not set +# BR2_PACKAGE_PYTHON_PYGAME is not set +# BR2_KERNEL_HEADERS_4_14 is not set +# BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI is not set +# BR2_GDB_VERSION_11 is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_GMPC is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_ONEVPL is not set +# BR2_KERNEL_HEADERS_6_5 is not set +BR2_PACKAGE_WATCHDOGD_GENERIC_POLL=0 +BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL=0 +BR2_PACKAGE_WATCHDOGD_FILENR_POLL=0 +BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL=0 + +# +# Legacy options removed in 2023.11 +# +# BR2_PACKAGE_PYTHON_PYXB is not set +# BR2_PACKAGE_OPENJDK_VERSION_11 is not set +# BR2_KERNEL_HEADERS_6_4 is not set +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_GDB_VERSION_10 is not set + +# +# Legacy options removed in 2023.08 +# +# BR2_TARGET_LPC32XXCDL is not set +# BR2_BINUTILS_VERSION_2_38_X is not set +# BR2_GCC_VERSION_10_X is not set +# BR2_KERNEL_HEADERS_6_3 is not set +# BR2_PACKAGE_TOVID is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_OCF_LINUX is not set +# BR2_BINUTILS_VERSION_2_37_X is not set + +# +# Legacy options removed in 2023.05 +# +# BR2_KERNEL_HEADERS_6_2 is not set +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_AT_SPI2_ATK is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACAKGE_OPENFPGALOADER_CMSIS is not set + +# +# Legacy options removed in 2023.02 +# +# BR2_PACKAGE_PUGIXML_HEADER_ONLY is not set +# BR2_PACKAGE_UCCP420WLAN is not set +# BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES is not set +# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_4_9 is not set +# BR2_PACKAGE_DOCKER_PROXY is not set +# BR2_PACKAGE_PYTHON_BUNCH is not set +# BR2_TARGET_GUMMIBOOT is not set +# BR2_PACKAGE_IPUTILS_NINFOD is not set +# BR2_PACKAGE_IPUTILS_RARPD is not set +# BR2_PACKAGE_IPUTILS_RDISC is not set +# BR2_PACKAGE_IPUTILS_RDISC_SERVER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT is not set +# BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV is not set +BR2_PACKAGE_QEMU_CUSTOM_TARGETS="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD is not set +# BR2_TARGET_SUN20I_D1_SPL is not set +# BR2_PACKAGE_PYTHON_M2R is not set +# BR2_PACKAGE_MESA3D_XVMC is not set +# BR2_KERNEL_HEADERS_5_19 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT is not set +# BR2_PACKAGE_USBREDIR_SERVER is not set + # # Legacy options removed in 2022.11 # +# BR2_BINUTILS_VERSION_2_36_X is not set # BR2_PACKAGE_RABBITMQ_SERVER is not set # BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 is not set # BR2_PACKAGE_LIBDCADEC is not set @@ -3817,7 +4437,6 @@ BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="" # BR2_PACKAGE_PYTHON_ENUM34 is not set # BR2_PACKAGE_PYTHON_ENUM is not set # BR2_PACKAGE_PYTHON_DIALOG is not set -# BR2_PACKAGE_PYTHON_CONFIGOBJ is not set # BR2_PACKAGE_PYTHON_YIELDFROM is not set # BR2_PACKAGE_PYTHON_TYPING is not set # BR2_PACKAGE_PYTHON_SUBPROCESS32 is not set @@ -4006,6 +4625,10 @@ BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" # BR2_PACKAGE_PYTHON_SCAPY3K is not set # BR2_BINUTILS_VERSION_2_30_X is not set # BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set +# BR2_PACKAGE_TI_SGX_KM_AM335X is not set +# BR2_PACKAGE_TI_SGX_KM_AM437X is not set +# BR2_PACKAGE_TI_SGX_KM_AM4430 is not set +# BR2_PACKAGE_TI_SGX_KM_AM5430 is not set # # Legacy options removed in 2019.11 @@ -4162,6 +4785,7 @@ BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" # # BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set # BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_MEDIAART_BACKEND_QT is not set # BR2_PACKAGE_TI_SGX_AM335X is not set # BR2_PACKAGE_TI_SGX_AM437X is not set # BR2_PACKAGE_TI_SGX_AM4430 is not set @@ -4485,10 +5109,9 @@ BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" ################# Override qemu_aarch64_virt_defconfig ####################### -BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y - -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_ROOTFS_EXT2=n BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_FULL=y BR2_TARGET_ROOTFS_CPIO_NONE=y @@ -4511,3 +5134,10 @@ BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" BR2_PACKAGE_HOST_QEMU=n BR2_PACKAGE_URANDOM_SCRIPTS=n + +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" +BR2_LINUX_KERNEL_IMAGE_NAME="" + +BR2_PACKAGE_BAO_DRIVERS=y +BR2_ROOTFS_OVERLAY="$(BAO_DEMOS_BUILDROOT_OVERLAY)" diff --git a/guests/linux/buildroot/external/Config.in b/guests/linux/buildroot/external/Config.in new file mode 100644 index 0000000..8b19ab6 --- /dev/null +++ b/guests/linux/buildroot/external/Config.in @@ -0,0 +1,2 @@ +source "$BR2_EXTERNAL_BAO_DEMOS_PATH/package/bao-drivers/Config.in" +source "$BR2_EXTERNAL_BAO_DEMOS_PATH/package/bao-virtio-dm/Config.in" diff --git a/guests/linux/buildroot/external/external.desc b/guests/linux/buildroot/external/external.desc new file mode 100644 index 0000000..bb9404c --- /dev/null +++ b/guests/linux/buildroot/external/external.desc @@ -0,0 +1 @@ +name: BAO_DEMOS diff --git a/guests/linux/buildroot/external/external.mk b/guests/linux/buildroot/external/external.mk new file mode 100644 index 0000000..af72c58 --- /dev/null +++ b/guests/linux/buildroot/external/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_BAO_DEMOS_PATH)/package/*/*.mk)) diff --git a/guests/linux/buildroot/external/package/bao-drivers/Config.in b/guests/linux/buildroot/external/package/bao-drivers/Config.in new file mode 100644 index 0000000..3ab82e6 --- /dev/null +++ b/guests/linux/buildroot/external/package/bao-drivers/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_BAO_DRIVERS + bool "bao-drivers" + depends on BR2_LINUX_KERNEL + help + This package builds Linux Bao's modules for IPC and IODISPATCHER. diff --git a/guests/linux/buildroot/external/package/bao-drivers/bao-drivers.mk b/guests/linux/buildroot/external/package/bao-drivers/bao-drivers.mk new file mode 100644 index 0000000..a01ba91 --- /dev/null +++ b/guests/linux/buildroot/external/package/bao-drivers/bao-drivers.mk @@ -0,0 +1,8 @@ +BAO_DRIVERS_SITE = https://github.com/bao-project/bao-linux-drivers.git +BAO_DRIVERS_VERSION = linux-v6.15 +BAO_DRIVERS_SITE_METHOD = git + +BAO_DRIVERS_MODULE_SUBDIRS = ipc iodispatcher + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/guests/linux/buildroot/external/package/bao-virtio-dm/Config.in b/guests/linux/buildroot/external/package/bao-virtio-dm/Config.in new file mode 100644 index 0000000..9dc8bcc --- /dev/null +++ b/guests/linux/buildroot/external/package/bao-virtio-dm/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_BAO_VIRTIO_DM + bool "bao-virtio-dm" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUST_BIN + help + The Bao virtio device model (Rust). + + This package builds the bao-virtio-dm Rust crate + using the vendored Cargo dependencies in the source tree. diff --git a/guests/linux/buildroot/external/package/bao-virtio-dm/bao-virtio-dm.mk b/guests/linux/buildroot/external/package/bao-virtio-dm/bao-virtio-dm.mk new file mode 100644 index 0000000..273e7ef --- /dev/null +++ b/guests/linux/buildroot/external/package/bao-virtio-dm/bao-virtio-dm.mk @@ -0,0 +1,42 @@ +################################################################################ +# bao-virtio-dm Buildroot package +################################################################################ + +BAO_VIRTIO_DM_VERSION = main +BAO_VIRTIO_DM_SITE = https://github.com/bao-project/bao-virtio-dm.git + BAO_VIRTIO_DM_SITE_METHOD = git + +BAO_VIRTIO_DM_LICENSE = Apache-2.0 +BAO_VIRTIO_DM_LICENSE_FILES = LICENSE + +BAO_VIRTIO_DM_TARGET = $(RUSTC_TARGET_NAME) +BAO_VIRTIO_DM_DEPENDENCIES = host-rustc + +BAO_VIRTIO_DM_CARGO_ENV = \ + CARGO_HOME=$(HOST_DIR)/share/cargo \ + RUST_TARGET_PATH=$(HOST_DIR)/etc/rustc \ + CARGO_TARGET_$(call UPPERCASE,$(subst -,_,$(BAO_VIRTIO_DM_TARGET)))_LINKER=$(TARGET_CC) + +BAO_VIRTIO_DM_BIN_DIR = target/$(BAO_VIRTIO_DM_TARGET)/release + +BAO_VIRTIO_DM_CARGO_OPTS = \ + --release \ + --locked \ + --target=$(BAO_VIRTIO_DM_TARGET) +define BAO_VIRTIO_DM_BUILD_CMDS + cd $(@D) && \ + $(TARGET_MAKE_ENV) $(BAO_VIRTIO_DM_CARGO_ENV) \ + cargo build $(BAO_VIRTIO_DM_CARGO_OPTS) +endef + +define BAO_VIRTIO_DM_INSTALL_TARGET_CMDS +$(INSTALL) -D -m 0755 \ + $(@D)/$(BAO_VIRTIO_DM_BIN_DIR)/bao-virtio-dm \ + $(TARGET_DIR)/bin/bao-virtio-dm +endef + +define BAO_VIRTIO_DM_CLEAN_CMDS +cd $(@D) && cargo clean +endef + +$(eval $(generic-package)) diff --git a/guests/linux/buildroot/overlay/etc/init.d/S99bao b/guests/linux/buildroot/overlay/etc/init.d/S99bao new file mode 100755 index 0000000..37e5bb1 --- /dev/null +++ b/guests/linux/buildroot/overlay/etc/init.d/S99bao @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Loading bao-ipc kernel module..." + /sbin/modprobe ipc + echo "Loading bao-iodispatcher kernel module..." + /sbin/modprobe iodispatcher + ;; + stop) + echo "Unloading bao-ipc kernel module..." + /sbin/rmmod ipc + echo "Unloading bao-iodispatcher kernel module..." + /sbin/rmmod iodispatcher + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit 0 diff --git a/guests/linux/buildroot/riscv32.config b/guests/linux/buildroot/riscv32.config new file mode 100644 index 0000000..0115724 --- /dev/null +++ b/guests/linux/buildroot/riscv32.config @@ -0,0 +1,4784 @@ +# +# Automatically generated file; DO NOT EDIT. +# Buildroot 2025.02.4 Configuration +# +BR2_HAVE_DOT_CONFIG=y +BR2_HOST_GCC_AT_LEAST_4_9=y +BR2_HOST_GCC_AT_LEAST_5=y +BR2_HOST_GCC_AT_LEAST_6=y +BR2_HOST_GCC_AT_LEAST_7=y +BR2_HOST_GCC_AT_LEAST_8=y +BR2_HOST_GCC_AT_LEAST_9=y +BR2_HOST_GCC_AT_LEAST_10=y +BR2_HOST_GCC_AT_LEAST_11=y + +# +# Target options +# +BR2_USE_MMU=y +# BR2_arcle is not set +# BR2_arceb is not set +# BR2_arm is not set +# BR2_armeb is not set +# BR2_aarch64 is not set +# BR2_aarch64_be is not set +# BR2_i386 is not set +# BR2_m68k is not set +# BR2_microblazeel is not set +# BR2_microblazebe is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_mips64 is not set +# BR2_mips64el is not set +# BR2_or1k is not set +# BR2_powerpc is not set +# BR2_powerpc64 is not set +# BR2_powerpc64le is not set +BR2_riscv=y +# BR2_s390x is not set +# BR2_sh is not set +# BR2_sparc is not set +# BR2_sparc64 is not set +# BR2_x86_64 is not set +# BR2_xtensa is not set +BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y +BR2_ARCH="riscv32" +BR2_NORMALIZED_ARCH="riscv" +BR2_ENDIAN="LITTLE" +BR2_GCC_TARGET_ABI="ilp32d" +BR2_BINFMT_SUPPORTS_SHARED=y +BR2_READELF_ARCH_NAME="RISC-V" +BR2_riscv_g=y +# BR2_riscv_custom is not set + +# +# Instruction Set Extensions +# +BR2_RISCV_ISA_RVI=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +# BR2_RISCV_ISA_RVC is not set +# BR2_RISCV_ISA_RVV is not set +BR2_RISCV_32=y +# BR2_RISCV_64 is not set +BR2_RISCV_USE_MMU=y +# BR2_RISCV_ABI_ILP32 is not set +# BR2_RISCV_ABI_ILP32F is not set +BR2_RISCV_ABI_ILP32D=y +BR2_BINFMT_ELF=y + +# +# Toolchain +# +BR2_TOOLCHAIN=y +BR2_TOOLCHAIN_USES_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT=y +# BR2_TOOLCHAIN_EXTERNAL is not set + +# +# Toolchain Buildroot Options +# +BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" +# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" + +# +# Kernel Header Options +# +BR2_KERNEL_HEADERS_AS_KERNEL=y +# BR2_KERNEL_HEADERS_5_4 is not set +# BR2_KERNEL_HEADERS_5_10 is not set +# BR2_KERNEL_HEADERS_5_15 is not set +# BR2_KERNEL_HEADERS_6_1 is not set +# BR2_KERNEL_HEADERS_6_6 is not set +# BR2_KERNEL_HEADERS_6_12 is not set +# BR2_KERNEL_HEADERS_VERSION is not set +# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set +# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD is not set +BR2_PACKAGE_LINUX_HEADERS=y +BR2_PACKAGE_MUSL_ARCH_SUPPORTS=y +BR2_PACKAGE_MUSL_SUPPORTS=y +BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS=y +BR2_PACKAGE_UCLIBC_SUPPORTS=y +BR2_PACKAGE_GLIBC_ARCH_SUPPORTS=y +BR2_PACKAGE_GLIBC_SUPPORTS=y + +# +# Glibc Options +# +BR2_PACKAGE_GLIBC=y +# BR2_PACKAGE_GLIBC_KERNEL_COMPAT is not set +# BR2_PACKAGE_GLIBC_UTILS is not set + +# +# Binutils Options +# +BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y +# BR2_BINUTILS_VERSION_2_42_X is not set +BR2_BINUTILS_VERSION_2_43_X=y +# BR2_BINUTILS_VERSION_2_44_X is not set +BR2_BINUTILS_VERSION="2.43.1" +# BR2_BINUTILS_GPROFNG is not set +BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" + +# +# GCC Options +# +# BR2_GCC_VERSION_12_X is not set +BR2_GCC_VERSION_13_X=y +# BR2_GCC_VERSION_14_X is not set +BR2_GCC_VERSION="13.3.0" +BR2_EXTRA_GCC_CONFIG_OPTIONS="" +# BR2_TOOLCHAIN_BUILDROOT_CXX is not set +# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set +# BR2_GCC_ENABLE_OPENMP is not set +# BR2_GCC_ENABLE_GRAPHITE is not set +BR2_PACKAGE_GCC_FINAL=y +BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y + +# +# Host GDB Options +# +# BR2_PACKAGE_HOST_GDB is not set + +# +# Toolchain Generic Options +# +BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y +BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y +BR2_USE_WCHAR=y +BR2_ENABLE_LOCALE=y +BR2_TOOLCHAIN_HAS_THREADS=y +BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y +BR2_TOOLCHAIN_HAS_THREADS_NPTL=y +BR2_TOOLCHAIN_HAS_SSP=y +BR2_TOOLCHAIN_HAS_SSP_STRONG=y +BR2_TOOLCHAIN_HAS_UCONTEXT=y +BR2_TOOLCHAIN_SUPPORTS_PIE=y +# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set +BR2_TOOLCHAIN_EXTRA_LIBS="" +BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y +BR2_TARGET_OPTIMIZATION="" +BR2_TARGET_LDFLAGS="" +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12=y +BR2_TOOLCHAIN_HEADERS_LATEST=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="6.12" +BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y +BR2_TOOLCHAIN_GCC_AT_LEAST_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST_9=y +BR2_TOOLCHAIN_GCC_AT_LEAST_10=y +BR2_TOOLCHAIN_GCC_AT_LEAST_11=y +BR2_TOOLCHAIN_GCC_AT_LEAST_12=y +BR2_TOOLCHAIN_GCC_AT_LEAST_13=y +BR2_TOOLCHAIN_GCC_AT_LEAST="13" +BR2_TOOLCHAIN_HAS_MNAN_OPTION=y +BR2_TOOLCHAIN_HAS_SYNC_1=y +BR2_TOOLCHAIN_HAS_SYNC_2=y +BR2_TOOLCHAIN_HAS_SYNC_4=y +BR2_TOOLCHAIN_HAS_LIBATOMIC=y +BR2_TOOLCHAIN_HAS_ATOMIC=y + +# +# Bare metal toolchain +# +# BR2_TOOLCHAIN_BARE_METAL_BUILDROOT is not set + +# +# Build options +# + +# +# Commands +# +BR2_CURL="curl -q --ftp-pasv --retry 3 --connect-timeout 10" +BR2_WGET="wget -nd -t 3 --connect-timeout=10" +BR2_SVN="svn --non-interactive --config-option servers:global:http-timeout=10" +BR2_BZR="bzr" +BR2_GIT="git" +BR2_CVS="cvs" +BR2_LOCALFILES="cp" +BR2_SCP="scp -o ConnectTimeout=10" +BR2_SFTP="sftp -o ConnectTimeout=10" +BR2_HG="hg" +BR2_ZCAT="gzip -d -c" +BR2_BZCAT="bzcat" +BR2_XZCAT="xzcat" +BR2_LZCAT="lzip -d -c" +BR2_ZSTDCAT="zstdcat" +BR2_TAR_OPTIONS="" +BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch64/buildroot-2025.02.4/configs/qemu_riscv32_virt_defconfig" +BR2_DL_DIR="$(TOPDIR)/dl" +BR2_HOST_DIR="$(BASE_DIR)/host" + +# +# Mirrors and Download locations +# +BR2_PRIMARY_SITE="" +BR2_BACKUP_SITE="https://sources.buildroot.net" +BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" +BR2_GNU_MIRROR="https://ftpmirror.gnu.org" +BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" +BR2_CPAN_MIRROR="https://cpan.metacpan.org" +BR2_JLEVEL=0 +# BR2_CCACHE is not set +# BR2_ENABLE_DEBUG is not set +# BR2_ENABLE_RUNTIME_DEBUG is not set +BR2_STRIP_strip=y +BR2_STRIP_EXCLUDE_FILES="" +BR2_STRIP_EXCLUDE_DIRS="" +# BR2_OPTIMIZE_0 is not set +# BR2_OPTIMIZE_1 is not set +BR2_OPTIMIZE_2=y +# BR2_OPTIMIZE_3 is not set +# BR2_OPTIMIZE_G is not set +# BR2_OPTIMIZE_S is not set +# BR2_OPTIMIZE_FAST is not set +# BR2_ENABLE_LTO is not set + +# +# static only needs a toolchain w/ uclibc or musl +# +BR2_SHARED_LIBS=y +# BR2_SHARED_STATIC_LIBS is not set +BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" + +# +# Advanced +# +# BR2_FORCE_HOST_BUILD is not set +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +# BR2_REPRODUCIBLE is not set +# BR2_PER_PACKAGE_DIRECTORIES is not set +# BR2_TIME_BITS_64 is not set + +# +# Security Hardening Options +# +BR2_PIC_PIE_ARCH_SUPPORTS=y +BR2_PIC_PIE=y +# BR2_SSP_NONE is not set +# BR2_SSP_REGULAR is not set +BR2_SSP_STRONG=y +# BR2_SSP_ALL is not set +BR2_SSP_OPTION="-fstack-protector-strong" +# BR2_RELRO_NONE is not set +# BR2_RELRO_PARTIAL is not set +BR2_RELRO_FULL=y +BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y +# BR2_FORTIFY_SOURCE_NONE is not set +BR2_FORTIFY_SOURCE_1=y +# BR2_FORTIFY_SOURCE_2 is not set +# BR2_FORTIFY_SOURCE_3 is not set + +# +# System configuration +# +BR2_ROOTFS_SKELETON_DEFAULT=y +# BR2_ROOTFS_SKELETON_CUSTOM is not set +BR2_TARGET_GENERIC_HOSTNAME="buildroot" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot" +BR2_TARGET_GENERIC_PASSWD_SHA256=y +# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set +BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" + +# +# General purpose +# +BR2_INIT_BUSYBOX=y +# BR2_INIT_SYSV is not set +# BR2_INIT_OPENRC is not set +# BR2_INIT_SYSTEMD is not set + +# +# Special purpose (read help) +# +# BR2_INIT_TINI is not set +# BR2_INIT_TINYINIT is not set +# BR2_INIT_NONE is not set +# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" +# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set +# BR2_ROOTFS_MERGED_USR is not set +BR2_TARGET_ENABLE_ROOT_LOGIN=y +BR2_TARGET_GENERIC_ROOT_PASSWD="" +BR2_SYSTEM_BIN_SH_BUSYBOX=y + +# +# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_SYSTEM_BIN_SH_NONE is not set +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set +BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" +BR2_TARGET_GENERIC_GETTY_TERM="vt100" +BR2_TARGET_GENERIC_GETTY_OPTIONS="" +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y +BR2_SYSTEM_DHCP="eth0" +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_ENABLE_LOCALE_PURGE=y +BR2_ENABLE_LOCALE_WHITELIST="C en_US" +BR2_GENERATE_LOCALE="" +# BR2_SYSTEM_ENABLE_NLS is not set +# BR2_TARGET_TZ_INFO is not set +BR2_ROOTFS_USERS_TABLES="" +BR2_ROOTFS_OVERLAY="" +BR2_ROOTFS_PRE_BUILD_SCRIPT="" +BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="" + +# +# Kernel +# +BR2_LINUX_KERNEL=y +# BR2_LINUX_KERNEL_LATEST_VERSION is not set +# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set +# BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set +# BR2_LINUX_KERNEL_CUSTOM_GIT is not set +# BR2_LINUX_KERNEL_CUSTOM_HG is not set +# BR2_LINUX_KERNEL_CUSTOM_SVN is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_VERSION="6.12.27" +BR2_LINUX_KERNEL_PATCH="" +BR2_LINUX_KERNEL_USE_DEFCONFIG=y +# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set +# BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG is not set +BR2_LINUX_KERNEL_DEFCONFIG="rv32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" +BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" +BR2_LINUX_KERNEL_IMAGE=y +# BR2_LINUX_KERNEL_IMAGEGZ is not set +# BR2_LINUX_KERNEL_VMLINUX is not set +# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set +BR2_LINUX_KERNEL_GZIP=y +# BR2_LINUX_KERNEL_LZ4 is not set +# BR2_LINUX_KERNEL_LZMA is not set +# BR2_LINUX_KERNEL_LZO is not set +# BR2_LINUX_KERNEL_XZ is not set +# BR2_LINUX_KERNEL_ZSTD is not set +# BR2_LINUX_KERNEL_DTS_SUPPORT is not set +# BR2_LINUX_KERNEL_INSTALL_TARGET is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 is not set + +# +# Linux Kernel Extensions +# +# BR2_LINUX_KERNEL_EXT_RTAI is not set +# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set +# BR2_LINUX_KERNEL_EXT_FBTFT is not set +# BR2_LINUX_KERNEL_EXT_AUFS is not set + +# +# Linux Kernel Tools +# +# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set +# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set +# BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_MM is not set +# BR2_PACKAGE_LINUX_TOOLS_PCI is not set +# BR2_PACKAGE_LINUX_TOOLS_PERF is not set +# BR2_PACKAGE_LINUX_TOOLS_RTLA is not set + +# +# selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14 +# +# BR2_PACKAGE_LINUX_TOOLS_USBTOOLS is not set +# BR2_PACKAGE_LINUX_TOOLS_TMON is not set + +# +# Target packages +# +BR2_PACKAGE_BUSYBOX=y +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" +# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set +# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set +# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set +BR2_PACKAGE_SKELETON=y +BR2_PACKAGE_HAS_SKELETON=y +BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" +BR2_PACKAGE_SKELETON_INIT_COMMON=y +BR2_PACKAGE_SKELETON_INIT_SYSV=y + +# +# Audio and video applications +# +# BR2_PACKAGE_ALSA_UTILS is not set +# BR2_PACKAGE_ATEST is not set +# BR2_PACKAGE_AUMIX is not set +# BR2_PACKAGE_BLUEZ_ALSA is not set +# BR2_PACKAGE_DVBLAST is not set +# BR2_PACKAGE_DVDAUTHOR is not set + +# +# dvdrw-tools needs a toolchain w/ threads, C++, wchar +# + +# +# espeak needs a toolchain w/ C++, wchar, threads, dynamic library +# +# BR2_PACKAGE_FAAD2 is not set +BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y +# BR2_PACKAGE_FFMPEG is not set +# BR2_PACKAGE_FLAC is not set +# BR2_PACKAGE_FLITE is not set +# BR2_PACKAGE_FLUID_SOUNDFONT is not set + +# +# fluidsynth needs a toolchain w/ threads, wchar, dynamic library, C++ +# +# BR2_PACKAGE_GMRENDER_RESURRECT is not set +# BR2_PACKAGE_GSTREAMER1 is not set +# BR2_PACKAGE_JACK1 is not set + +# +# jack2 needs a toolchain w/ threads, C++, dynamic library +# +BR2_PACKAGE_KODI_ARCH_SUPPORTS=y + +# +# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x, host gcc >= 9.x +# + +# +# kodi needs udev support for gbm +# + +# +# kodi needs an OpenGL EGL backend with OpenGL or GLES support +# +# BR2_PACKAGE_LAME is not set +# BR2_PACKAGE_MADPLAY is not set +# BR2_PACKAGE_MINIMODEM is not set + +# +# miraclecast needs systemd and a glibc toolchain w/ threads and wchar +# + +# +# mjpegtools needs a toolchain w/ C++, threads +# + +# +# modplugtools needs a toolchain w/ C++ +# +# BR2_PACKAGE_MOTION is not set + +# +# mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8 +# +# BR2_PACKAGE_MPD_MPC is not set +# BR2_PACKAGE_MPG123 is not set + +# +# mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9 +# +# BR2_PACKAGE_MULTICAT is not set +# BR2_PACKAGE_MUSEPACK is not set + +# +# ncmpc needs a toolchain w/ C++, wchar, threads, gcc >= 10 +# +# BR2_PACKAGE_OPUS_TOOLS is not set +# BR2_PACKAGE_PIPEWIRE is not set +BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y +# BR2_PACKAGE_PULSEAUDIO is not set +# BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SPEECHD is not set +# BR2_PACKAGE_SQUEEZELITE is not set +# BR2_PACKAGE_TINYCOMPRESS is not set +# BR2_PACKAGE_TSTOOLS is not set +# BR2_PACKAGE_TWOLAME is not set +# BR2_PACKAGE_UDPXY is not set + +# +# upmpdcli needs a toolchain w/ C++, NPTL, gcc >= 4.9 +# + +# +# v4l2grab needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0 +# +# BR2_PACKAGE_V4L2LOOPBACK is not set +# BR2_PACKAGE_VORBIS_TOOLS is not set +# BR2_PACKAGE_WAVPACK is not set +# BR2_PACKAGE_YAVTA is not set +# BR2_PACKAGE_YMPD is not set + +# +# zynaddsubfx needs a toolchain w/ C++11 and threads +# + +# +# Compressors and decompressors +# +# BR2_PACKAGE_BROTLI is not set +# BR2_PACKAGE_BZIP2 is not set + +# +# lrzip needs a toolchain w/ wchar, threads, C++ +# + +# +# lzip needs a toolchain w/ C++ +# +# BR2_PACKAGE_LZOP is not set + +# +# p7zip needs a toolchain w/ threads, wchar, C++ +# +# BR2_PACKAGE_PIGZ is not set +# BR2_PACKAGE_PIXZ is not set + +# +# unrar needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 +# +# BR2_PACKAGE_XZ is not set +# BR2_PACKAGE_ZIP is not set +# BR2_PACKAGE_ZSTD is not set + +# +# Debugging, profiling and benchmark +# +# BR2_PACKAGE_BABELTRACE2 is not set + +# +# bcc needs a glibc toolchain, C++, wchar, threads, dynamic libs, gcc >= 7, host gcc >= 7 +# +# BR2_PACKAGE_BLKTRACE is not set + +# +# bonnie++ needs a toolchain w/ C++ +# +BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS=y +# BR2_PACKAGE_BPFTOOL is not set +# BR2_PACKAGE_CACHE_CALIBRATOR is not set + +# +# clinfo needs an OpenCL provider +# + +# +# clpeak needs an OpenCL provider, a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_COREMARK is not set +# BR2_PACKAGE_COREMARK_PRO is not set + +# +# dacapo needs OpenJDK +# +# BR2_PACKAGE_DHRYSTONE is not set +# BR2_PACKAGE_DIEHARDER is not set +# BR2_PACKAGE_DMALLOC is not set +# BR2_PACKAGE_DROPWATCH is not set +# BR2_PACKAGE_DSTAT is not set +# BR2_PACKAGE_DT is not set + +# +# duma needs a toolchain w/ C++, threads, dynamic library +# +# BR2_PACKAGE_FIO is not set +BR2_PACKAGE_GDB_ARCH_SUPPORTS=y + +# +# gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_IOZONE is not set +# BR2_PACKAGE_KMEMD is not set +# BR2_PACKAGE_LIBBPF is not set +# BR2_PACKAGE_LIBTRACEEVENT is not set +# BR2_PACKAGE_LIBTRACEFS is not set +# BR2_PACKAGE_LMBENCH is not set +BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y +# BR2_PACKAGE_LTP_TESTSUITE is not set +# BR2_PACKAGE_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_LTTNG_MODULES is not set + +# +# lttng-tools needs a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_MBPOLL is not set +# BR2_PACKAGE_MBW is not set +# BR2_PACKAGE_MEMSTAT is not set +# BR2_PACKAGE_NETPERF is not set + +# +# netsniff-ng needs a toolchain w/ NPTL, C++, headers >= 3.0 +# +# BR2_PACKAGE_NMON is not set +# BR2_PACKAGE_PAX_UTILS is not set +BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERFTEST is not set + +# +# piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9 +# +# BR2_PACKAGE_POKE is not set +# BR2_PACKAGE_PV is not set +# BR2_PACKAGE_RAMSPEED is not set +# BR2_PACKAGE_RT_TESTS is not set + +# +# rwmem needs a toolchain w/ C++, wchar, gcc >= 10 +# + +# +# signal-estimator needs a toochain w/ C++, threads, gcc >= 7 +# +# BR2_PACKAGE_SPIDEV_TEST is not set +# BR2_PACKAGE_STRESS is not set +# BR2_PACKAGE_STRESS_NG is not set + +# +# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# +# BR2_PACKAGE_TRACE_CMD is not set +# BR2_PACKAGE_UCLIBC_NG_TEST is not set +# BR2_PACKAGE_VMTOUCH is not set +# BR2_PACKAGE_WHETSTONE is not set + +# +# Development tools +# +# BR2_PACKAGE_AVOCADO is not set +# BR2_PACKAGE_BINUTILS is not set +# BR2_PACKAGE_BITWISE is not set +# BR2_PACKAGE_CHECK is not set +BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y + +# +# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL +# + +# +# cppunit needs a toolchain w/ C++, dynamic library +# +# BR2_PACKAGE_CUKINIA is not set +# BR2_PACKAGE_CUNIT is not set +# BR2_PACKAGE_CVS is not set + +# +# cxxtest needs a toolchain w/ C++ support +# +# BR2_PACKAGE_FLEX is not set +# BR2_PACKAGE_GETTEXT is not set +BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" +# BR2_PACKAGE_GIT is not set + +# +# git-crypt needs a toolchain w/ C++, gcc >= 4.9 +# + +# +# gperf needs a toolchain w/ C++ +# +# BR2_PACKAGE_JO is not set +# BR2_PACKAGE_JQ is not set +# BR2_PACKAGE_LIBTOOL is not set +# BR2_PACKAGE_MAKE is not set +# BR2_PACKAGE_MAWK is not set +# BR2_PACKAGE_PKGCONF is not set +# BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TIG is not set +# BR2_PACKAGE_TREE is not set +# BR2_PACKAGE_UNIFDEF is not set + +# +# Filesystem and flash utilities +# +# BR2_PACKAGE_ABOOTIMG is not set +# BR2_PACKAGE_AUFS_UTIL is not set +# BR2_PACKAGE_AUTOFS is not set + +# +# bmap-writer needs a toolchain w/ C++, wchar +# +# BR2_PACKAGE_BTRFS_PROGS is not set +# BR2_PACKAGE_CIFS_UTILS is not set +# BR2_PACKAGE_CPIO is not set +# BR2_PACKAGE_CRAMFS is not set +# BR2_PACKAGE_CURLFTPFS is not set +# BR2_PACKAGE_DAVFS2 is not set +# BR2_PACKAGE_DOSFSTOOLS is not set +# BR2_PACKAGE_E2FSPROGS is not set +# BR2_PACKAGE_E2TOOLS is not set +# BR2_PACKAGE_ECRYPTFS_UTILS is not set +# BR2_PACKAGE_EROFS_UTILS is not set +# BR2_PACKAGE_EXFAT is not set +# BR2_PACKAGE_EXFAT_UTILS is not set +# BR2_PACKAGE_EXFATPROGS is not set +# BR2_PACKAGE_F2FS_TOOLS is not set +# BR2_PACKAGE_FIRMWARE_UTILS is not set +# BR2_PACKAGE_FLASHBENCH is not set +# BR2_PACKAGE_FSCRYPTCTL is not set +# BR2_PACKAGE_FUSE_OVERLAYFS is not set +# BR2_PACKAGE_FWUP is not set +# BR2_PACKAGE_GENEXT2FS is not set +# BR2_PACKAGE_GENPART is not set +# BR2_PACKAGE_IMX_USB_LOADER is not set +# BR2_PACKAGE_MMC_UTILS is not set +# BR2_PACKAGE_MTD is not set +# BR2_PACKAGE_MTOOLS is not set +# BR2_PACKAGE_NFS_UTILS is not set +# BR2_PACKAGE_NILFS_UTILS is not set +# BR2_PACKAGE_NTFS_3G is not set +# BR2_PACKAGE_SP_OOPS_EXTRACT is not set +# BR2_PACKAGE_SQUASHFS is not set +# BR2_PACKAGE_SSHFS is not set +# BR2_PACKAGE_UDFTOOLS is not set +# BR2_PACKAGE_UNIONFS is not set + +# +# xfsprogs needs a toolchain w/ threads, C++ +# +# BR2_PACKAGE_ZEROFREE is not set + +# +# zfs needs udev /dev management +# + +# +# Fonts, cursors, icons, sounds and themes +# + +# +# Cursors +# +# BR2_PACKAGE_COMIX_CURSORS is not set + +# +# Fonts +# +# BR2_PACKAGE_BITSTREAM_VERA is not set +# BR2_PACKAGE_CANTARELL is not set +# BR2_PACKAGE_DEJAVU is not set +# BR2_PACKAGE_FONT_AWESOME is not set +# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set +# BR2_PACKAGE_INCONSOLATA is not set +# BR2_PACKAGE_LIBERATION is not set +# BR2_PACKAGE_WQY_ZENHEI is not set + +# +# Icons +# +# BR2_PACKAGE_HICOLOR_ICON_THEME is not set + +# +# Sounds +# +# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set +# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set + +# +# Themes +# + +# +# Games +# +# BR2_PACKAGE_ASCII_INVADERS is not set +# BR2_PACKAGE_CHOCOLATE_DOOM is not set + +# +# flare-engine needs a toolchain w/ C++, dynamic library +# + +# +# gnuchess needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LBREAKOUT2 is not set +# BR2_PACKAGE_LTRIS is not set +# BR2_PACKAGE_OPENTYRIAN is not set +# BR2_PACKAGE_PRBOOM is not set +# BR2_PACKAGE_SL is not set + +# +# solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.9, NPTL, dynamic library, and luajit or lua 5.1 +# + +# +# stella needs a toolchain w/ dynamic library, C++, threads, gcc >= 7 +# +# BR2_PACKAGE_XORCURSES is not set + +# +# Graphic libraries and applications (graphic/text) +# + +# +# Graphic applications +# + +# +# cage needs udev, EGL and OpenGL ES support +# + +# +# cog needs wpewebkit and a toolchain w/ threads +# + +# +# dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 +# + +# +# flutter packages need flutter-engine +# + +# +# flutter-pi needs GBM, systemd, and udev +# +# BR2_PACKAGE_FOOT is not set +# BR2_PACKAGE_FSWEBCAM is not set +# BR2_PACKAGE_GHOSTSCRIPT is not set + +# +# glmark2 needs a toolchain w/ C++, gcc >= 4.9 +# + +# +# glslsandbox-player needs openGL ES and EGL driver +# +# BR2_PACKAGE_GNUPLOT is not set + +# +# igt-gpu-tools needs udev /dev management and toolchain w/ NPTL, wchar, dynamic library, locale, headers >= 4.11 +# +# BR2_PACKAGE_JHEAD is not set + +# +# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support +# + +# +# libva-utils needs a toolchain w/ C++, threads, dynamic library +# +BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y +# BR2_PACKAGE_NETSURF is not set +# BR2_PACKAGE_PNGQUANT is not set +# BR2_PACKAGE_RRDTOOL is not set + +# +# spirv-tools needs a toolchain w/ C++, dynamic library, gcc >= 8 +# + +# +# stellarium needs Qt5 and an OpenGL provider +# + +# +# sway needs systemd, udev, EGL and OpenGL ES support +# + +# +# sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 +# +# BR2_PACKAGE_SWAYBG is not set + +# +# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 8, dynamic library, wchar +# + +# +# Graphic libraries +# + +# +# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 +# + +# +# efl needs a toolchain w/ C++, dynamic library, gcc >= 4.9, host gcc >= 4.9, threads, wchar +# +# BR2_PACKAGE_FB_TEST_APP is not set +# BR2_PACKAGE_FBDUMP is not set +# BR2_PACKAGE_FBGRAB is not set + +# +# fbterm needs a toolchain w/ C++, wchar, locale +# +# BR2_PACKAGE_FBV is not set + +# +# freerdp needs a toolchain w/ wchar, dynamic library, threads, C++ +# +# BR2_PACKAGE_GRAPHICSMAGICK is not set +# BR2_PACKAGE_IMAGEMAGICK is not set +# BR2_PACKAGE_LIBGLVND is not set + +# +# mesa3d needs a toolchain w/ gcc >=8, C++, NPTL, dynamic library +# + +# +# ocrad needs a toolchain w/ C++ +# + +# +# ogre needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads, wchar +# +# BR2_PACKAGE_PSPLASH is not set +# BR2_PACKAGE_SDL is not set +# BR2_PACKAGE_SDL2 is not set + +# +# spirv-headers needs a toolchain w/ C++ +# +# BR2_PACKAGE_VULKAN_HEADERS is not set + +# +# vulkan-loader needs a toolchain w/ C++, dynamic library, threads +# + +# +# vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9 +# + +# +# Other GUIs +# + +# +# Qt5 needs host g++ >= 5.0, and a toolchain w/ gcc >= 5.0, wchar, NPTL, C++, dynamic library +# + +# +# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library +# + +# +# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 +# +# BR2_PACKAGE_XORG7 is not set + +# +# apitrace needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 7 +# + +# +# mupdf needs a toolchain w/ C++, gcc >= 4.9 +# + +# +# vte needs a uClibc or glibc toolchain w/ wchar, threads, C++, gcc >= 10 +# + +# +# vte needs an OpenGL or an OpenGL-EGL backend +# +# BR2_PACKAGE_XKEYBOARD_CONFIG is not set + +# +# Hardware handling +# + +# +# Firmware +# +# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set +# BR2_PACKAGE_B43_FIRMWARE is not set +# BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI is not set +# BR2_PACKAGE_LINUX_FIRMWARE is not set +# BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_NXP_BT_WIFI_FIRMWARE is not set +# BR2_PACKAGE_ODROIDC2_FIRMWARE is not set +# BR2_PACKAGE_PANEL_MIPI_DBI_FIRMWARE is not set +# BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set +# BR2_PACKAGE_QORIQ_FM_UCODE is not set +# BR2_PACKAGE_RCW_SMARC_SAL28 is not set +# BR2_PACKAGE_UX500_FIRMWARE is not set +# BR2_PACKAGE_WILC1000_FIRMWARE is not set +# BR2_PACKAGE_WILC3000_FIRMWARE is not set +# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set +# BR2_PACKAGE_ZD1211_FIRMWARE is not set +# BR2_PACKAGE_18XX_TI_UTILS is not set +# BR2_PACKAGE_ACPICA is not set +# BR2_PACKAGE_ACPID is not set + +# +# acpitool needs a toolchain w/ threads, C++, dynamic library +# +# BR2_PACKAGE_AER_INJECT is not set +# BR2_PACKAGE_ALTERA_STAPL is not set + +# +# apcupsd needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_AVRDUDE is not set + +# +# bcache-tools needs udev /dev management +# +# BR2_PACKAGE_BFSCRIPTS is not set + +# +# brickd needs udev /dev management, a toolchain w/ threads, wchar +# +# BR2_PACKAGE_BRLTTY is not set + +# +# cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 +# +# BR2_PACKAGE_CDRKIT is not set +# BR2_PACKAGE_CRYPTSETUP is not set +# BR2_PACKAGE_CWIID is not set +# BR2_PACKAGE_DAHDI_LINUX is not set +# BR2_PACKAGE_DAHDI_TOOLS is not set +# BR2_PACKAGE_DBUS is not set + +# +# dbusbroker needs systemd and a toolchain w/ threads +# + +# +# dbus-cxx needs a toolchain w/ C++, threads, gcc >= 7 and dynamic library support +# +# BR2_PACKAGE_DFU_PROGRAMMER is not set +# BR2_PACKAGE_DFU_UTIL is not set +# BR2_PACKAGE_DMRAID is not set + +# +# dt-utils needs udev /dev management +# +# BR2_PACKAGE_DTBOCFG is not set +# BR2_PACKAGE_DTV_SCAN_TABLES is not set +# BR2_PACKAGE_DUMP1090 is not set +# BR2_PACKAGE_DVBSNOOP is not set + +# +# edid-decode needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_ESP_HOSTED is not set + +# +# eudev needs eudev /dev management +# +# BR2_PACKAGE_EVEMU is not set +# BR2_PACKAGE_EVTEST is not set +BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y +# BR2_PACKAGE_FLASHROM is not set +# BR2_PACKAGE_FMTOOLS is not set +# BR2_PACKAGE_FREEIPMI is not set +# BR2_PACKAGE_FWUPD is not set +# BR2_PACKAGE_FXLOAD is not set +# BR2_PACKAGE_GPM is not set +# BR2_PACKAGE_GPSD is not set + +# +# gptfdisk needs a toolchain w/ C++ +# +# BR2_PACKAGE_GVFS is not set +# BR2_PACKAGE_HDDTEMP is not set +# BR2_PACKAGE_HWDATA is not set +# BR2_PACKAGE_HWLOC is not set +# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOTOOLS is not set +# BR2_PACKAGE_IPMITOOL is not set +# BR2_PACKAGE_IRDA_UTILS is not set +# BR2_PACKAGE_KBD is not set +# BR2_PACKAGE_LCDPROC is not set + +# +# ledmon needs udev and a toolchain w/ threads +# + +# +# libiec61850 needs a toolchain w/ C++, threads, dynamic library +# +# BR2_PACKAGE_LIBMANETTE is not set +# BR2_PACKAGE_LIBUBOOTENV is not set +# BR2_PACKAGE_LIBUIO is not set +# BR2_PACKAGE_LINUX_BACKPORTS is not set +# BR2_PACKAGE_LINUX_SERIAL_TEST is not set +# BR2_PACKAGE_LINUXCONSOLETOOLS is not set + +# +# lirc-tools needs a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_LM_SENSORS is not set + +# +# lshw needs a toolchain w/ C++, wchar +# +# BR2_PACKAGE_LSSCSI is not set +# BR2_PACKAGE_LSUIO is not set +# BR2_PACKAGE_LUKSMETA is not set +# BR2_PACKAGE_LVM2 is not set +# BR2_PACKAGE_MBPFAN is not set +# BR2_PACKAGE_MDADM is not set +# BR2_PACKAGE_MDEVD is not set +# BR2_PACKAGE_MDIO_TOOLS is not set +# BR2_PACKAGE_MEMTESTER is not set +# BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MHZ is not set +# BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_MXT_APP is not set +# BR2_PACKAGE_NANOCOM is not set +# BR2_PACKAGE_NEARD is not set +# BR2_PACKAGE_NVIDIA_MODPROBE is not set +# BR2_PACKAGE_NVIDIA_PERSISTENCED is not set +# BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_NXP_MWIFIEX is not set +# BR2_PACKAGE_OFONO is not set + +# +# ola needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# +# BR2_PACKAGE_OPEN2300 is not set + +# +# openfpgaloader needs a toolchain w/ threads, C++, gcc >= 4.9 +# +# BR2_PACKAGE_OPENIPMI is not set +# BR2_PACKAGE_OPENOCD is not set +# BR2_PACKAGE_PARTED is not set +# BR2_PACKAGE_PCIUTILS is not set +# BR2_PACKAGE_PDBG is not set +# BR2_PACKAGE_PICOCOM is not set + +# +# picotool needs a toolchain w/ C++, threads, gcc >= 4.9 +# + +# +# powertop needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_PPS_TOOLS is not set + +# +# pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5 +# +# BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE is not set +# BR2_PACKAGE_RASPI_GPIO is not set +# BR2_PACKAGE_RDMA_CORE is not set +# BR2_PACKAGE_READ_EDID is not set +# BR2_PACKAGE_RNG_TOOLS is not set +# BR2_PACKAGE_RS485CONF is not set +# BR2_PACKAGE_RTC_TOOLS is not set +# BR2_PACKAGE_RTL8188EU is not set +# BR2_PACKAGE_RTL8189ES is not set +# BR2_PACKAGE_RTL8189FS is not set +# BR2_PACKAGE_RTL8192EU is not set +# BR2_PACKAGE_RTL8723BU is not set +# BR2_PACKAGE_RTL8723DS is not set +# BR2_PACKAGE_RTL8723DS_BT is not set +# BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set +# BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_RTL8821CU is not set +# BR2_PACKAGE_RTL8822CS is not set +# BR2_PACKAGE_SANE_BACKENDS is not set +# BR2_PACKAGE_SDPARM is not set +# BR2_PACKAGE_SETSERIAL is not set +# BR2_PACKAGE_SG3_UTILS is not set +# BR2_PACKAGE_SIGROK_CLI is not set +# BR2_PACKAGE_SISPMCTL is not set + +# +# smartmontools needs a toolchain w/ C++ +# +# BR2_PACKAGE_SMSTOOLS3 is not set +# BR2_PACKAGE_SPI_TOOLS is not set +# BR2_PACKAGE_SREDIRD is not set +# BR2_PACKAGE_STATSERIAL is not set +# BR2_PACKAGE_STM32FLASH is not set +# BR2_PACKAGE_SYSSTAT is not set +# BR2_PACKAGE_TI_UIM is not set +# BR2_PACKAGE_TI_UTILS is not set + +# +# tio needs lua (but not luajit) +# +# BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_BOOTCOUNT is not set +# BR2_PACKAGE_UBOOT_TOOLS is not set +# BR2_PACKAGE_UBUS is not set + +# +# udisks needs udev /dev management +# +# BR2_PACKAGE_UHUBCTL is not set +# BR2_PACKAGE_UMTPRD is not set + +# +# upower needs udev /dev management +# +# BR2_PACKAGE_USB_MODESWITCH is not set +# BR2_PACKAGE_USB_MODESWITCH_DATA is not set + +# +# usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 +# + +# +# usbip needs udev /dev management +# + +# +# usbmount requires udev to be enabled +# + +# +# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 +# +# BR2_PACKAGE_WILC_DRIVER is not set +# BR2_PACKAGE_WIPE is not set +# BR2_PACKAGE_XORRISO is not set +# BR2_PACKAGE_XR819_XRADIO is not set + +# +# Interpreter languages and scripting +# +# BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_CHICKEN is not set +# BR2_PACKAGE_ENSCRIPT is not set +BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y +# BR2_PACKAGE_EXECLINE is not set +# BR2_PACKAGE_FICL is not set +# BR2_PACKAGE_GUILE is not set +# BR2_PACKAGE_HASERL is not set +# BR2_PACKAGE_JANET is not set +# BR2_PACKAGE_JIMTCL is not set +# BR2_PACKAGE_LUA is not set +BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" +# BR2_PACKAGE_MICROPYTHON is not set +# BR2_PACKAGE_MOARVM is not set +BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y +BR2_PACKAGE_PROVIDES_NODEJS="nodejs-src" + +# +# octave needs a toolchain w/ C++ and fortran, gcc >= 4.8 +# +BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERL is not set +BR2_PACKAGE_PHP_ARCH_SUPPORTS=y +# BR2_PACKAGE_PHP is not set +# BR2_PACKAGE_PYTHON3 is not set +# BR2_PACKAGE_QUICKJS is not set +# BR2_PACKAGE_RUBY is not set +BR2_PACKAGE_SWIPL_ARCH_SUPPORTS=y +# BR2_PACKAGE_SWIPL is not set +# BR2_PACKAGE_TCL is not set + +# +# Libraries +# + +# +# Audio/Sound +# +# BR2_PACKAGE_ALSA_LIB is not set + +# +# alure needs a toolchain w/ C++, gcc >= 4.9, NPTL, wchar +# +# BR2_PACKAGE_AUBIO is not set +# BR2_PACKAGE_BCG729 is not set + +# +# caps needs a toolchain w/ C++, dynamic library +# +BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS=y + +# +# gtkiostream needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBAO is not set +# BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCANBERRA is not set +# BR2_PACKAGE_LIBCDAUDIO is not set +# BR2_PACKAGE_LIBCDDB is not set +# BR2_PACKAGE_LIBCDIO is not set +# BR2_PACKAGE_LIBCDIO_PARANOIA is not set +# BR2_PACKAGE_LIBCODEC2 is not set +# BR2_PACKAGE_LIBCUE is not set +# BR2_PACKAGE_LIBCUEFILE is not set +# BR2_PACKAGE_LIBG7221 is not set +# BR2_PACKAGE_LIBGSM is not set +# BR2_PACKAGE_LIBID3TAG is not set +# BR2_PACKAGE_LIBILBC is not set +# BR2_PACKAGE_LIBLO is not set +# BR2_PACKAGE_LIBMAD is not set + +# +# libmodplug needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBMPDCLIENT is not set + +# +# libopenmpt needs a toolchain w/ threads, C++, gcc >= 7 +# +# BR2_PACKAGE_LIBREPLAYGAIN is not set +# BR2_PACKAGE_LIBSAMPLERATE is not set + +# +# libsidplay2 needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBSILK is not set +# BR2_PACKAGE_LIBSNDFILE is not set + +# +# libsoundtouch needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBSOXR is not set +# BR2_PACKAGE_LIBVORBIS is not set +# BR2_PACKAGE_LILV is not set +# BR2_PACKAGE_LV2 is not set + +# +# mp4v2 needs a toolchain w/ C++ +# +BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y + +# +# openal needs a toolchain w/ NPTL, C++, gcc >= 4.9 +# + +# +# opencore-amr needs a toolchain w/ C++ +# +# BR2_PACKAGE_OPUS is not set +# BR2_PACKAGE_OPUSFILE is not set +# BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_RNNOISE is not set +# BR2_PACKAGE_SBC is not set +# BR2_PACKAGE_SPANDSP is not set +# BR2_PACKAGE_SPEEX is not set +# BR2_PACKAGE_SPEEXDSP is not set +# BR2_PACKAGE_SRATOM is not set + +# +# taglib needs a toolchain w/ C++, wchar +# +# BR2_PACKAGE_TINYALSA is not set +# BR2_PACKAGE_TREMOR is not set +# BR2_PACKAGE_VO_AACENC is not set + +# +# Compression and decompression +# +# BR2_PACKAGE_LIBARCHIVE is not set +# BR2_PACKAGE_LIBDEFLATE is not set +# BR2_PACKAGE_LIBJCAT is not set +# BR2_PACKAGE_LIBMSPACK is not set + +# +# libsquish needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBZIP is not set +# BR2_PACKAGE_LZ4 is not set +# BR2_PACKAGE_LZO is not set +# BR2_PACKAGE_MINIZIP is not set +# BR2_PACKAGE_MINIZIP_ZLIB is not set + +# +# snappy needs a toolchain w/ C++ +# +# BR2_PACKAGE_SZIP is not set +# BR2_PACKAGE_ZCHUNK is not set +BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS=y +# BR2_PACKAGE_ZLIB is not set +BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" +# BR2_PACKAGE_ZZIPLIB is not set + +# +# Crypto +# +# BR2_PACKAGE_BEARSSL is not set +BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y + +# +# botan needs a toolchain w/ threads, C++, gcc >= 11 +# +# BR2_PACKAGE_CA_CERTIFICATES is not set +# BR2_PACKAGE_CRYPTODEV_LINUX is not set + +# +# cryptopp needs a toolchain w/ C++, dynamic library, wchar +# +# BR2_PACKAGE_GCR is not set +# BR2_PACKAGE_GNUTLS is not set +# BR2_PACKAGE_LIBARGON2 is not set +# BR2_PACKAGE_LIBASSUAN is not set +# BR2_PACKAGE_LIBB2 is not set +# BR2_PACKAGE_LIBGCRYPT is not set +BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBGPG_ERROR is not set +BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv32-unknown-linux-gnu" +# BR2_PACKAGE_LIBGPGME is not set +# BR2_PACKAGE_LIBKCAPI is not set +# BR2_PACKAGE_LIBKSBA is not set +# BR2_PACKAGE_LIBMD is not set +# BR2_PACKAGE_LIBMHASH is not set +# BR2_PACKAGE_LIBNSS is not set + +# +# libolm needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_LIBP11 is not set +# BR2_PACKAGE_LIBSCRYPT is not set +# BR2_PACKAGE_LIBSECRET is not set +# BR2_PACKAGE_LIBSHA1 is not set +# BR2_PACKAGE_LIBSODIUM is not set +# BR2_PACKAGE_LIBSSH is not set +# BR2_PACKAGE_LIBSSH2 is not set +# BR2_PACKAGE_LIBTOMCRYPT is not set +# BR2_PACKAGE_LIBUECC is not set +# BR2_PACKAGE_LIBXCRYPT is not set +# BR2_PACKAGE_MBEDTLS is not set +# BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OATH_TOOLKIT is not set +# BR2_PACKAGE_OPENSSL is not set +BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" +# BR2_PACKAGE_PKCS11_HELPER is not set +# BR2_PACKAGE_RHASH is not set +# BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_OPENSSL is not set +# BR2_PACKAGE_TPM2_PKCS11 is not set +# BR2_PACKAGE_TPM2_TSS is not set +# BR2_PACKAGE_TROUSERS is not set +# BR2_PACKAGE_USTREAM_SSL is not set +BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS=y +# BR2_PACKAGE_WOLFSSL is not set +# BR2_PACKAGE_WOLFTPM is not set + +# +# Database +# +# BR2_PACKAGE_BERKELEYDB is not set +# BR2_PACKAGE_GDBM is not set +# BR2_PACKAGE_HIREDIS is not set + +# +# kompexsqlite needs a toolchain w/ C++, wchar, threads, dynamic library +# + +# +# leveldb needs a toolchain w/ C++, threads, gcc >= 4.8 +# +# BR2_PACKAGE_LIBDBI is not set +# BR2_PACKAGE_LIBDBI_DRIVERS is not set +# BR2_PACKAGE_LIBGIT2 is not set +# BR2_PACKAGE_LIBMDBX is not set + +# +# libodb needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LMDB is not set + +# +# mariadb needs a toolchain w/ dynamic library, C++, threads, wchar +# +# BR2_PACKAGE_POSTGRESQL is not set +# BR2_PACKAGE_REDIS is not set + +# +# redis-plus-plus needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_SQLCIPHER is not set +# BR2_PACKAGE_SQLITE is not set + +# +# sqlitecpp needs a toolchain w/ C++11, gcc >= 4.9 +# +# BR2_PACKAGE_UNIXODBC is not set + +# +# Filesystem +# +# BR2_PACKAGE_LIBCONFIG is not set +# BR2_PACKAGE_LIBCONFUSE is not set +# BR2_PACKAGE_LIBFUSE is not set +# BR2_PACKAGE_LIBFUSE3 is not set +# BR2_PACKAGE_LIBLOCKFILE is not set +# BR2_PACKAGE_LIBNFS is not set +# BR2_PACKAGE_LIBSYSFS is not set +# BR2_PACKAGE_LOCKDEV is not set + +# +# physfs needs a toolchain w/ C++, threads +# + +# +# Graphics +# + +# +# assimp needs a toolchain w/ C++, wchar, gcc >= 7 +# +# BR2_PACKAGE_AT_SPI2_CORE is not set + +# +# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library +# + +# +# atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library +# + +# +# bullet needs a toolchain w/ C++, dynamic library, threads, wchar +# +# BR2_PACKAGE_CAIRO is not set + +# +# cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# + +# +# cairomm (1.14.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + +# +# chipmunk needs an OpenGL backend +# + +# +# exempi needs a toolchain w/ C++, dynamic library, threads, wchar +# + +# +# exiv2 needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads +# +# BR2_PACKAGE_FONTCONFIG is not set +# BR2_PACKAGE_FREETYPE is not set +# BR2_PACKAGE_GD is not set +# BR2_PACKAGE_GDK_PIXBUF is not set +# BR2_PACKAGE_GIFLIB is not set + +# +# granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9 +# +# BR2_PACKAGE_GRAPHENE is not set + +# +# graphite2 needs a toolchain w/ C++ +# + +# +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library +# + +# +# harfbuzz needs a toolchain w/ C++, gcc >= 4.9 +# +# BR2_PACKAGE_IJS is not set +# BR2_PACKAGE_IMLIB2 is not set + +# +# intel-gmmlib needs a toolchain w/ dynamic library, C++, threads +# + +# +# irrlicht needs a toolchain w/ C++ +# +# BR2_PACKAGE_JASPER is not set +# BR2_PACKAGE_JBIG2DEC is not set +# BR2_PACKAGE_JPEG is not set + +# +# kms++ needs a toolchain w/ threads, C++, gcc >= 4.8, headers >= 4.11, wchar +# +# BR2_PACKAGE_LCMS2 is not set + +# +# lensfun needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_LEPTONICA is not set +# BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBAVIF is not set + +# +# libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# +# BR2_PACKAGE_LIBDMTX is not set +# BR2_PACKAGE_LIBDRM is not set + +# +# libepoxy needs an OpenGL and/or OpenGL EGL backend +# +# BR2_PACKAGE_LIBEXIF is not set + +# +# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# +# BR2_PACKAGE_LIBFM_EXTRA is not set + +# +# libfreeglut depends on X.org and needs an OpenGL backend +# + +# +# libfreeimage needs a toolchain w/ C++, dynamic library, wchar +# + +# +# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar +# + +# +# libglew depends on X.org and needs an OpenGL backend +# + +# +# libglfw depends on X.org or Wayland and an OpenGL or GLES backend +# + +# +# libglu needs an OpenGL backend +# +# BR2_PACKAGE_LIBGTA is not set + +# +# libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# libgtk3 needs an OpenGL or an OpenGL-EGL backend +# + +# +# libgtk4 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# libgtk4 needs an OpenGL(ES) EGL backend +# + +# +# libjxl needs a toolchain with C++, threads, gcc >= 7, dynamic library +# +# BR2_PACKAGE_LIBMEDIAART is not set +# BR2_PACKAGE_LIBMNG is not set +# BR2_PACKAGE_LIBPNG is not set +# BR2_PACKAGE_LIBQRENCODE is not set + +# +# libraw needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBSVG is not set +# BR2_PACKAGE_LIBSVG_CAIRO is not set +# BR2_PACKAGE_LIBSVGTINY is not set +# BR2_PACKAGE_LIBVA is not set + +# +# libvips needs a toolchain w/ wchar, threads, C++ +# + +# +# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend +# +# BR2_PACKAGE_MENU_CACHE is not set + +# +# opencv3 needs a toolchain w/ C++, NPTL, wchar, dynamic library +# + +# +# opencv4 needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 4.8 +# +# BR2_PACKAGE_OPENJPEG is not set + +# +# pango needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# + +# +# pangomm (2.46.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# +# BR2_PACKAGE_PIXMAN is not set + +# +# poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 7 +# +# BR2_PACKAGE_STB is not set +# BR2_PACKAGE_TIFF is not set +# BR2_PACKAGE_WAYLAND is not set +BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y + +# +# webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9 +# +# BR2_PACKAGE_WEBP is not set + +# +# wlroots needs udev, EGL and OpenGL ES support +# + +# +# woff2 needs a toolchain w/ C++ +# + +# +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and EGL support +# +BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y + +# +# wpewebkit needs a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9 +# + +# +# wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend +# + +# +# zbar needs a toolchain w/ threads, C++ and headers >= 3.0 +# + +# +# zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads +# + +# +# Hardware handling +# +# BR2_PACKAGE_ACSCCID is not set +# BR2_PACKAGE_C_PERIPHERY is not set +# BR2_PACKAGE_CCID is not set +# BR2_PACKAGE_DTC is not set +# BR2_PACKAGE_HACKRF is not set + +# +# hidapi needs udev /dev management and a toolchain w/ NPTL, gcc >= 4.9 +# +# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set + +# +# lcdapi needs a toolchain w/ C++, threads +# + +# +# let-me-create needs a toolchain w/ C++, threads, dynamic library +# +# BR2_PACKAGE_LIBAIO is not set + +# +# libatasmart requires udev to be enabled +# + +# +# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale +# + +# +# libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7 +# +# BR2_PACKAGE_LIBDISPLAY_INFO is not set +# BR2_PACKAGE_LIBFREEFARE is not set +# BR2_PACKAGE_LIBFTDI is not set +# BR2_PACKAGE_LIBFTDI1 is not set +# BR2_PACKAGE_LIBGPHOTO2 is not set +# BR2_PACKAGE_LIBGPIOD is not set +# BR2_PACKAGE_LIBGPIOD2 is not set + +# +# libgudev needs udev /dev handling and a toolchain w/ wchar, threads +# +# BR2_PACKAGE_LIBIIO is not set + +# +# libinput needs udev /dev management +# +# BR2_PACKAGE_LIBIQRF is not set +# BR2_PACKAGE_LIBLLCP is not set +# BR2_PACKAGE_LIBMBIM is not set +# BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBNVME is not set +# BR2_PACKAGE_LIBPCIACCESS is not set +# BR2_PACKAGE_LIBPHIDGET is not set +# BR2_PACKAGE_LIBPRI is not set +# BR2_PACKAGE_LIBQMI is not set +# BR2_PACKAGE_LIBQRTR_GLIB is not set +# BR2_PACKAGE_LIBRAW1394 is not set +# BR2_PACKAGE_LIBRTLSDR is not set + +# +# libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar +# +# BR2_PACKAGE_LIBSERIALPORT is not set +# BR2_PACKAGE_LIBSIGROK is not set +# BR2_PACKAGE_LIBSIGROKDECODE is not set +# BR2_PACKAGE_LIBSOC is not set +# BR2_PACKAGE_LIBSS7 is not set +# BR2_PACKAGE_LIBUSB is not set +# BR2_PACKAGE_LIBUSBGX is not set + +# +# libv4l needs a toolchain w/ threads, C++ and headers >= 3.0 +# +# BR2_PACKAGE_LIBXKBCOMMON is not set +# BR2_PACKAGE_MTDEV is not set +# BR2_PACKAGE_NEARDAL is not set +# BR2_PACKAGE_OPENSC is not set +# BR2_PACKAGE_OWFS is not set +# BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_PICO_SDK is not set +# BR2_PACKAGE_TSLIB is not set + +# +# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 7 +# + +# +# urg needs a toolchain w/ C++ +# + +# +# Javascript +# +# BR2_PACKAGE_BOOTSTRAP is not set +# BR2_PACKAGE_CHARTJS is not set +# BR2_PACKAGE_DATATABLES is not set +# BR2_PACKAGE_DUKTAPE is not set +# BR2_PACKAGE_EXPLORERCANVAS is not set +# BR2_PACKAGE_FLOT is not set +# BR2_PACKAGE_FORGE is not set +# BR2_PACKAGE_JQUERY is not set +# BR2_PACKAGE_JSMIN is not set +# BR2_PACKAGE_JSON_JAVASCRIPT is not set +# BR2_PACKAGE_JSZIP is not set +# BR2_PACKAGE_OPENLAYERS is not set +# BR2_PACKAGE_VIS_NETWORK is not set +# BR2_PACKAGE_VUEJS is not set + +# +# JSON/XML +# + +# +# benejson needs a toolchain w/ C++ +# +# BR2_PACKAGE_CJSON is not set +# BR2_PACKAGE_EXPAT is not set +# BR2_PACKAGE_JANSSON is not set +# BR2_PACKAGE_JOSE is not set +# BR2_PACKAGE_JSMN is not set +# BR2_PACKAGE_JSON_C is not set + +# +# json-for-modern-cpp needs a toolchain w/ C++, gcc >= 4.9 +# +# BR2_PACKAGE_JSON_GLIB is not set + +# +# jsoncpp needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_LIBBSON is not set +# BR2_PACKAGE_LIBFASTJSON is not set + +# +# libjson needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBJWT is not set +# BR2_PACKAGE_LIBROXML is not set +# BR2_PACKAGE_LIBUCL is not set +# BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLB is not set + +# +# libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# +# BR2_PACKAGE_LIBXMLRPC is not set +# BR2_PACKAGE_LIBXSLT is not set +# BR2_PACKAGE_LIBYAML is not set +# BR2_PACKAGE_MXML is not set + +# +# pugixml needs a toolchain w/ C++ +# + +# +# rapidjson needs a toolchain w/ C++ +# +# BR2_PACKAGE_RAPIDXML is not set +# BR2_PACKAGE_RAPTOR is not set +# BR2_PACKAGE_SERD is not set +# BR2_PACKAGE_SORD is not set + +# +# tinyxml needs a toolchain w/ C++ +# + +# +# tinyxml2 needs a toolchain w/ C++ +# + +# +# valijson needs a toolchain w/ C++ +# + +# +# xerces-c++ needs a toolchain w/ C++, dynamic library, wchar +# + +# +# xml-security-c needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 4.7 +# +# BR2_PACKAGE_YAJL is not set + +# +# yaml-cpp needs a toolchain w/ C++, gcc >= 4.7 +# + +# +# Logging +# + +# +# glog needs a toolchain w/ C++, threads, gcc >= 6 +# + +# +# hawktracer needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set +# BR2_PACKAGE_LIBLOGGING is not set + +# +# log4cplus needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 +# + +# +# log4cpp needs a toolchain w/ C++, threads +# + +# +# log4cxx needs a toolchain w/ C++, threads, dynamic library, wchar +# + +# +# log4qt needs qt5 +# + +# +# opentracing-cpp needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# + +# +# spdlog needs a toolchain w/ C++, threads, wchar +# + +# +# ulog needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_ZLOG is not set + +# +# Multimedia +# + +# +# bento4 support needs a toolchain with C++ +# +# BR2_PACKAGE_BITSTREAM is not set +# BR2_PACKAGE_DAV1D is not set + +# +# kvazaar needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBAACS is not set + +# +# libass needs a toolchain w/ C++, gcc >= 4.9 +# +# BR2_PACKAGE_LIBBDPLUS is not set +# BR2_PACKAGE_LIBBLURAY is not set +BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y + +# +# libcamera needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 +# + +# +# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, headers >= 5.5 +# + +# +# libde265 needs a toolchain w/ threads, C++ +# +# BR2_PACKAGE_LIBDVBCSA is not set +# BR2_PACKAGE_LIBDVBPSI is not set + +# +# libdvbsi++ needs a toolchain w/ C++, wchar, threads +# +# BR2_PACKAGE_LIBDVDCSS is not set +# BR2_PACKAGE_LIBDVDNAV is not set +# BR2_PACKAGE_LIBDVDREAD is not set + +# +# libebml needs a toolchain w/ C++, wchar, gcc >= 4.9 +# +# BR2_PACKAGE_LIBHDHOMERUN is not set + +# +# libheif needs a toolchain w/ C++, gcc >= 4.8 +# + +# +# libmatroska needs a toolchain w/ C++, wchar, gcc >= 4.9 +# +# BR2_PACKAGE_LIBMMS is not set +# BR2_PACKAGE_LIBMPEG2 is not set +# BR2_PACKAGE_LIBOGG is not set +# BR2_PACKAGE_LIBOPENAPTX is not set +# BR2_PACKAGE_LIBOPUSENC is not set +# BR2_PACKAGE_LIBTHEORA is not set +# BR2_PACKAGE_LIBUDFREAD is not set +# BR2_PACKAGE_LIBVPX is not set + +# +# libyuv needs a toolchain w/ C++, dynamic library +# + +# +# live555 needs a toolchain w/ C++ +# + +# +# mediastreamer needs a toolchain w/ threads, C++, dynamic library, gcc >= 5 +# +# BR2_PACKAGE_X264 is not set + +# +# x265 needs a toolchain w/ C++, threads, dynamic library +# + +# +# Networking +# + +# +# agent++ needs a toolchain w/ threads, C++, dynamic library +# + +# +# azmq needs a toolchain w/ C++11, wchar and threads +# + +# +# azure-iot-sdk-c needs a toolchain w/ C++, NPTL and wchar +# +# BR2_PACKAGE_BATMAN_ADV is not set + +# +# belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar +# +# BR2_PACKAGE_C_ARES is not set + +# +# cpp-httplib needs a toolchain w/ C++, wchar, threads +# + +# +# cppzmq needs a toolchain w/ C++, threads +# + +# +# curlpp needs a toolchain w/ C++, dynamic library +# + +# +# czmq needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_DAQ is not set +# BR2_PACKAGE_DAQ3 is not set +# BR2_PACKAGE_DAVICI is not set +# BR2_PACKAGE_DHT is not set +# BR2_PACKAGE_ENET is not set + +# +# filemq needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_FREERADIUS_CLIENT is not set +# BR2_PACKAGE_GENSIO is not set +# BR2_PACKAGE_GEOIP is not set +# BR2_PACKAGE_GLIB_NETWORKING is not set + +# +# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 +# +# BR2_PACKAGE_GSSDP is not set +# BR2_PACKAGE_GUPNP is not set +# BR2_PACKAGE_GUPNP_AV is not set +# BR2_PACKAGE_GUPNP_DLNA is not set + +# +# ibrcommon needs a toolchain w/ C++, threads +# + +# +# ibrdtn needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBCGI is not set + +# +# libcgicc needs a toolchain w/ C++ +# +# BR2_PACKAGE_LIBCOAP is not set + +# +# libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale +# +# BR2_PACKAGE_LIBCURL is not set +# BR2_PACKAGE_LIBDNET is not set +# BR2_PACKAGE_LIBEXOSIP2 is not set +# BR2_PACKAGE_LIBEST is not set +# BR2_PACKAGE_LIBFCGI is not set +# BR2_PACKAGE_LIBGSASL is not set +# BR2_PACKAGE_LIBHTP is not set +# BR2_PACKAGE_LIBHTTPPARSER is not set + +# +# libhttpserver needs a toolchain w/ C++, threads, gcc >= 7 +# +# BR2_PACKAGE_LIBIDN is not set +# BR2_PACKAGE_LIBIDN2 is not set +# BR2_PACKAGE_LIBISCSI is not set +# BR2_PACKAGE_LIBKRB5 is not set +# BR2_PACKAGE_LIBLDNS is not set +# BR2_PACKAGE_LIBMAXMINDDB is not set +# BR2_PACKAGE_LIBMBUS is not set + +# +# libmemcached needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBMICROHTTPD is not set +# BR2_PACKAGE_LIBMINIUPNPC is not set +# BR2_PACKAGE_LIBMNL is not set +# BR2_PACKAGE_LIBMODBUS is not set + +# +# libmodsecurity needs a toolchain w/ C++, threads, dynamic library +# +# BR2_PACKAGE_LIBNATPMP is not set +# BR2_PACKAGE_LIBNDP is not set +# BR2_PACKAGE_LIBNET is not set +# BR2_PACKAGE_LIBNETCONF2 is not set +# BR2_PACKAGE_LIBNETFILTER_ACCT is not set +# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set +# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set +# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set +# BR2_PACKAGE_LIBNETFILTER_LOG is not set +# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set +# BR2_PACKAGE_LIBNFNETLINK is not set +# BR2_PACKAGE_LIBNFTNL is not set +# BR2_PACKAGE_LIBNICE is not set +# BR2_PACKAGE_LIBNIDS is not set +# BR2_PACKAGE_LIBNL is not set + +# +# libnpupnp needs a toolchain w/ C++, threads, gcc >= 4.9 +# +# BR2_PACKAGE_LIBOAUTH is not set +# BR2_PACKAGE_LIBOPING is not set +# BR2_PACKAGE_LIBOSIP2 is not set +# BR2_PACKAGE_LIBPAGEKITE is not set +# BR2_PACKAGE_LIBPCAP is not set + +# +# libpjsip needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBPSL is not set +# BR2_PACKAGE_LIBRELP is not set +# BR2_PACKAGE_LIBRSYNC is not set +# BR2_PACKAGE_LIBSHAIRPLAY is not set +# BR2_PACKAGE_LIBSHOUT is not set +# BR2_PACKAGE_LIBSOCKETCAN is not set +# BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSOUP3 is not set +# BR2_PACKAGE_LIBSRTP is not set +# BR2_PACKAGE_LIBSTROPHE is not set +# BR2_PACKAGE_LIBTEAM is not set +# BR2_PACKAGE_LIBTELNET is not set +# BR2_PACKAGE_LIBTIRPC is not set + +# +# libtorrent needs a toolchain w/ C++, threads +# + +# +# libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 +# +# BR2_PACKAGE_LIBUEV is not set +# BR2_PACKAGE_LIBUHTTPD is not set +# BR2_PACKAGE_LIBUPNP is not set + +# +# libupnpp needs a toolchain w/ C++, threads, gcc >= 4.9 +# +# BR2_PACKAGE_LIBURIPARSER is not set + +# +# libutp support needs a toolchain with C++ +# +# BR2_PACKAGE_LIBUWSC is not set +# BR2_PACKAGE_LIBVNCSERVER is not set +# BR2_PACKAGE_LIBWEBSOCK is not set +# BR2_PACKAGE_LIBWEBSOCKETS is not set +# BR2_PACKAGE_LIBYANG is not set +# BR2_PACKAGE_LIBZENOH_PICO is not set +# BR2_PACKAGE_LKSCTP_TOOLS is not set +# BR2_PACKAGE_MBUFFER is not set +# BR2_PACKAGE_MDNSD is not set +# BR2_PACKAGE_MONGOOSE is not set +# BR2_PACKAGE_NANOMSG is not set +# BR2_PACKAGE_NEON is not set + +# +# netopeer2 needs a toolchain w/ gcc >= 4.8, C++, threads, dynamic library +# +# BR2_PACKAGE_NGHTTP2 is not set + +# +# norm needs a toolchain w/ C++, threads, dynamic library +# +# BR2_PACKAGE_NSS_MYHOSTNAME is not set +# BR2_PACKAGE_NSS_PAM_LDAPD is not set + +# +# oatpp needs a toolchain w/ C++, threads +# + +# +# omniORB needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_OPEN_ISNS is not set +# BR2_PACKAGE_OPEN62541 is not set +# BR2_PACKAGE_OPENLDAP is not set + +# +# openmpi needs a toolchain w/ dynamic library, NPTL, wchar, C++ +# +# BR2_PACKAGE_OPENPGM is not set + +# +# openzwave needs a toolchain w/ C++, dynamic library, NPTL, wchar +# + +# +# ortp needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_PAHO_MQTT_C is not set + +# +# paho-mqtt-cpp needs a toolchain w/ threads, C++ +# + +# +# pistache needs a toolchain w/ C++, gcc >= 7, NPTL, wchar +# +# BR2_PACKAGE_QDECODER is not set + +# +# qpid-proton needs a toolchain w/ C++, dynamic library, threads +# +# BR2_PACKAGE_RABBITMQ_C is not set + +# +# resiprocate needs a toolchain w/ C++, threads, wchar +# + +# +# restclient-cpp needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_RTMPDUMP is not set +# BR2_PACKAGE_SIPROXD is not set +# BR2_PACKAGE_SLIRP is not set + +# +# snmp++ needs a toolchain w/ threads, C++, dynamic library +# +# BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_SSCEP is not set + +# +# sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8 +# + +# +# thrift needs a toolchain w/ C++, wchar, threads +# +# BR2_PACKAGE_USBREDIR is not set + +# +# wampcc needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.9 +# + +# +# websocketpp needs a toolchain w/ C++ and gcc >= 4.8 +# + +# +# zeromq needs a toolchain w/ C++, threads +# + +# +# zmqpp needs a toolchain w/ C++, threads, gcc >= 4.7 +# + +# +# zyre needs a toolchain w/ C++, threads +# + +# +# Other +# + +# +# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.9 +# +# BR2_PACKAGE_APR is not set +# BR2_PACKAGE_APR_UTIL is not set + +# +# atf needs a toolchain w/ C++ +# +# BR2_PACKAGE_AVRO_C is not set +# BR2_PACKAGE_BASU is not set + +# +# bctoolbox needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_BDWGC is not set + +# +# belr needs a toolchain w/ threads, C++ +# + +# +# boost needs a toolchain w/ C++, threads, wchar +# + +# +# c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 +# + +# +# capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 +# + +# +# catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# + +# +# cctz needs a toolchain w/ C++, threads, gcc >= 4.8 +# + +# +# cereal needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# + +# +# clang needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 +# +# BR2_PACKAGE_CMOCKA is not set + +# +# cppcms needs a toolchain w/ C++, NPTL, wchar, dynamic library +# +# BR2_PACKAGE_CRACKLIB is not set + +# +# dawgdic needs a toolchain w/ C++, gcc >= 4.6 +# +# BR2_PACKAGE_DING_LIBS is not set + +# +# dlib needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_DOTCONF is not set + +# +# double-conversion needs a toolchain w/ C++ +# + +# +# eigen needs a toolchain w/ C++ +# +# BR2_PACKAGE_ELFUTILS is not set +# BR2_PACKAGE_ELL is not set + +# +# farmhash needs a toolchain w/ C++11 +# +# BR2_PACKAGE_FFT2D is not set +# BR2_PACKAGE_FFTW is not set + +# +# flann needs a toolchain w/ C++, dynamic library, gcc >= 4.7 +# + +# +# flatbuffers needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_FP16 is not set +# BR2_PACKAGE_FXDIV is not set +# BR2_PACKAGE_GCONF is not set + +# +# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, NPTL, wchar +# + +# +# gemmlowp needs a toolchain w/ C++11 +# + +# +# gflags needs a toolchain w/ C++ +# + +# +# gli needs a toolchain w/ C++ +# + +# +# glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# + +# +# glibmm (2.66.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + +# +# glm needs a toolchain w/ C++ +# +# BR2_PACKAGE_GMP is not set +BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y + +# +# gobject-introspection needs python3 +# +# BR2_PACKAGE_GSL is not set + +# +# gtest needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# +# BR2_PACKAGE_GUMBO_PARSER is not set + +# +# highway needs a toolchain w/ C++, gcc >= 7 +# +BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y +# BR2_PACKAGE_JEMALLOC is not set +BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y + +# +# lapack/blas needs a toolchain w/ fortran +# +BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y + +# +# libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library +# +# BR2_PACKAGE_LIBARGTABLE2 is not set +BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBATOMIC_OPS is not set +# BR2_PACKAGE_LIBAVL is not set +# BR2_PACKAGE_LIBB64 is not set +# BR2_PACKAGE_LIBBACKTRACE is not set +BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBBSD is not set +# BR2_PACKAGE_LIBBYTESIZE is not set +# BR2_PACKAGE_LIBCAP is not set +# BR2_PACKAGE_LIBCAP_NG is not set + +# +# libcgroup needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBCLC is not set +# BR2_PACKAGE_LIBCORRECT is not set + +# +# libcrossguid needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_LIBCSV is not set +# BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBDEX is not set +# BR2_PACKAGE_LIBDILL is not set +# BR2_PACKAGE_LIBEE is not set +# BR2_PACKAGE_LIBEV is not set +# BR2_PACKAGE_LIBEVDEV is not set +# BR2_PACKAGE_LIBEVENT is not set + +# +# libexecinfo needs a musl or uclibc toolchain w/ dynamic library +# +# BR2_PACKAGE_LIBFFI is not set + +# +# libfutils needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBGEE is not set + +# +# libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads +# +# BR2_PACKAGE_LIBGLIB2 is not set +# BR2_PACKAGE_LIBGLOB is not set + +# +# libical needs a toolchain w/ C++, dynamic library, wchar +# +# BR2_PACKAGE_LIBITE is not set + +# +# libks needs a toolchain w/ C++, NPTL, dynamic library +# + +# +# liblinear needs a toolchain w/ C++ +# + +# +# libloki needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBNPTH is not set +BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y +# BR2_PACKAGE_LIBNSPR is not set + +# +# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# + +# +# libpeas needs python3 +# +# BR2_PACKAGE_LIBPFM4 is not set + +# +# libplist needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_LIBPTHREAD_STUBS is not set +# BR2_PACKAGE_LIBPTHSEM is not set +# BR2_PACKAGE_LIBPWQUALITY is not set +# BR2_PACKAGE_LIBQB is not set + +# +# libshdata needs a toolchain w/ C++, threads +# + +# +# libsigc++ needs a toolchain w/ C++, gcc >= 7 +# + +# +# libsigc++ (2.x.x) needs a toolchain w/ C++, gcc >= 4.9 +# +BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSOLV is not set + +# +# libspatialindex needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_LIBTALLOC is not set +# BR2_PACKAGE_LIBTASN1 is not set +# BR2_PACKAGE_LIBTOMMATH is not set +# BR2_PACKAGE_LIBTPL is not set +# BR2_PACKAGE_LIBUBOX is not set +# BR2_PACKAGE_LIBUCI is not set +BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y + +# +# liburcu needs a toolchain w/ threads, C++ +# +# BR2_PACKAGE_LIBURING is not set +# BR2_PACKAGE_LIBUTEMPTER is not set +# BR2_PACKAGE_LIBUV is not set +# BR2_PACKAGE_LINUX_PAM is not set +# BR2_PACKAGE_LIQUID_DSP is not set +BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y +BR2_PACKAGE_LLVM_TARGET_ARCH="riscv32" + +# +# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 +# + +# +# lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++ +# +# BR2_PACKAGE_MATIO is not set +# BR2_PACKAGE_MPC is not set +# BR2_PACKAGE_MPDECIMAL is not set +# BR2_PACKAGE_MPFR is not set +# BR2_PACKAGE_MPIR is not set + +# +# msgpack needs a toolchain w/ C++ +# +# BR2_PACKAGE_NEON_2_SSE is not set +# BR2_PACKAGE_ORC is not set +# BR2_PACKAGE_P11_KIT is not set +BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y +BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y + +# +# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 +# + +# +# protobuf-c needs a toolchain w/ C++, threads, host gcc >= 7 +# + +# +# protozero needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_PSIMD is not set +# BR2_PACKAGE_PTHREADPOOL is not set + +# +# qhull needs a toolchain w/ C++, gcc >= 4.4 +# +# BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_REPROC is not set + +# +# riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 7 +# + +# +# ruy needs a toolchain w/ C++14, threads +# + +# +# shapelib needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_SKALIBS is not set +# BR2_PACKAGE_SPHINXBASE is not set + +# +# tbb needs a glibc or musl toolchain w/ dynamic library, threads, C++ +# + +# +# tensorflow-lite needs a toolchain w/ gcc >= 8, C++, threads +# +# BR2_PACKAGE_TINYCBOR is not set + +# +# tl-expected needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_TLLIST is not set + +# +# uvw needs a toolchain w/ NPTL, dynamic library, C++, gcc >= 7 +# + +# +# volk needs a toolchain w/ C++, NPTL, wchar, dynamic library +# + +# +# xapian needs a toolchain w/ C++ +# + +# +# xnnpack needs a toolchain w/ C++14, threads +# + +# +# Security +# +# BR2_PACKAGE_LIBAPPARMOR is not set +# BR2_PACKAGE_LIBSELINUX is not set +# BR2_PACKAGE_LIBSEPOL is not set +# BR2_PACKAGE_SAFECLIB is not set + +# +# softhsm2 needs a toolchain w/ C++, threads, gcc >= 4.8 and dynamic library support +# + +# +# Text and terminal handling +# +# BR2_PACKAGE_AUGEAS is not set + +# +# cli11 needs a toolchain w/ C++, gcc >= 4.8 +# + +# +# docopt-cpp needs a toolchain w/ C++, gcc >= 4.7 +# + +# +# enchant needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_FCFT is not set + +# +# fmt needs a toolchain w/ C++, wchar +# +# BR2_PACKAGE_FSTRCMP is not set + +# +# icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, host gcc >= 4.9 +# +# BR2_PACKAGE_INIH is not set +# BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBECOLI is not set +# BR2_PACKAGE_LIBEDIT is not set +# BR2_PACKAGE_LIBENCA is not set +# BR2_PACKAGE_LIBESTR is not set +# BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNIBREAK is not set +# BR2_PACKAGE_LIBUNISTRING is not set +# BR2_PACKAGE_LINENOISE is not set +# BR2_PACKAGE_NCURSES is not set +# BR2_PACKAGE_NEWT is not set +# BR2_PACKAGE_ONIGURUMA is not set +# BR2_PACKAGE_PCRE is not set +# BR2_PACKAGE_PCRE2 is not set +# BR2_PACKAGE_POPT is not set + +# +# re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 +# +# BR2_PACKAGE_READLINE is not set +# BR2_PACKAGE_SLANG is not set + +# +# tclap needs a toolchain w/ C++ +# + +# +# termcolor needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_UTF8PROC is not set + +# +# taglib needs a toolchain w/ C++ +# + +# +# Mail +# +# BR2_PACKAGE_DOVECOT is not set +# BR2_PACKAGE_EXIM is not set +# BR2_PACKAGE_FETCHMAIL is not set +# BR2_PACKAGE_HEIRLOOM_MAILX is not set +# BR2_PACKAGE_LIBESMTP is not set +# BR2_PACKAGE_MSMTP is not set +# BR2_PACKAGE_MUTT is not set + +# +# Miscellaneous +# +# BR2_PACKAGE_AESPIPE is not set +# BR2_PACKAGE_BC is not set +BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y + +# +# bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 11 +# +# BR2_PACKAGE_COLLECTD is not set +# BR2_PACKAGE_COLLECTL is not set + +# +# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library +# +# BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_FFT_EVAL is not set + +# +# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 8 +# +# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set + +# +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 +# + +# +# gqrx needs qt5 +# +# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set +# BR2_PACKAGE_HAVEGED is not set +# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set +# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set +# BR2_PACKAGE_NETDATA is not set + +# +# proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar +# +BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y +# BR2_PACKAGE_QEMU is not set + +# +# qpdf needs a toolchain w/ C++, gcc >= 5 +# +# BR2_PACKAGE_RTL_433 is not set +# BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SNOOZE is not set + +# +# sunwait needs a toolchain w/ C++ +# + +# +# taskd needs a toolchain w/ C++, wchar, dynamic library +# +# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set +BR2_PACKAGE_Z3_ARCH_SUPPORTS=y + +# +# Networking applications +# + +# +# aircrack-ng needs a toolchain w/ dynamic library, threads, C++ +# +# BR2_PACKAGE_ALFRED is not set +# BR2_PACKAGE_AOETOOLS is not set +# BR2_PACKAGE_APACHE is not set +# BR2_PACKAGE_ARGUS is not set +# BR2_PACKAGE_ARP_SCAN is not set +# BR2_PACKAGE_ARPTABLES is not set + +# +# asterisk needs a glibc or uClibc toolchain w/ C++, dynamic library, threads, wchar +# +# BR2_PACKAGE_ATFTP is not set +# BR2_PACKAGE_AVAHI is not set +# BR2_PACKAGE_AXEL is not set +# BR2_PACKAGE_BABELD is not set +# BR2_PACKAGE_BANDWIDTHD is not set +# BR2_PACKAGE_BATCTL is not set + +# +# bcusdk needs a toolchain w/ C++ +# +# BR2_PACKAGE_BIND is not set +# BR2_PACKAGE_BIRD is not set +# BR2_PACKAGE_BLUEZ5_UTILS is not set +# BR2_PACKAGE_BMON is not set +# BR2_PACKAGE_BMX7 is not set + +# +# boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8 +# +# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set +# BR2_PACKAGE_BRIDGE_UTILS is not set +# BR2_PACKAGE_BWM_NG is not set +# BR2_PACKAGE_C_ICAP is not set +# BR2_PACKAGE_CAN_UTILS is not set + +# +# cannelloni needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# +# BR2_PACKAGE_CASYNC is not set +# BR2_PACKAGE_CFM is not set +# BR2_PACKAGE_CHRONY is not set +# BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CONNMAN is not set + +# +# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library +# +# BR2_PACKAGE_CONNTRACK_TOOLS is not set +# BR2_PACKAGE_CORKSCREW is not set +# BR2_PACKAGE_CRDA is not set + +# +# ctorrent needs a toolchain w/ C++ +# + +# +# cups needs a toolchain w/ C++, threads +# + +# +# cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 5 +# +# BR2_PACKAGE_DANTE is not set +# BR2_PACKAGE_DARKHTTPD is not set +# BR2_PACKAGE_DEHYDRATED is not set +# BR2_PACKAGE_DHCPCD is not set +# BR2_PACKAGE_DHCPDUMP is not set +# BR2_PACKAGE_DNSMASQ is not set +# BR2_PACKAGE_DRBD_UTILS is not set +# BR2_PACKAGE_DROPBEAR is not set +# BR2_PACKAGE_EASYFRAMES is not set +# BR2_PACKAGE_EBTABLES is not set + +# +# ejabberd needs erlang, toolchain w/ C++ +# +# BR2_PACKAGE_ETHTOOL is not set +# BR2_PACKAGE_FAIFA is not set +# BR2_PACKAGE_FASTD is not set +# BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FIREWALLD is not set +# BR2_PACKAGE_FPING is not set +# BR2_PACKAGE_FREERADIUS_SERVER is not set + +# +# freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar +# + +# +# frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7 +# + +# +# gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8 +# +# BR2_PACKAGE_GESFTPSERVER is not set + +# +# gloox needs a toolchain w/ C++ +# +# BR2_PACKAGE_GLORYTUN is not set + +# +# gupnp-tools needs libgtk3 +# + +# +# hans needs a toolchain w/ C++ +# +BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y +# BR2_PACKAGE_HAPROXY is not set +# BR2_PACKAGE_HOSTAPD is not set +# BR2_PACKAGE_HTPDATE is not set +# BR2_PACKAGE_HTTPING is not set + +# +# i2pd needs a toolchain w/ C++, NPTL, wchar +# +# BR2_PACKAGE_IANA_ASSIGNMENTS is not set + +# +# ibrdtn-tools needs a toolchain w/ C++, threads +# + +# +# ibrdtnd needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_IFMETRIC is not set +# BR2_PACKAGE_IFTOP is not set +BR2_PACKAGE_IFUPDOWN_SCRIPTS=y +# BR2_PACKAGE_IGD2_FOR_LINUX is not set +# BR2_PACKAGE_IGH_ETHERCAT is not set +# BR2_PACKAGE_IGMPPROXY is not set +# BR2_PACKAGE_INADYN is not set +# BR2_PACKAGE_IODINE is not set + +# +# iperf needs a toolchain w/ C++ +# +# BR2_PACKAGE_IPERF3 is not set +# BR2_PACKAGE_IPROUTE2 is not set +# BR2_PACKAGE_IPSET is not set +# BR2_PACKAGE_IPTABLES is not set +# BR2_PACKAGE_IPTRAF_NG is not set +# BR2_PACKAGE_IPUTILS is not set +# BR2_PACKAGE_IRSSI is not set +# BR2_PACKAGE_IW is not set +# BR2_PACKAGE_IWD is not set +# BR2_PACKAGE_JANUS_GATEWAY is not set +# BR2_PACKAGE_KEEPALIVED is not set + +# +# kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7 +# +# BR2_PACKAGE_KNOCK is not set +# BR2_PACKAGE_KSMBD_TOOLS is not set +# BR2_PACKAGE_LEAFNODE2 is not set +# BR2_PACKAGE_LFT is not set + +# +# lftp requires a toolchain w/ C++, wchar +# +# BR2_PACKAGE_LIGHTTPD is not set + +# +# linknx needs a toolchain w/ C++ +# +# BR2_PACKAGE_LINKS is not set + +# +# linphone needs a toolchain w/ threads, C++, dynamic library, wchar, gcc >= 5 +# +# BR2_PACKAGE_LINUX_ZIGBEE is not set +# BR2_PACKAGE_LINUXPTP is not set +# BR2_PACKAGE_LLDPD is not set +# BR2_PACKAGE_LRZSZ is not set +# BR2_PACKAGE_LYNX is not set +# BR2_PACKAGE_MACCHANGER is not set +# BR2_PACKAGE_MEMCACHED is not set +# BR2_PACKAGE_MII_DIAG is not set +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MINIDLNA is not set +# BR2_PACKAGE_MINISSDPD is not set +# BR2_PACKAGE_MJPG_STREAMER is not set +# BR2_PACKAGE_MODEM_MANAGER is not set +BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y + +# +# mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, dynamic library +# + +# +# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 8 +# +# BR2_PACKAGE_MOSQUITTO is not set +# BR2_PACKAGE_MROUTED is not set +# BR2_PACKAGE_MRP is not set +# BR2_PACKAGE_MSTPD is not set +# BR2_PACKAGE_MTR is not set +# BR2_PACKAGE_NBD is not set +# BR2_PACKAGE_NCFTP is not set +# BR2_PACKAGE_NDISC6 is not set +# BR2_PACKAGE_NETATALK is not set +# BR2_PACKAGE_NETCALC is not set + +# +# nethogs needs a toolchain w/ C++ +# +# BR2_PACKAGE_NETPLUG is not set +# BR2_PACKAGE_NETSNMP is not set +# BR2_PACKAGE_NETSTAT_NAT is not set + +# +# NetworkManager needs udev /dev management and a glibc or musl toolchain w/ headers >= 4.20, dynamic library, wchar, threads, gcc >= 4.9 +# +# BR2_PACKAGE_NFACCT is not set +# BR2_PACKAGE_NFTABLES is not set +# BR2_PACKAGE_NGINX is not set +# BR2_PACKAGE_NGIRCD is not set +# BR2_PACKAGE_NGREP is not set + +# +# nload needs a toolchain w/ C++ +# + +# +# nmap-nmap needs a toolchain w/ C++, threads +# +# BR2_PACKAGE_NOIP is not set +# BR2_PACKAGE_NTP is not set +# BR2_PACKAGE_NTPSEC is not set +# BR2_PACKAGE_NUTTCP is not set +# BR2_PACKAGE_ODHCP6C is not set +# BR2_PACKAGE_ODHCPLOC is not set +# BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_ISCSI is not set +# BR2_PACKAGE_OPEN_LLDP is not set +# BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENCONNECT is not set +# BR2_PACKAGE_OPENNTPD is not set +# BR2_PACKAGE_OPENOBEX is not set +# BR2_PACKAGE_OPENRESOLV is not set +# BR2_PACKAGE_OPENSSH is not set +# BR2_PACKAGE_OPENSWAN is not set +# BR2_PACKAGE_OPENVPN is not set +# BR2_PACKAGE_P910ND is not set +# BR2_PACKAGE_PARPROUTED is not set +# BR2_PACKAGE_PHIDGETWEBSERVICE is not set +# BR2_PACKAGE_PHYTOOL is not set +# BR2_PACKAGE_PIMD is not set +# BR2_PACKAGE_PIXIEWPS is not set +# BR2_PACKAGE_POUND is not set +# BR2_PACKAGE_PPPD is not set +# BR2_PACKAGE_PPTP_LINUX is not set +# BR2_PACKAGE_PRIVOXY is not set +# BR2_PACKAGE_PROFTPD is not set + +# +# prosody needs the lua interpreter, dynamic library +# +# BR2_PACKAGE_PROXYCHAINS_NG is not set +# BR2_PACKAGE_PTPD is not set +# BR2_PACKAGE_PTPD2 is not set +# BR2_PACKAGE_PURE_FTPD is not set +# BR2_PACKAGE_PUTTY is not set +# BR2_PACKAGE_RADVD is not set +# BR2_PACKAGE_REAVER is not set +# BR2_PACKAGE_REDIR is not set +# BR2_PACKAGE_RP_PPPOE is not set +# BR2_PACKAGE_RPCBIND is not set +# BR2_PACKAGE_RSH_REDONE is not set +# BR2_PACKAGE_RSYNC is not set + +# +# rtorrent needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 +# +# BR2_PACKAGE_RTPTOOLS is not set +# BR2_PACKAGE_S6_DNS is not set +# BR2_PACKAGE_S6_NETWORKING is not set +# BR2_PACKAGE_SAMBA4 is not set + +# +# sconeserver needs a toolchain with dynamic library, C++, NPTL +# +# BR2_PACKAGE_SER2NET is not set +# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set + +# +# shairport-sync needs a toolchain w/ C++, NPTL +# +# BR2_PACKAGE_SHELLINABOX is not set +# BR2_PACKAGE_SMCROUTE is not set +# BR2_PACKAGE_SNGREP is not set +# BR2_PACKAGE_SNORT is not set +# BR2_PACKAGE_SOCAT is not set +# BR2_PACKAGE_SOCKETCAND is not set +# BR2_PACKAGE_SOFTETHER is not set +# BR2_PACKAGE_SPAWN_FCGI is not set +# BR2_PACKAGE_SPICE_PROTOCOL is not set + +# +# squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8 +# +# BR2_PACKAGE_SSDP_RESPONDER is not set +# BR2_PACKAGE_SSHGUARD is not set +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_SSLH is not set +# BR2_PACKAGE_STRONGSWAN is not set +# BR2_PACKAGE_STUNNEL is not set +# BR2_PACKAGE_TCPDUMP is not set +# BR2_PACKAGE_TCPING is not set +# BR2_PACKAGE_TCPREPLAY is not set +# BR2_PACKAGE_THTTPD is not set +# BR2_PACKAGE_TINC is not set +# BR2_PACKAGE_TINYPROXY is not set +# BR2_PACKAGE_TINYSSH is not set +# BR2_PACKAGE_TIPIDEE is not set +# BR2_PACKAGE_TOR is not set +# BR2_PACKAGE_TRACEROUTE is not set + +# +# transmission needs a toolchain w/ dynamic library, threads, C++, gcc >= 7 +# +# BR2_PACKAGE_TUNCTL is not set +# BR2_PACKAGE_UACME is not set +# BR2_PACKAGE_UDPCAST is not set +# BR2_PACKAGE_UFTP is not set +# BR2_PACKAGE_UHTTPD is not set +# BR2_PACKAGE_ULOGD is not set +# BR2_PACKAGE_UNBOUND is not set +# BR2_PACKAGE_UQMI is not set +# BR2_PACKAGE_UREDIR is not set +# BR2_PACKAGE_USHARE is not set +# BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_USTREAMER is not set +# BR2_PACKAGE_VDE2 is not set + +# +# vdr needs a toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9 +# +# BR2_PACKAGE_VNSTAT is not set +# BR2_PACKAGE_VPNC is not set +# BR2_PACKAGE_VSFTPD is not set +# BR2_PACKAGE_VTUN is not set +# BR2_PACKAGE_WAVEMON is not set +# BR2_PACKAGE_WIREGUARD_TOOLS is not set +# BR2_PACKAGE_WIRELESS_REGDB is not set +# BR2_PACKAGE_WIRELESS_TOOLS is not set + +# +# wireshark needs a toolchain w/ wchar, threads, dynamic library, C++ +# +# BR2_PACKAGE_WPA_SUPPLICANT is not set +# BR2_PACKAGE_WPAN_TOOLS is not set +# BR2_PACKAGE_XINETD is not set +# BR2_PACKAGE_XL2TP is not set +# BR2_PACKAGE_XTABLES_ADDONS is not set +# BR2_PACKAGE_ZABBIX is not set + +# +# zeek needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 7 +# + +# +# znc needs a toolchain w/ C++, dynamic library, gcc >= 8, threads +# + +# +# Package managers +# + +# +# ------------------------------------------------------- +# + +# +# Please note: +# + +# +# - Buildroot does *not* generate binary packages, +# + +# +# - Buildroot does *not* install any package database. +# + +# +# * +# + +# +# It is up to you to provide those by yourself if you +# + +# +# want to use any of those package managers. +# + +# +# * +# + +# +# See the manual: +# + +# +# http://buildroot.org/manual.html#faq-no-binary-packages +# + +# +# ------------------------------------------------------- +# +# BR2_PACKAGE_OPKG is not set +# BR2_PACKAGE_OPKG_UTILS is not set + +# +# Real-Time +# +# BR2_PACKAGE_XENOMAI is not set + +# +# Security +# + +# +# apparmor needs a toolchain w/ headers >= 3.16, threads, C++ +# +# BR2_PACKAGE_CHECKPOLICY is not set +# BR2_PACKAGE_IMA_EVM_UTILS is not set +# BR2_PACKAGE_LYNIS is not set +# BR2_PACKAGE_OPTEE_CLIENT is not set +# BR2_PACKAGE_PAXTEST is not set +# BR2_PACKAGE_REFPOLICY is not set +# BR2_PACKAGE_RESTORECOND is not set +# BR2_PACKAGE_SELINUX_PYTHON is not set +# BR2_PACKAGE_SEMODULE_UTILS is not set + +# +# setools needs python3 +# +BR2_PACKAGE_URANDOM_SCRIPTS=y + +# +# Shell and utilities +# + +# +# Shells +# +# BR2_PACKAGE_MKSH is not set +# BR2_PACKAGE_ZSH is not set + +# +# Utilities +# +# BR2_PACKAGE_APG is not set +# BR2_PACKAGE_AT is not set +# BR2_PACKAGE_CATATONIT is not set +# BR2_PACKAGE_CCRYPT is not set +# BR2_PACKAGE_DIALOG is not set +# BR2_PACKAGE_DTACH is not set +# BR2_PACKAGE_EASY_RSA is not set +# BR2_PACKAGE_FILE is not set +# BR2_PACKAGE_GNUPG is not set +BR2_PACKAGE_GNUPG2_DEPENDS=y +# BR2_PACKAGE_GNUPG2 is not set +# BR2_PACKAGE_INOTIFY_TOOLS is not set +# BR2_PACKAGE_LOCKFILE_PROGS is not set +# BR2_PACKAGE_LOGROTATE is not set +# BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_MINISIGN is not set +# BR2_PACKAGE_PDMENU is not set +# BR2_PACKAGE_PINENTRY is not set +# BR2_PACKAGE_QPRINT is not set +# BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_RLWRAP is not set +# BR2_PACKAGE_RTTY is not set +# BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SEXPECT is not set +# BR2_PACKAGE_SUDO is not set +# BR2_PACKAGE_TINI is not set +# BR2_PACKAGE_TMUX is not set +# BR2_PACKAGE_TTYD is not set +# BR2_PACKAGE_XMLSTARLET is not set +# BR2_PACKAGE_XXHASH is not set +# BR2_PACKAGE_YTREE is not set + +# +# System tools +# +# BR2_PACKAGE_ACL is not set +# BR2_PACKAGE_ANDROID_TOOLS is not set +# BR2_PACKAGE_ATOP is not set +# BR2_PACKAGE_ATTR is not set +# BR2_PACKAGE_BUBBLEWRAP is not set +# BR2_PACKAGE_CGROUPFS_MOUNT is not set + +# +# circus needs Python 3 and a toolchain w/ C++, threads +# +# BR2_PACKAGE_CONMON is not set +# BR2_PACKAGE_CPULIMIT is not set +# BR2_PACKAGE_CPULOAD is not set +# BR2_PACKAGE_CRUN is not set +# BR2_PACKAGE_DAEMON is not set + +# +# ddrescue needs a toolchain w/ C++ +# +# BR2_PACKAGE_EARLYOOM is not set +# BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FLUENT_BIT is not set +# BR2_PACKAGE_FTOP is not set +# BR2_PACKAGE_GETENT is not set +# BR2_PACKAGE_GKRELLM is not set +# BR2_PACKAGE_HTOP is not set +# BR2_PACKAGE_IBM_SW_TPM2 is not set +BR2_PACKAGE_INITSCRIPTS=y + +# +# iotop depends on python3 +# +# BR2_PACKAGE_IPRUTILS is not set +# BR2_PACKAGE_IRQBALANCE is not set +# BR2_PACKAGE_KEYUTILS is not set +# BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_KVMTOOL is not set +# BR2_PACKAGE_LIBOSTREE is not set +# BR2_PACKAGE_LXC is not set +# BR2_PACKAGE_MFOC is not set +# BR2_PACKAGE_MONIT is not set + +# +# multipath-tools needs udev and a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_NCDU is not set + +# +# netifrc needs openrc as init system +# +# BR2_PACKAGE_NUMACTL is not set + +# +# nut needs a toolchain w/ C++, threads +# + +# +# pamtester depends on linux-pam +# +# BR2_PACKAGE_POLKIT is not set +# BR2_PACKAGE_PROCRANK_LINUX is not set +# BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QUOTA is not set +# BR2_PACKAGE_QUOTATOOL is not set +# BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_RAUC_HAWKBIT_UPDATER is not set +# BR2_PACKAGE_S6 is not set +# BR2_PACKAGE_S6_LINUX_INIT is not set +# BR2_PACKAGE_S6_LINUX_UTILS is not set +# BR2_PACKAGE_S6_PORTABLE_UTILS is not set +# BR2_PACKAGE_S6_RC is not set +# BR2_PACKAGE_SCRUB is not set +# BR2_PACKAGE_SCRYPT is not set + +# +# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 8 +# + +# +# sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 +# +# BR2_PACKAGE_SEATD is not set +# BR2_PACKAGE_SHADOW is not set +# BR2_PACKAGE_SMACK is not set + +# +# supervisor needs a python interpreter +# +# BR2_PACKAGE_SWUPDATE is not set +BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y +# BR2_PACKAGE_TPM_TOOLS is not set +# BR2_PACKAGE_TPM2_ABRMD is not set +# BR2_PACKAGE_TPM2_TOOLS is not set +# BR2_PACKAGE_TPM2_TOTP is not set +# BR2_PACKAGE_UTIL_LINUX is not set +# BR2_PACKAGE_WATCHDOG is not set +# BR2_PACKAGE_WATCHDOGD is not set +# BR2_PACKAGE_XDG_DBUS_PROXY is not set +BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y +# BR2_PACKAGE_XVISOR is not set + +# +# Text editors and viewers +# +# BR2_PACKAGE_ED is not set +# BR2_PACKAGE_JOE is not set +# BR2_PACKAGE_MC is not set +# BR2_PACKAGE_MG is not set +# BR2_PACKAGE_MOST is not set +# BR2_PACKAGE_NANO is not set +# BR2_PACKAGE_UEMACS is not set + +# +# Filesystem images +# +# BR2_TARGET_ROOTFS_AXFS is not set +# BR2_TARGET_ROOTFS_BTRFS is not set +# BR2_TARGET_ROOTFS_CLOOP is not set +# BR2_TARGET_ROOTFS_CPIO is not set +# BR2_TARGET_ROOTFS_CRAMFS is not set +# BR2_TARGET_ROOTFS_EROFS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_2=y +BR2_TARGET_ROOTFS_EXT2_2r1=y +# BR2_TARGET_ROOTFS_EXT2_3 is not set +# BR2_TARGET_ROOTFS_EXT2_4 is not set +BR2_TARGET_ROOTFS_EXT2_GEN=2 +BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" +BR2_TARGET_ROOTFS_EXT2_SIZE="60M" +BR2_TARGET_ROOTFS_EXT2_INODES=0 +BR2_TARGET_ROOTFS_EXT2_INODE_SIZE=256 +BR2_TARGET_ROOTFS_EXT2_RESBLKS=5 +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit" +BR2_TARGET_ROOTFS_EXT2_NONE=y +# BR2_TARGET_ROOTFS_EXT2_GZIP is not set +# BR2_TARGET_ROOTFS_EXT2_BZIP2 is not set +# BR2_TARGET_ROOTFS_EXT2_LZ4 is not set +# BR2_TARGET_ROOTFS_EXT2_LZMA is not set +# BR2_TARGET_ROOTFS_EXT2_LZO is not set +# BR2_TARGET_ROOTFS_EXT2_XZ is not set +# BR2_TARGET_ROOTFS_EXT2_ZSTD is not set +# BR2_TARGET_ROOTFS_F2FS is not set +# BR2_TARGET_ROOTFS_INITRAMFS is not set +# BR2_TARGET_ROOTFS_JFFS2 is not set +# BR2_TARGET_ROOTFS_SQUASHFS is not set +BR2_TARGET_ROOTFS_TAR=y +BR2_TARGET_ROOTFS_TAR_NONE=y +# BR2_TARGET_ROOTFS_TAR_GZIP is not set +# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set +# BR2_TARGET_ROOTFS_TAR_LZ4 is not set +# BR2_TARGET_ROOTFS_TAR_LZMA is not set +# BR2_TARGET_ROOTFS_TAR_LZO is not set +# BR2_TARGET_ROOTFS_TAR_XZ is not set +# BR2_TARGET_ROOTFS_TAR_ZSTD is not set +BR2_TARGET_ROOTFS_TAR_OPTIONS="" +# BR2_TARGET_ROOTFS_UBI is not set +# BR2_TARGET_ROOTFS_UBIFS is not set +# BR2_TARGET_ROOTFS_YAFFS2 is not set + +# +# Bootloaders +# +# BR2_TARGET_BAREBOX is not set +BR2_TARGET_OPENSBI=y +# BR2_TARGET_OPENSBI_LATEST_VERSION is not set +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +# BR2_TARGET_OPENSBI_CUSTOM_TARBALL is not set +# BR2_TARGET_OPENSBI_CUSTOM_GIT is not set +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_VERSION="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG=y +BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG=y +# BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG is not set +# BR2_TARGET_OPENSBI_LINUX_PAYLOAD is not set +BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="" +# BR2_TARGET_UBOOT is not set + +# +# xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf +# + +# +# Host utilities +# +# BR2_PACKAGE_HOST_ABOOTIMG is not set +# BR2_PACKAGE_HOST_AESPIPE is not set +# BR2_PACKAGE_HOST_AGENT_PROXY is not set +# BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP is not set +# BR2_PACKAGE_HOST_ANDES_SPI_BURN is not set +# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS=y +# BR2_PACKAGE_HOST_ASN1C is not set +# BR2_PACKAGE_HOST_BABELTRACE2 is not set +# BR2_PACKAGE_HOST_BMAP_TOOLS is not set +# BR2_PACKAGE_HOST_BMAP_WRITER is not set +# BR2_PACKAGE_HOST_BOOTGEN is not set +# BR2_PACKAGE_HOST_BTRFS_PROGS is not set +# BR2_PACKAGE_HOST_CHECKPOLICY is not set +# BR2_PACKAGE_HOST_CHECKSEC is not set +# BR2_PACKAGE_HOST_CMAKE is not set +BR2_HOST_CMAKE_AT_LEAST="3.18" +# BR2_PACKAGE_HOST_COMPOSER is not set +# BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRUDINI is not set +# BR2_PACKAGE_HOST_CRYPTSETUP is not set +# BR2_PACKAGE_HOST_DBUS_PYTHON is not set +# BR2_PACKAGE_HOST_DELVE is not set +# BR2_PACKAGE_HOST_DEPOT_TOOLS is not set +# BR2_PACKAGE_HOST_DFU_UTIL is not set +# BR2_PACKAGE_HOST_DOS2UNIX is not set +# BR2_PACKAGE_HOST_DOSFSTOOLS is not set +# BR2_PACKAGE_HOST_DOXYGEN is not set +# BR2_PACKAGE_HOST_DTC is not set +BR2_PACKAGE_HOST_E2FSPROGS=y +# BR2_PACKAGE_HOST_E2TOOLS is not set +# BR2_PACKAGE_HOST_ENVIRONMENT_SETUP is not set +# BR2_PACKAGE_HOST_EROFS_UTILS is not set +# BR2_PACKAGE_HOST_EXFATPROGS is not set +# BR2_PACKAGE_HOST_F2FS_TOOLS is not set +# BR2_PACKAGE_HOST_FAKETIME is not set +# BR2_PACKAGE_HOST_FATCAT is not set +# BR2_PACKAGE_HOST_FIRMWARE_UTILS is not set +BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_FLUTTER_SDK_BIN is not set +# BR2_PACKAGE_HOST_FWUP is not set +# BR2_PACKAGE_HOST_GENEXT2FS is not set +# BR2_PACKAGE_HOST_GENIMAGE is not set +# BR2_PACKAGE_HOST_GENPART is not set +# BR2_PACKAGE_HOST_GNUPG is not set +# BR2_PACKAGE_HOST_GNUPG2 is not set +BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS=y +# BR2_PACKAGE_HOST_GO is not set +BR2_PACKAGE_PROVIDES_HOST_GO="host-go-bin" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH="amd64" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE1_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_GPTFDISK is not set +# BR2_PACKAGE_HOST_IMAGEMAGICK is not set +# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set +# BR2_PACKAGE_HOST_JH71XX_TOOLS is not set +# BR2_PACKAGE_HOST_JQ is not set +# BR2_PACKAGE_HOST_JSMIN is not set +BR2_PACKAGE_HOST_KMOD=y +# BR2_PACKAGE_HOST_KMOD_GZ is not set +# BR2_PACKAGE_HOST_KMOD_ZSTD is not set +# BR2_PACKAGE_HOST_KMOD_XZ is not set +# BR2_PACKAGE_HOST_LIBP11 is not set +# BR2_PACKAGE_HOST_LLD is not set +# BR2_PACKAGE_HOST_LPC3250LOADER is not set +# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_HOST_LZMA_ALONE is not set +# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set +# BR2_PACKAGE_HOST_MESON_TOOLS is not set +# BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR is not set +# BR2_PACKAGE_HOST_MINISIGN is not set +# BR2_PACKAGE_HOST_MKPASSWD is not set +# BR2_PACKAGE_HOST_MOBY_BUILDKIT is not set +# BR2_PACKAGE_HOST_MOSQUITTO is not set +# BR2_PACKAGE_HOST_MTD is not set +# BR2_PACKAGE_HOST_MTOOLS is not set +BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_NODEJS is not set +BR2_PACKAGE_PROVIDES_HOST_NODEJS="host-nodejs-bin" +# BR2_PACKAGE_HOST_ODB is not set +# BR2_PACKAGE_HOST_OPENOCD is not set +# BR2_PACKAGE_HOST_OPKG_UTILS is not set +# BR2_PACKAGE_HOST_PAHOLE is not set +# BR2_PACKAGE_HOST_PARTED is not set +BR2_PACKAGE_HOST_PATCHELF=y +# BR2_PACKAGE_HOST_PIGZ is not set +# BR2_PACKAGE_HOST_PKGCONF is not set +# BR2_PACKAGE_HOST_PWGEN is not set +# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set +# BR2_PACKAGE_HOST_PYTHON_GREENLET is not set +# BR2_PACKAGE_HOST_PYTHON_INIPARSE is not set +# BR2_PACKAGE_HOST_PYTHON_LXML is not set +# BR2_PACKAGE_HOST_PYTHON_PYYAML is not set +# BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_USWID is not set +# BR2_PACKAGE_HOST_PYTHON_XLRD is not set +# BR2_PACKAGE_HOST_PYTHON3 is not set +BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU=y + +# +# Emulators selection +# +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +# BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE is not set +# BR2_PACKAGE_HOST_QEMU_VDE2 is not set +# BR2_PACKAGE_HOST_QEMU_VIRTFS is not set +# BR2_PACKAGE_HOST_QEMU_USB is not set +# BR2_PACKAGE_HOST_QORIQ_RCW is not set +# BR2_PACKAGE_HOST_RAUC is not set +# BR2_PACKAGE_HOST_RISCV_ISA_SIM is not set +# BR2_PACKAGE_HOST_RUNC is not set +BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_RUSTC_ARCH="riscv32" +# BR2_PACKAGE_HOST_RUSTC is not set +BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" +# BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SDBUS_CPP is not set +# BR2_PACKAGE_HOST_SDBUSPLUS is not set +# BR2_PACKAGE_HOST_SENTRY_CLI is not set +# BR2_PACKAGE_HOST_SKOPEO is not set +# BR2_PACKAGE_HOST_SLOCI_IMAGE is not set +# BR2_PACKAGE_HOST_SQUASHFS is not set +# BR2_PACKAGE_HOST_STARFIVE_SPLTOOL is not set +# BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_SWTPM is not set +# BR2_PACKAGE_HOST_SWUGENERATOR is not set +# BR2_PACKAGE_HOST_TIPIDEE is not set +# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set +BR2_PACKAGE_HOST_UTIL_LINUX=y +# BR2_PACKAGE_HOST_UTP_COM is not set +# BR2_PACKAGE_HOST_UUU is not set +# BR2_PACKAGE_HOST_VBOOT_UTILS is not set +# BR2_PACKAGE_HOST_XORRISO is not set +# BR2_PACKAGE_HOST_ZIP is not set +# BR2_PACKAGE_HOST_ZSTD is not set + +# +# Legacy config options +# + +# +# Legacy options removed in 2025.02.4 +# +# BR2_PACKAGE_LIBEBUR128 is not set + +# +# Legacy options removed in 2025.02 +# +# BR2_PACKAGE_SQLITE_ENABLE_JSON1 is not set +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_ANGULAR_WEBSOCKET is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_BINUTILS_VERSION_2_41_X is not set +# BR2_TARGET_ROOTFS_EXT2_2r0 is not set +# BR2_GDB_VERSION_13 is not set +# BR2_nios2 is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_GST_OMX is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_SDL2_DIRECTFB is not set +# BR2_PACKAGE_SDL_DIRECTFB is not set +# BR2_PACKAGE_QT5BASE_DIRECTFB is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB is not set +# BR2_PACKAGE_LITE is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_MONGODB is not set +# BR2_PACKAGE_PYTHON_M2CRYPTO is not set +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_6_11 is not set +# BR2_PACKAGE_GIBLIB is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_QUAGGA is not set +# BR2_PACKAGE_RAMSMP is not set + +# +# Legacy options removed in 2024.11 +# +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP is not set +# BR2_PACKAGE_QEMU_TARGET_NIOS2 is not set +# BR2_PACKAGE_POPPERJS is not set +# BR2_KERNEL_HEADERS_6_10 is not set +BR2_PACKAGE_IPMITOOL_PEN_REG_URI="" +# BR2_PACKAGE_ERLANG_P1_YAML is not set +# BR2_PACKAGE_ERLANG_P1_XMPP is not set +# BR2_PACKAGE_ERLANG_P1_XML is not set +# BR2_PACKAGE_ERLANG_P1_STUN is not set +# BR2_PACKAGE_FBV_GIF is not set +# BR2_BINUTILS_VERSION_2_40_X is not set + +# +# Legacy options removed in 2024.08 +# +# BR2_PACKAGE_MIDORI is not set +# BR2_PACKAGE_FROTZ is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FLUTTER_DYNAMIC_LAYOUTS_EXAMPLE is not set +# BR2_KERNEL_HEADERS_6_9 is not set +# BR2_x86_knightslanding is not set +# BR2_x86_knightsmill is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_CAIRO_SVG is not set +# BR2_PACKAGE_CAIRO_SCRIPT is not set +# BR2_PACKAGE_CAIRO_PS is not set +# BR2_PACKAGE_CAIRO_PDF is not set +# BR2_PACKAGE_CAIRO_XML is not set +# BR2_GDB_VERSION_12 is not set +# BR2_TARGET_BEAGLEV_DDRINIT is not set +# BR2_TARGET_BEAGLEV_SECONDBOOT is not set +# BR2_PACKAGE_ONEVPL_INTEL_GPU is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_VERSAL_FIRMWARE is not set +# BR2_KERNEL_HEADERS_6_8 is not set +# BR2_TARGET_AT91BOOTSTRAP is not set +# BR2_TARGET_AT91DATAFLASHBOOT is not set +# BR2_PACKAGE_ON2_8170_MODULES is not set +# BR2_PACKAGE_ON2_8170_LIBS is not set +# BR2_GCC_VERSION_11_X is not set +# BR2_BINFMT_FLAT_SHARED is not set +# BR2_PACKAGE_OMXPLAYER is not set +# BR2_KERNEL_HEADERS_6_7 is not set +# BR2_TARGET_TI_K3_IMAGE_GEN is not set +# BR2_TARGET_UBOOT_NEEDS_TI_K3_DM is not set +# BR2_PACKAGE_FLUTTER_GALLERY is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM is not set +# BR2_BINUTILS_VERSION_2_39_X is not set + +# +# Legacy options removed in 2024.02 +# +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_ORACLE_MYSQL is not set +# BR2_PACKAGE_STRONGSWAN_SCEP is not set +# BR2_PACKAGE_SHADOW_UTMPX is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_DAVINCI_BOOTCOUNT is not set +# BR2_PACKAGE_PYTHON_CROSSBAR is not set +# BR2_PACKAGE_PYTHON_PYGAME is not set +# BR2_KERNEL_HEADERS_4_14 is not set +# BR2_GDB_VERSION_11 is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_GMPC is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_ONEVPL is not set +# BR2_KERNEL_HEADERS_6_5 is not set +BR2_PACKAGE_WATCHDOGD_GENERIC_POLL=0 +BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL=0 +BR2_PACKAGE_WATCHDOGD_FILENR_POLL=0 +BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL=0 + +# +# Legacy options removed in 2023.11 +# +# BR2_PACKAGE_PYTHON_PYXB is not set +# BR2_PACKAGE_OPENJDK_VERSION_11 is not set +# BR2_KERNEL_HEADERS_6_4 is not set +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_GDB_VERSION_10 is not set + +# +# Legacy options removed in 2023.08 +# +# BR2_TARGET_LPC32XXCDL is not set +# BR2_BINUTILS_VERSION_2_38_X is not set +# BR2_GCC_VERSION_10_X is not set +# BR2_KERNEL_HEADERS_6_3 is not set +# BR2_PACKAGE_TOVID is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_OCF_LINUX is not set +# BR2_BINUTILS_VERSION_2_37_X is not set + +# +# Legacy options removed in 2023.05 +# +# BR2_KERNEL_HEADERS_6_2 is not set +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_AT_SPI2_ATK is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACAKGE_OPENFPGALOADER_CMSIS is not set + +# +# Legacy options removed in 2023.02 +# +# BR2_PACKAGE_PUGIXML_HEADER_ONLY is not set +# BR2_PACKAGE_UCCP420WLAN is not set +# BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES is not set +# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_4_9 is not set +# BR2_PACKAGE_DOCKER_PROXY is not set +# BR2_PACKAGE_PYTHON_BUNCH is not set +# BR2_TARGET_GUMMIBOOT is not set +# BR2_PACKAGE_IPUTILS_NINFOD is not set +# BR2_PACKAGE_IPUTILS_RARPD is not set +# BR2_PACKAGE_IPUTILS_RDISC is not set +# BR2_PACKAGE_IPUTILS_RDISC_SERVER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT is not set +# BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV is not set +BR2_PACKAGE_QEMU_CUSTOM_TARGETS="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD is not set +# BR2_TARGET_SUN20I_D1_SPL is not set +# BR2_PACKAGE_PYTHON_M2R is not set +# BR2_PACKAGE_MESA3D_XVMC is not set +# BR2_KERNEL_HEADERS_5_19 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT is not set +# BR2_PACKAGE_USBREDIR_SERVER is not set + +# +# Legacy options removed in 2022.11 +# +# BR2_BINUTILS_VERSION_2_36_X is not set +# BR2_PACKAGE_RABBITMQ_SERVER is not set +# BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 is not set +# BR2_PACKAGE_LIBDCADEC is not set +# BR2_KERNEL_HEADERS_5_17 is not set +# BR2_iwmmxt is not set +# BR2_PACKAGE_UHD_N230 is not set +# BR2_PACKAGE_UHD_RFNOC is not set +# BR2_PACKAGE_GPSD_OLDSTYLE is not set +# BR2_GDB_VERSION_9_2 is not set + +# +# Legacy options removed in 2022.08 +# +# BR2_ECLIPSE_REGISTER is not set +# BR2_csky is not set +# BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 is not set +# BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 is not set +# BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU is not set +# BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON is not set +# BR2_GCC_VERSION_9_X is not set +# BR2_PACKAGE_PHP_EXT_WDDX is not set +# BR2_nds32 is not set +# BR2_PACKAGE_RTL8723BS is not set + +# +# Legacy options removed in 2022.05 +# +# BR2_PACKAGE_KTAP is not set +# BR2_KERNEL_HEADERS_5_16 is not set +# BR2_KERNEL_HEADERS_4_4 is not set +# BR2_BINUTILS_VERSION_2_32_X is not set +# BR2_sh2a is not set +# BR2_BINUTILS_VERSION_2_35_X is not set +# BR2_PACKAGE_BOOST_LAYOUT_TAGGED is not set +# BR2_PACKAGE_BOOST_LAYOUT_VERSIONED is not set + +# +# Legacy options removed in 2022.02 +# +BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="" +# BR2_PACKAGE_LIBCURL_LIBNSS is not set +# BR2_PACKAGE_WESTON_DEFAULT_FBDEV is not set +# BR2_PACKAGE_WESTON_FBDEV is not set +# BR2_PACKAGE_PYTHON_PYCLI is not set +# BR2_PACKAGE_LINUX_TOOLS_BPFTOOL is not set +# BR2_TARGET_UBOOT_NEEDS_PYTHON2 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS is not set +# BR2_PACKAGE_PYTHON_FUNCTOOLS32 is not set +# BR2_PACKAGE_PYTHON_ENUM34 is not set +# BR2_PACKAGE_PYTHON_ENUM is not set +# BR2_PACKAGE_PYTHON_DIALOG is not set +# BR2_PACKAGE_PYTHON_YIELDFROM is not set +# BR2_PACKAGE_PYTHON_TYPING is not set +# BR2_PACKAGE_PYTHON_SUBPROCESS32 is not set +# BR2_PACKAGE_PYTHON_SINGLEDISPATCH is not set +# BR2_PACKAGE_PYTHON_PYRO is not set +# BR2_PACKAGE_PYTHON_PYPCAP is not set +# BR2_PACKAGE_PYTHON_PATHLIB2 is not set +# BR2_PACKAGE_PYTHON_PAM is not set +# BR2_PACKAGE_PYTHON_NFC is not set +# BR2_PACKAGE_PYTHON_MAD is not set +# BR2_PACKAGE_PYTHON_IPADDRESS is not set +# BR2_PACKAGE_PYTHON_IPADDR is not set +# BR2_PACKAGE_PYTHON_ID3 is not set +# BR2_PACKAGE_PYTHON_FUTURES is not set +# BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME is not set +# BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE is not set +# BR2_PACKAGE_PYTHON_BACKPORTS_ABC is not set +# BR2_PACKAGE_PYTHON is not set +# BR2_TARGET_UBOOT_ZYNQ_IMAGE is not set +# BR2_PACKAGE_HOST_GDB_PYTHON is not set +# BR2_PACKAGE_GSTREAMER1_MM is not set +# BR2_KERNEL_HEADERS_5_14 is not set +# BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE is not set +# BR2_PACKAGE_CIVETWEB_WITH_LUA is not set +# BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER is not set +# BR2_PACKAGE_SUNXI_MALI_MAINLINE is not set +# BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 is not set +# BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 is not set +# BR2_PACKAGE_QT5WEBKIT_EXAMPLES is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE is not set +# BR2_PACKAGE_IPUTILS_TFTPD is not set +# BR2_PACKAGE_IPUTILS_TRACEROUTE6 is not set +# BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE is not set +# BR2_PACKAGE_MPD_UPNP is not set + +# +# Legacy options removed in 2021.11 +# +# BR2_OPENJDK_VERSION_LTS is not set +# BR2_OPENJDK_VERSION_LATEST is not set +# BR2_PACKAGE_MPD_TIDAL is not set +# BR2_PACKAGE_MROUTED_RSRR is not set +# BR2_BINUTILS_VERSION_CSKY is not set +# BR2_GCC_VERSION_CSKY is not set +# BR2_PACKAGE_CANFESTIVAL is not set +# BR2_PACKAGE_NMAP_NDIFF is not set +# BR2_GDB_VERSION_8_3 is not set +# BR2_PACKAGE_PYTHON_MELD3 is not set +# BR2_PACKAGE_STRONGSWAN_EAP is not set +# BR2_PACKAGE_GNURADIO_PAGER is not set +# BR2_KERNEL_HEADERS_5_11 is not set +# BR2_KERNEL_HEADERS_5_12 is not set +# BR2_KERNEL_HEADERS_5_13 is not set + +# +# Legacy options removed in 2021.08 +# +BR2_TARGET_GRUB2_BUILTIN_MODULES="" +BR2_TARGET_GRUB2_BUILTIN_CONFIG="" +# BR2_PACKAGE_LIBMCRYPT is not set +# BR2_PACKAGE_MCRYPT is not set +# BR2_PACKAGE_PHP_EXT_MCRYPT is not set +# BR2_BINUTILS_VERSION_2_34_X is not set +# BR2_PACKAGE_LIBSOIL is not set +# BR2_PACKAGE_CLAPACK is not set +# BR2_PACKAGE_SPIDERMONKEY is not set +# BR2_PACKAGE_KODI_LIBVA is not set +# BR2_PACKAGE_PYTHON_COHERENCE is not set +# BR2_PACKAGE_PHP_EXT_XMLRPC is not set +# BR2_GCC_VERSION_8_X is not set + +# +# Legacy options removed in 2021.05 +# +# BR2_PACKAGE_UDISKS_LVM2 is not set +# BR2_PACKAGE_LVM2_APP_LIBRARY is not set +# BR2_PACKAGE_LVM2_LVMETAD is not set +# BR2_PACKAGE_MONKEY is not set +# BR2_PACKAGE_DOCKER_CONTAINERD is not set +# BR2_PACKAGE_IOSTAT is not set +# BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE is not set +# BR2_PACKAGE_MESA3D_OSMESA_CLASSIC is not set +# BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST is not set +# BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH is not set + +# +# Legacy options removed in 2021.02 +# +# BR2_PACKAGE_MPD_AUDIOFILE is not set +# BR2_PACKAGE_AUDIOFILE is not set +# BR2_BINUTILS_VERSION_2_33_X is not set +# BR2_PACKAGE_LIBUPNP18 is not set +# BR2_PACKAGE_BOA is not set +# BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA is not set +# BR2_GDB_VERSION_8_2 is not set +# BR2_PACKAGE_HOST_RCW is not set +# BR2_KERNEL_HEADERS_5_9 is not set +# BR2_KERNEL_HEADERS_5_8 is not set +# BR2_powerpc_601 is not set +# BR2_PACKAGE_TI_SGX_LIBGBM is not set +# BR2_PACKAGE_IPSEC_TOOLS is not set + +# +# Legacy options removed in 2020.11 +# +# BR2_PACKAGE_GPSD_FIXED_PORT_SPEED is not set +# BR2_PACKAGE_GPSD_RECONFIGURE is not set +# BR2_PACKAGE_GPSD_CONTROLSEND is not set +# BR2_PACKAGE_OPENCV is not set +# BR2_PACKAGE_LIBCROCO is not set +# BR2_PACKAGE_BELLAGIO is not set +# BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY is not set +# BR2_TARGET_UBOOT_BOOT_SCRIPT is not set +# BR2_TARGET_UBOOT_ENVIMAGE is not set +# BR2_PACKAGE_KISMET_CLIENT is not set +# BR2_PACKAGE_KISMET_DRONE is not set +# BR2_GCC_VERSION_7_X is not set +# BR2_PACKAGE_GST1_VALIDATE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF is not set +# BR2_PACKAGE_GQVIEW is not set +# BR2_PACKAGE_WESTON_IMX is not set +# BR2_KERNEL_HEADERS_5_7 is not set +# BR2_PACKAGE_TINYHTTPD is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX is not set +# BR2_PACKAGE_AMD_CATALYST is not set +# BR2_PACKAGE_NVIDIA_TEGRA23 is not set +# BR2_GDB_VERSION_8_1 is not set + +# +# Legacy options removed in 2020.08 +# +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 is not set +# BR2_KERNEL_HEADERS_5_6 is not set +# BR2_KERNEL_HEADERS_5_5 is not set +# BR2_BINUTILS_VERSION_2_31_X is not set +# BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER is not set + +# +# Legacy options removed in 2020.05 +# +# BR2_PACKAGE_WIRINGPI is not set +# BR2_PACKAGE_PYTHON_PYCRYPTO is not set +# BR2_PACKAGE_MTDEV2TUIO is not set +# BR2_PACKAGE_EZXML is not set +# BR2_PACKAGE_COLLECTD_LVM is not set +# BR2_PACKAGE_PYTHON_PYASN is not set +# BR2_PACKAGE_PYTHON_PYASN_MODULES is not set +# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 is not set +# BR2_PACKAGE_QT5CANVAS3D is not set +# BR2_PACKAGE_KODI_LIBTHEORA is not set +# BR2_PACKAGE_CEGUI06 is not set +# BR2_GCC_VERSION_5_X is not set + +# +# Legacy options removed in 2020.02 +# +# BR2_PACKAGE_JAMVM is not set +# BR2_PACKAGE_CLASSPATH is not set +# BR2_PACKAGE_QT5_VERSION_5_6 is not set +# BR2_PACKAGE_CURL is not set +# BR2_PACKAGE_GSTREAMER is not set +# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS is not set +# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS is not set +# BR2_PACKAGE_FREERDP_GSTREAMER is not set +# BR2_PACKAGE_OPENCV3_WITH_GSTREAMER is not set +# BR2_PACKAGE_OPENCV_WITH_GSTREAMER is not set +# BR2_PACKAGE_LIBPLAYER is not set +# BR2_GCC_VERSION_OR1K is not set +# BR2_PACKAGE_BLUEZ_UTILS is not set +# BR2_PACKAGE_GADGETFS_TEST is not set +# BR2_PACKAGE_FIS is not set +BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" +# BR2_PACKAGE_CELT051 is not set +# BR2_PACKAGE_WIREGUARD is not set +# BR2_PACKAGE_PERL_NET_PING is not set +# BR2_PACKAGE_PERL_MIME_BASE64 is not set +# BR2_PACKAGE_PERL_DIGEST_MD5 is not set +# BR2_PACKAGE_ERLANG_P1_ICONV is not set +# BR2_KERNEL_HEADERS_5_3 is not set +# BR2_PACKAGE_PYTHON_SCAPY3K is not set +# BR2_BINUTILS_VERSION_2_30_X is not set +# BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set +# BR2_PACKAGE_TI_SGX_KM_AM335X is not set +# BR2_PACKAGE_TI_SGX_KM_AM437X is not set +# BR2_PACKAGE_TI_SGX_KM_AM4430 is not set +# BR2_PACKAGE_TI_SGX_KM_AM5430 is not set + +# +# Legacy options removed in 2019.11 +# +# BR2_PACKAGE_OPENVMTOOLS_PROCPS is not set +# BR2_PACKAGE_ALLJOYN is not set +# BR2_PACKAGE_ALLJOYN_BASE is not set +# BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL is not set +# BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION is not set +# BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING is not set +# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set +# BR2_PACKAGE_ALLJOYN_TCL is not set +BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" +# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set +# BR2_KERNEL_HEADERS_5_2 is not set +# BR2_TARGET_RISCV_PK is not set +# BR2_PACKAGE_SQLITE_STAT3 is not set +# BR2_KERNEL_HEADERS_5_1 is not set +# BR2_PACKAGE_DEVMEM2 is not set +# BR2_PACKAGE_USTR is not set +# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set +# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set +# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set +# BR2_PACKAGE_MESA3D_OSMESA is not set +# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set + +# +# Legacy options removed in 2019.08 +# +# BR2_TARGET_TS4800_MBRBOOT is not set +# BR2_PACKAGE_LIBAMCODEC is not set +# BR2_PACKAGE_ODROID_SCRIPTS is not set +# BR2_PACKAGE_ODROID_MALI is not set +# BR2_PACKAGE_KODI_PLATFORM_AML is not set +# BR2_GCC_VERSION_6_X is not set +# BR2_GCC_VERSION_4_9_X is not set +# BR2_GDB_VERSION_7_12 is not set +# BR2_PACKAGE_XAPP_MKFONTDIR is not set +# BR2_GDB_VERSION_8_0 is not set +# BR2_KERNEL_HEADERS_4_20 is not set +# BR2_KERNEL_HEADERS_5_0 is not set + +# +# Legacy options removed in 2019.05 +# +# BR2_CSKY_DSP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set +# BR2_PACKAGE_LUNIT is not set +# BR2_PACKAGE_FFMPEG_FFSERVER is not set +# BR2_PACKAGE_LIBUMP is not set +# BR2_PACKAGE_SUNXI_MALI is not set +# BR2_BINUTILS_VERSION_2_29_X is not set +# BR2_BINUTILS_VERSION_2_28_X is not set +# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set + +# +# Legacy options removed in 2019.02 +# +# BR2_PACKAGE_QT is not set +# BR2_PACKAGE_QTUIO is not set +# BR2_PACKAGE_PINENTRY_QT4 is not set +# BR2_PACKAGE_POPPLER_QT is not set +# BR2_PACKAGE_OPENCV3_WITH_QT is not set +# BR2_PACKAGE_OPENCV_WITH_QT is not set +# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set +# BR2_PACKAGE_SDL_QTOPIA is not set +# BR2_PACKAGE_PYTHON_PYQT is not set +# BR2_PACKAGE_LUACRYPTO is not set +# BR2_PACKAGE_TN5250 is not set +# BR2_PACKAGE_BOOST_SIGNALS is not set +# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set +# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set +# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set +# BR2_PACKAGE_LUA_5_2 is not set +# BR2_TARGET_GENERIC_PASSWD_MD5 is not set + +# +# Legacy options removed in 2018.11 +# +# BR2_TARGET_XLOADER is not set +# BR2_PACKAGE_TIDSP_BINARIES is not set +# BR2_PACKAGE_DSP_TOOLS is not set +# BR2_PACKAGE_GST_DSP is not set +# BR2_PACKAGE_BOOTUTILS is not set +# BR2_PACKAGE_EXPEDITE is not set +# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set +# BR2_KERNEL_HEADERS_4_10 is not set +# BR2_KERNEL_HEADERS_4_11 is not set +# BR2_KERNEL_HEADERS_4_12 is not set +# BR2_KERNEL_HEADERS_4_13 is not set +# BR2_KERNEL_HEADERS_4_15 is not set +# BR2_KERNEL_HEADERS_4_17 is not set +# BR2_PACKAGE_LIBNFTNL_XML is not set +# BR2_KERNEL_HEADERS_3_2 is not set +# BR2_KERNEL_HEADERS_4_1 is not set +# BR2_KERNEL_HEADERS_4_16 is not set +# BR2_KERNEL_HEADERS_4_18 is not set + +# +# Legacy options removed in 2018.08 +# +# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set +# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set +# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set +# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set +# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set +# BR2_PACKAGE_XPROTO_DMXPROTO is not set +# BR2_PACKAGE_XPROTO_DRI2PROTO is not set +# BR2_PACKAGE_XPROTO_DRI3PROTO is not set +# BR2_PACKAGE_XPROTO_FIXESPROTO is not set +# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set +# BR2_PACKAGE_XPROTO_FONTSPROTO is not set +# BR2_PACKAGE_XPROTO_GLPROTO is not set +# BR2_PACKAGE_XPROTO_INPUTPROTO is not set +# BR2_PACKAGE_XPROTO_KBPROTO is not set +# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set +# BR2_PACKAGE_XPROTO_RANDRPROTO is not set +# BR2_PACKAGE_XPROTO_RECORDPROTO is not set +# BR2_PACKAGE_XPROTO_RENDERPROTO is not set +# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set +# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set +# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set +# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set +# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set +# BR2_PACKAGE_XPROTO_XEXTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set +# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set +# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set +# BR2_PACKAGE_XPROTO_XPROTO is not set +# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set +# BR2_GDB_VERSION_7_11 is not set +# BR2_GDB_VERSION_7_10 is not set + +# +# Legacy options removed in 2018.05 +# +# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set +# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_MEDIAART_BACKEND_QT is not set +# BR2_PACKAGE_TI_SGX_AM335X is not set +# BR2_PACKAGE_TI_SGX_AM437X is not set +# BR2_PACKAGE_TI_SGX_AM4430 is not set +# BR2_PACKAGE_TI_SGX_AM5430 is not set +# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set +# BR2_PACKAGE_JANUS_ECHO_TEST is not set +# BR2_PACKAGE_JANUS_RECORDPLAY is not set +# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set +# BR2_PACKAGE_JANUS_STREAMING is not set +# BR2_PACKAGE_JANUS_TEXT_ROOM is not set +# BR2_PACKAGE_JANUS_VIDEO_CALL is not set +# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set +# BR2_PACKAGE_JANUS_MQTT is not set +# BR2_PACKAGE_JANUS_RABBITMQ is not set +# BR2_PACKAGE_JANUS_REST is not set +# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set +# BR2_PACKAGE_JANUS_WEBSOCKETS is not set +# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set +# BR2_PACKAGE_LIBTFDI_CPP is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set +# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set +# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set +# BR2_PACKAGE_JQUERY_UI_THEME_START is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set +# BR2_PACKAGE_TRANSMISSION_REMOTE is not set +# BR2_PACKAGE_LIBKCAPI_APPS is not set +# BR2_PACKAGE_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MENCODER is not set +# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set +# BR2_PACKAGE_IQVLINUX is not set +# BR2_BINFMT_FLAT_SEP_DATA is not set +# BR2_bfin is not set +# BR2_PACKAGE_KODI_ADSP_BASIC is not set +# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set + +# +# Legacy options removed in 2018.02 +# +# BR2_KERNEL_HEADERS_3_4 is not set +# BR2_KERNEL_HEADERS_3_10 is not set +# BR2_KERNEL_HEADERS_3_12 is not set +# BR2_BINUTILS_VERSION_2_27_X is not set +# BR2_PACKAGE_EEPROG is not set +# BR2_PACKAGE_GNUPG2_GPGV2 is not set +# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set +# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set + +# +# Legacy options removed in 2017.11 +# +# BR2_PACKAGE_RFKILL is not set +# BR2_PACKAGE_UTIL_LINUX_RESET is not set +# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set +# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set +# BR2_PACKAGE_SEPOLGEN is not set +# BR2_PACKAGE_OPENOBEX_BLUEZ is not set +# BR2_PACKAGE_OPENOBEX_LIBUSB is not set +# BR2_PACKAGE_OPENOBEX_APPS is not set +# BR2_PACKAGE_OPENOBEX_SYSLOG is not set +# BR2_PACKAGE_OPENOBEX_DUMP is not set +# BR2_PACKAGE_AICCU is not set +# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set + +# +# Legacy options removed in 2017.08 +# +# BR2_TARGET_GRUB is not set +# BR2_PACKAGE_SIMICSFS is not set +# BR2_BINUTILS_VERSION_2_26_X is not set +BR2_XTENSA_OVERLAY_DIR="" +BR2_XTENSA_CUSTOM_NAME="" +# BR2_PACKAGE_HOST_MKE2IMG is not set +BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 +BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set +# BR2_STRIP_none is not set +# BR2_PACKAGE_BEECRYPT_CPP is not set +# BR2_PACKAGE_SPICE_CLIENT is not set +# BR2_PACKAGE_SPICE_GUI is not set +# BR2_PACKAGE_SPICE_TUNNEL is not set +# BR2_PACKAGE_INPUT_TOOLS is not set +# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set +# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set +# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set +# BR2_GCC_VERSION_4_8_X is not set + +# +# Legacy options removed in 2017.05 +# +# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set +# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set +# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set +# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set +# BR2_PACKAGE_OPENOCD_FT2XXX is not set +# BR2_PACKAGE_KODI_RTMPDUMP is not set +# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set +# BR2_PACKAGE_PORTMAP is not set +# BR2_BINUTILS_VERSION_2_25_X is not set +# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set +BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 +# BR2_PACKAGE_SYSTEMD_KDBUS is not set +# BR2_PACKAGE_POLARSSL is not set +# BR2_NBD_CLIENT is not set +# BR2_NBD_SERVER is not set +# BR2_PACKAGE_GMOCK is not set +# BR2_KERNEL_HEADERS_4_8 is not set +# BR2_KERNEL_HEADERS_3_18 is not set +# BR2_GLIBC_VERSION_2_22 is not set + +# +# Legacy options removed in 2017.02 +# +# BR2_PACKAGE_PERL_DB_FILE is not set +# BR2_KERNEL_HEADERS_4_7 is not set +# BR2_KERNEL_HEADERS_4_6 is not set +# BR2_KERNEL_HEADERS_4_5 is not set +# BR2_KERNEL_HEADERS_3_14 is not set +# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set +# BR2_UCLIBC_INSTALL_TEST_SUITE is not set +# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set +# BR2_PACKAGE_MAKEDEVS is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set +# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set +# BR2_PACKAGE_SNOWBALL_INIT is not set +# BR2_GDB_VERSION_7_9 is not set + +# +# Legacy options removed in 2016.11 +# +# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set +# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set +# BR2_PACKAGE_WVSTREAMS is not set +# BR2_PACKAGE_WVDIAL is not set +# BR2_PACKAGE_WEBKITGTK24 is not set +# BR2_PACKAGE_TORSMO is not set +# BR2_PACKAGE_SSTRIP is not set +# BR2_KERNEL_HEADERS_4_3 is not set +# BR2_KERNEL_HEADERS_4_2 is not set +# BR2_PACKAGE_KODI_ADDON_XVDR is not set +# BR2_PACKAGE_IPKG is not set +# BR2_GCC_VERSION_4_7_X is not set +# BR2_BINUTILS_VERSION_2_24_X is not set +# BR2_PACKAGE_WESTON_RPI is not set +# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set +# BR2_LINUX_KERNEL_TOOL_PERF is not set +# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set +# BR2_GCC_VERSION_4_8_ARC is not set +# BR2_KERNEL_HEADERS_4_0 is not set +# BR2_KERNEL_HEADERS_3_19 is not set +# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set +# BR2_PACKAGE_ELEMENTARY is not set +# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set + +# +# Legacy options removed in 2016.08 +# +# BR2_PACKAGE_EFL_JP2K is not set +# BR2_PACKAGE_SYSTEMD_COMPAT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set +# BR2_PACKAGE_LIBFSLVPUWRAP is not set +# BR2_PACKAGE_LIBFSLPARSER is not set +# BR2_PACKAGE_LIBFSLCODEC is not set +# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set +# BR2_PTHREADS_OLD is not set +# BR2_BINUTILS_VERSION_2_23_X is not set +# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set +# BR2_GDB_VERSION_7_8 is not set + +# +# Legacy options removed in 2016.05 +# +# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set +# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set +# BR2_x86_i386 is not set +# BR2_PACKAGE_QT5QUICK1 is not set +BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set +# BR2_KERNEL_HEADERS_3_17 is not set +# BR2_GDB_VERSION_7_7 is not set +# BR2_PACKAGE_FOOMATIC_FILTERS is not set +# BR2_PACKAGE_SAMBA is not set +# BR2_PACKAGE_KODI_WAVPACK is not set +# BR2_PACKAGE_KODI_RSXS is not set +# BR2_PACKAGE_KODI_GOOM is not set +# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set +# BR2_GCC_VERSION_4_5_X is not set +# BR2_PACKAGE_SQLITE_READLINE is not set + +# +# Legacy options removed in 2016.02 +# +# BR2_PACKAGE_DOVECOT_BZIP2 is not set +# BR2_PACKAGE_DOVECOT_ZLIB is not set +# BR2_PACKAGE_E2FSPROGS_FINDFS is not set +# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set +# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set +# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set +# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set +# BR2_PACKAGE_CUPS_PDFTOPS is not set +# BR2_KERNEL_HEADERS_3_16 is not set +# BR2_PACKAGE_PYTHON_PYXML is not set +# BR2_ENABLE_SSP is not set +# BR2_PACKAGE_DIRECTFB_CLE266 is not set +# BR2_PACKAGE_DIRECTFB_UNICHROME is not set +# BR2_PACKAGE_LIBELEMENTARY is not set +# BR2_PACKAGE_LIBEINA is not set +# BR2_PACKAGE_LIBEET is not set +# BR2_PACKAGE_LIBEVAS is not set +# BR2_PACKAGE_LIBECORE is not set +# BR2_PACKAGE_LIBEDBUS is not set +# BR2_PACKAGE_LIBEFREET is not set +# BR2_PACKAGE_LIBEIO is not set +# BR2_PACKAGE_LIBEMBRYO is not set +# BR2_PACKAGE_LIBEDJE is not set +# BR2_PACKAGE_LIBETHUMB is not set +# BR2_PACKAGE_INFOZIP is not set +# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set +# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set +# BR2_BR2_PACKAGE_NODEJS_4_X is not set + +# +# Legacy options removed in 2015.11 +# +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set +# BR2_PACKAGE_MEDIA_CTL is not set +# BR2_PACKAGE_SCHIFRA is not set +# BR2_PACKAGE_ZXING is not set +# BR2_PACKAGE_BLACKBOX is not set +# BR2_KERNEL_HEADERS_3_0 is not set +# BR2_KERNEL_HEADERS_3_11 is not set +# BR2_KERNEL_HEADERS_3_13 is not set +# BR2_KERNEL_HEADERS_3_15 is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set +# BR2_PACKAGE_KOBS_NG is not set +# BR2_PACKAGE_SAWMAN is not set +# BR2_PACKAGE_DIVINE is not set + +# +# Legacy options removed in 2015.08 +# +# BR2_PACKAGE_KODI_PVR_ADDONS is not set +# BR2_BINUTILS_VERSION_2_23_2 is not set +# BR2_BINUTILS_VERSION_2_24 is not set +# BR2_BINUTILS_VERSION_2_25 is not set +# BR2_PACKAGE_PERF is not set +# BR2_BINUTILS_VERSION_2_22 is not set +# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set +# BR2_TARGET_UBOOT_NETWORK is not set + + +################# Override qemu_riscv32_virt_defconfig ####################### + +BR2_TOOLCHAIN_EXTERNAL=y + +BR2_TARGET_ROOTFS_EXT2=n +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_FULL=y +BR2_TARGET_ROOTFS_CPIO_NONE=y +BR2_TARGET_ROOTFS_INITRAMFS=y + +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_IMAGE=y +BR2_LINUX_KERNEL_PATCH="$(BAO_DEMOS_LINUX_PATCHES)" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BAO_DEMOS_LINUX_CFG_FRAG)" + +BR2_SYSTEM_DHCP="" +BR2_TARGET_GENERIC_ROOT_PASSWD="root" + +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_SMALL=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" + +BR2_PACKAGE_HOST_QEMU=n + +BR2_PACKAGE_URANDOM_SCRIPTS=n + +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" +BR2_LINUX_KERNEL_IMAGE_NAME="" + +BR2_PACKAGE_BAO_DRIVERS=y +BR2_ROOTFS_OVERLAY="$(BAO_DEMOS_BUILDROOT_OVERLAY)" diff --git a/guests/linux/buildroot/riscv64.config b/guests/linux/buildroot/riscv64.config index 6bda33f..8773419 100644 --- a/guests/linux/buildroot/riscv64.config +++ b/guests/linux/buildroot/riscv64.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Buildroot 2022.11 Configuration +# Buildroot 2025.02.4 Configuration # BR2_HAVE_DOT_CONFIG=y BR2_HOST_GCC_AT_LEAST_4_9=y @@ -9,6 +9,8 @@ BR2_HOST_GCC_AT_LEAST_6=y BR2_HOST_GCC_AT_LEAST_7=y BR2_HOST_GCC_AT_LEAST_8=y BR2_HOST_GCC_AT_LEAST_9=y +BR2_HOST_GCC_AT_LEAST_10=y +BR2_HOST_GCC_AT_LEAST_11=y # # Target options @@ -29,7 +31,6 @@ BR2_USE_MMU=y # BR2_mipsel is not set # BR2_mips64 is not set # BR2_mips64el is not set -# BR2_nios2 is not set # BR2_or1k is not set # BR2_powerpc is not set # BR2_powerpc64 is not set @@ -53,13 +54,19 @@ BR2_ENDIAN="LITTLE" BR2_GCC_TARGET_ABI="lp64d" BR2_BINFMT_SUPPORTS_SHARED=y BR2_READELF_ARCH_NAME="RISC-V" +BR2_riscv_g=y +# BR2_riscv_custom is not set + +# +# Instruction Set Extensions +# BR2_RISCV_ISA_RVI=y BR2_RISCV_ISA_RVM=y BR2_RISCV_ISA_RVA=y BR2_RISCV_ISA_RVF=y BR2_RISCV_ISA_RVD=y -BR2_riscv_g=y -# BR2_riscv_custom is not set +# BR2_RISCV_ISA_RVC is not set +# BR2_RISCV_ISA_RVV is not set # BR2_RISCV_32 is not set BR2_RISCV_64=y BR2_RISCV_USE_MMU=y @@ -89,21 +96,33 @@ BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" # Kernel Header Options # BR2_KERNEL_HEADERS_AS_KERNEL=y -# BR2_KERNEL_HEADERS_4_19 is not set # BR2_KERNEL_HEADERS_5_4 is not set # BR2_KERNEL_HEADERS_5_10 is not set # BR2_KERNEL_HEADERS_5_15 is not set -# BR2_KERNEL_HEADERS_5_19 is not set -# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_6_1 is not set +# BR2_KERNEL_HEADERS_6_6 is not set +# BR2_KERNEL_HEADERS_6_12 is not set # BR2_KERNEL_HEADERS_VERSION is not set # BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set # BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_18 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16 is not set -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13 is not set # BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 is not set @@ -180,24 +199,26 @@ BR2_PACKAGE_GLIBC=y # Binutils Options # BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_37_X is not set -BR2_BINUTILS_VERSION_2_38_X=y -# BR2_BINUTILS_VERSION_2_39_X is not set -BR2_BINUTILS_VERSION="2.38" +# BR2_BINUTILS_VERSION_2_42_X is not set +BR2_BINUTILS_VERSION_2_43_X=y +# BR2_BINUTILS_VERSION_2_44_X is not set +BR2_BINUTILS_VERSION="2.43.1" +# BR2_BINUTILS_GPROFNG is not set BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" # # GCC Options # -# BR2_GCC_VERSION_10_X is not set -BR2_GCC_VERSION_11_X=y # BR2_GCC_VERSION_12_X is not set -BR2_GCC_VERSION="11.3.0" +BR2_GCC_VERSION_13_X=y +# BR2_GCC_VERSION_14_X is not set +BR2_GCC_VERSION="13.3.0" BR2_EXTRA_GCC_CONFIG_OPTIONS="" # BR2_TOOLCHAIN_BUILDROOT_CXX is not set # BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set # BR2_GCC_ENABLE_OPENMP is not set # BR2_GCC_ENABLE_GRAPHITE is not set +BR2_PACKAGE_GCC_FINAL=y BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y # @@ -281,7 +302,25 @@ BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14=y BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.15" +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12=y +BR2_TOOLCHAIN_HEADERS_LATEST=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="6.12" BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y @@ -296,7 +335,9 @@ BR2_TOOLCHAIN_GCC_AT_LEAST_8=y BR2_TOOLCHAIN_GCC_AT_LEAST_9=y BR2_TOOLCHAIN_GCC_AT_LEAST_10=y BR2_TOOLCHAIN_GCC_AT_LEAST_11=y -BR2_TOOLCHAIN_GCC_AT_LEAST="11" +BR2_TOOLCHAIN_GCC_AT_LEAST_12=y +BR2_TOOLCHAIN_GCC_AT_LEAST_13=y +BR2_TOOLCHAIN_GCC_AT_LEAST="13" BR2_TOOLCHAIN_HAS_MNAN_OPTION=y BR2_TOOLCHAIN_HAS_SYNC_1=y BR2_TOOLCHAIN_HAS_SYNC_2=y @@ -305,6 +346,11 @@ BR2_TOOLCHAIN_HAS_SYNC_8=y BR2_TOOLCHAIN_HAS_LIBATOMIC=y BR2_TOOLCHAIN_HAS_ATOMIC=y +# +# Bare metal toolchain +# +# BR2_TOOLCHAIN_BARE_METAL_BUILDROOT is not set + # # Build options # @@ -312,21 +358,23 @@ BR2_TOOLCHAIN_HAS_ATOMIC=y # # Commands # -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" +BR2_CURL="curl -q --ftp-pasv --retry 3 --connect-timeout 10" +BR2_WGET="wget -nd -t 3 --connect-timeout=10" +BR2_SVN="svn --non-interactive --config-option servers:global:http-timeout=10" BR2_BZR="bzr" BR2_GIT="git" BR2_CVS="cvs" BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_SFTP="sftp" +BR2_SCP="scp -o ConnectTimeout=10" +BR2_SFTP="sftp -o ConnectTimeout=10" BR2_HG="hg" BR2_ZCAT="gzip -d -c" BR2_BZCAT="bzcat" BR2_XZCAT="xzcat" BR2_LZCAT="lzip -d -c" +BR2_ZSTDCAT="zstdcat" BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="/home/josecm/code/buildroot/riscv64/buildroot-2022.11/configs/qemu_riscv64_virt_defconfig" +BR2_DEFCONFIG="/home/josecm/code/buildroot/aarch64/buildroot-2025.02.4/configs/qemu_riscv64_virt_defconfig" BR2_DL_DIR="$(TOPDIR)/dl" BR2_HOST_DIR="$(BASE_DIR)/host" @@ -334,11 +382,11 @@ BR2_HOST_DIR="$(BASE_DIR)/host" # Mirrors and Download locations # BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_BACKUP_SITE="https://sources.buildroot.net" BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_GNU_MIRROR="https://ftpmirror.gnu.org" BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" -BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_CPAN_MIRROR="https://cpan.metacpan.org" BR2_JLEVEL=0 # BR2_CCACHE is not set # BR2_ENABLE_DEBUG is not set @@ -348,10 +396,10 @@ BR2_STRIP_EXCLUDE_FILES="" BR2_STRIP_EXCLUDE_DIRS="" # BR2_OPTIMIZE_0 is not set # BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set +BR2_OPTIMIZE_2=y # BR2_OPTIMIZE_3 is not set # BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_S is not set # BR2_OPTIMIZE_FAST is not set # BR2_ENABLE_LTO is not set @@ -361,13 +409,13 @@ BR2_OPTIMIZE_S=y BR2_SHARED_LIBS=y # BR2_SHARED_STATIC_LIBS is not set BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="" +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" # # Advanced # -BR2_COMPILER_PARANOID_UNSAFE_PATH=y # BR2_FORCE_HOST_BUILD is not set +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y # BR2_REPRODUCIBLE is not set # BR2_PER_PACKAGE_DIRECTORIES is not set @@ -388,6 +436,7 @@ BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y # BR2_FORTIFY_SOURCE_NONE is not set BR2_FORTIFY_SOURCE_1=y # BR2_FORTIFY_SOURCE_2 is not set +# BR2_FORTIFY_SOURCE_3 is not set # # System configuration @@ -399,10 +448,20 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot" BR2_TARGET_GENERIC_PASSWD_SHA256=y # BR2_TARGET_GENERIC_PASSWD_SHA512 is not set BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" + +# +# General purpose +# BR2_INIT_BUSYBOX=y # BR2_INIT_SYSV is not set # BR2_INIT_OPENRC is not set # BR2_INIT_SYSTEMD is not set + +# +# Special purpose (read help) +# +# BR2_INIT_TINI is not set +# BR2_INIT_TINYINIT is not set # BR2_INIT_NONE is not set # BR2_ROOTFS_DEVICE_CREATION_STATIC is not set BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y @@ -439,12 +498,12 @@ BR2_GENERATE_LOCALE="" # BR2_SYSTEM_ENABLE_NLS is not set # BR2_TARGET_TZ_INFO is not set BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="" BR2_ROOTFS_PRE_BUILD_SCRIPT="" -BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BAO_DEMOS_BUILDROOT_POST_BUILD_SCRIPT)" BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="" # # Kernel @@ -458,8 +517,8 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set # BR2_LINUX_KERNEL_CUSTOM_HG is not set # BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.43" -BR2_LINUX_KERNEL_VERSION="5.15.43" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_VERSION="6.12.27" BR2_LINUX_KERNEL_PATCH="" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y @@ -481,6 +540,7 @@ BR2_LINUX_KERNEL_GZIP=y # BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set # BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set # BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 is not set # # Linux Kernel Extensions @@ -496,12 +556,15 @@ BR2_LINUX_KERNEL_GZIP=y # BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set # BR2_PACKAGE_LINUX_TOOLS_GPIO is not set # BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_MM is not set # BR2_PACKAGE_LINUX_TOOLS_PCI is not set # BR2_PACKAGE_LINUX_TOOLS_PERF is not set +# BR2_PACKAGE_LINUX_TOOLS_RTLA is not set # # selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14 # +# BR2_PACKAGE_LINUX_TOOLS_USBTOOLS is not set # BR2_PACKAGE_LINUX_TOOLS_TMON is not set # @@ -556,7 +619,7 @@ BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 +# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x, host gcc >= 9.x # # @@ -568,7 +631,6 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # # BR2_PACKAGE_LAME is not set # BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set # BR2_PACKAGE_MINIMODEM is not set # @@ -591,7 +653,7 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y # BR2_PACKAGE_MPG123 is not set # -# mpv needs a toolchain w/ C++, threads, gcc >= 4.9 +# mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9 # # BR2_PACKAGE_MULTICAT is not set # BR2_PACKAGE_MUSEPACK is not set @@ -604,12 +666,9 @@ BR2_PACKAGE_KODI_ARCH_SUPPORTS=y BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PULSEAUDIO is not set # BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SPEECHD is not set # BR2_PACKAGE_SQUEEZELITE is not set # BR2_PACKAGE_TINYCOMPRESS is not set - -# -# tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9 -# # BR2_PACKAGE_TSTOOLS is not set # BR2_PACKAGE_TWOLAME is not set # BR2_PACKAGE_UDPXY is not set @@ -657,7 +716,7 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # BR2_PACKAGE_PIXZ is not set # -# unrar needs a toolchain w/ C++, wchar, threads +# unrar needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 # # BR2_PACKAGE_XZ is not set # BR2_PACKAGE_ZIP is not set @@ -667,11 +726,17 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # Debugging, profiling and benchmark # # BR2_PACKAGE_BABELTRACE2 is not set + +# +# bcc needs a glibc toolchain, C++, wchar, threads, dynamic libs, gcc >= 7, host gcc >= 7 +# # BR2_PACKAGE_BLKTRACE is not set # # bonnie++ needs a toolchain w/ C++ # +BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS=y +# BR2_PACKAGE_BPFTOOL is not set # BR2_PACKAGE_CACHE_CALIBRATOR is not set # @@ -698,6 +763,8 @@ BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y # duma needs a toolchain w/ C++, threads, dynamic library # # BR2_PACKAGE_FIO is not set +BR2_PACKAGE_FWTS_ARCH_SUPPORTS=y +# BR2_PACKAGE_FWTS is not set BR2_PACKAGE_GDB_ARCH_SUPPORTS=y # @@ -705,28 +772,41 @@ BR2_PACKAGE_GDB_ARCH_SUPPORTS=y # # BR2_PACKAGE_IOZONE is not set # BR2_PACKAGE_KMEMD is not set -# BR2_PACKAGE_LATENCYTOP is not set # BR2_PACKAGE_LIBBPF is not set +# BR2_PACKAGE_LIBTRACEEVENT is not set +# BR2_PACKAGE_LIBTRACEFS is not set # BR2_PACKAGE_LMBENCH is not set BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y # BR2_PACKAGE_LTP_TESTSUITE is not set # BR2_PACKAGE_LTTNG_BABELTRACE is not set # BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set + +# +# lttng-tools needs a toolchain w/ threads, dynamic library, C++ +# +# BR2_PACKAGE_MBPOLL is not set # BR2_PACKAGE_MBW is not set # BR2_PACKAGE_MEMSTAT is not set # BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set + +# +# netsniff-ng needs a toolchain w/ NPTL, C++, headers >= 3.0 +# # BR2_PACKAGE_NMON is not set # BR2_PACKAGE_PAX_UTILS is not set +BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERFTEST is not set + +# +# piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9 +# # BR2_PACKAGE_POKE is not set # BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RAMSMP is not set # BR2_PACKAGE_RAMSPEED is not set # BR2_PACKAGE_RT_TESTS is not set # -# rwmem needs a toolchain w/ C++, wchar, gcc >= 5 +# rwmem needs a toolchain w/ C++, wchar, gcc >= 10 # # @@ -738,9 +818,8 @@ BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y # BR2_PACKAGE_STRESS_NG is not set # -# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 5, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built +# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built # -# BR2_PACKAGE_TINYMEMBENCH is not set # BR2_PACKAGE_TRACE_CMD is not set # BR2_PACKAGE_UCLIBC_NG_TEST is not set # BR2_PACKAGE_VMTOUCH is not set @@ -752,8 +831,12 @@ BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y # BR2_PACKAGE_AVOCADO is not set # BR2_PACKAGE_BINUTILS is not set # BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set # BR2_PACKAGE_CHECK is not set +BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y + +# +# ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL +# # # cppunit needs a toolchain w/ C++, dynamic library @@ -784,7 +867,9 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_MAWK is not set # BR2_PACKAGE_PKGCONF is not set # BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TIG is not set # BR2_PACKAGE_TREE is not set +# BR2_PACKAGE_UNIFDEF is not set # # Filesystem and flash utilities @@ -792,6 +877,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_ABOOTIMG is not set # BR2_PACKAGE_AUFS_UTIL is not set # BR2_PACKAGE_AUTOFS is not set + +# +# bmap-writer needs a toolchain w/ C++, wchar +# # BR2_PACKAGE_BTRFS_PROGS is not set # BR2_PACKAGE_CIFS_UTILS is not set # BR2_PACKAGE_CPIO is not set @@ -814,7 +903,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_FWUP is not set # BR2_PACKAGE_GENEXT2FS is not set # BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set # BR2_PACKAGE_GOCRYPTFS is not set # BR2_PACKAGE_IMX_USB_LOADER is not set # BR2_PACKAGE_MMC_UTILS is not set @@ -828,7 +916,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # BR2_PACKAGE_SSHFS is not set # BR2_PACKAGE_UDFTOOLS is not set # BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set + +# +# xfsprogs needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_ZEROFREE is not set # @@ -843,7 +934,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # Cursors # # BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set # # Fonts @@ -860,7 +950,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # Icons # -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set # BR2_PACKAGE_HICOLOR_ICON_THEME is not set # @@ -882,7 +971,6 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # flare-engine needs a toolchain w/ C++, dynamic library # -# BR2_PACKAGE_FROTZ is not set # # gnuchess needs a toolchain w/ C++, threads @@ -911,12 +999,25 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support +# cage needs udev, EGL and OpenGL ES support # # # cog needs wpewebkit and a toolchain w/ threads # + +# +# dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 +# + +# +# flutter packages need flutter-engine +# + +# +# flutter-pi needs GBM, systemd, and udev +# +# BR2_PACKAGE_FOOT is not set # BR2_PACKAGE_FSWEBCAM is not set # BR2_PACKAGE_GHOSTSCRIPT is not set @@ -928,6 +1029,10 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # glslsandbox-player needs openGL ES and EGL driver # # BR2_PACKAGE_GNUPLOT is not set + +# +# igt-gpu-tools needs udev /dev management and toolchain w/ NPTL, wchar, dynamic library, locale, headers >= 4.11 +# # BR2_PACKAGE_JHEAD is not set # @@ -937,39 +1042,39 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" # # libva-utils needs a toolchain w/ C++, threads, dynamic library # -BR2_PACKAGE_MIDORI_ARCH_SUPPORTS=y +BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y +# BR2_PACKAGE_NETSURF is not set +# BR2_PACKAGE_PNGQUANT is not set +# BR2_PACKAGE_RRDTOOL is not set # -# midori needs a glibc toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 8 +# spirv-tools needs a toolchain w/ C++, dynamic library, gcc >= 8 # # -# midori needs libgtk3 w/ X11 or wayland backend +# stellarium needs Qt5 and an OpenGL provider # -BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y -# BR2_PACKAGE_NETSURF is not set -# BR2_PACKAGE_PNGQUANT is not set -# BR2_PACKAGE_RRDTOOL is not set # -# stellarium needs Qt5 and an OpenGL provider +# sway needs systemd, udev, EGL and OpenGL ES support # # -# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 7, dynamic library, wchar +# sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9 # -# BR2_PACKAGE_TINIFIER is not set +# BR2_PACKAGE_SWAYBG is not set # -# Graphic libraries +# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 8, dynamic library, wchar # +# BR2_PACKAGE_TINIFIER is not set # -# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 +# Graphic libraries # # -# directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library +# cegui needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 5 # # @@ -990,10 +1095,9 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_GRAPHICSMAGICK is not set # BR2_PACKAGE_IMAGEMAGICK is not set # BR2_PACKAGE_LIBGLVND is not set -# BR2_PACKAGE_LINUX_FUSION is not set # -# mesa3d needs a toolchain w/ C++, NPTL, dynamic library +# mesa3d needs a toolchain w/ gcc >=8, C++, NPTL, dynamic library # # @@ -1006,8 +1110,20 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_PSPLASH is not set # BR2_PACKAGE_SDL is not set # BR2_PACKAGE_SDL2 is not set + +# +# spirv-headers needs a toolchain w/ C++ +# # BR2_PACKAGE_VULKAN_HEADERS is not set +# +# vulkan-loader needs a toolchain w/ C++, dynamic library, threads +# + +# +# vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9 +# + # # Other GUIs # @@ -1038,7 +1154,7 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # # -# vte needs an OpenGL or an OpenGL-EGL/wayland backend +# vte needs an OpenGL or an OpenGL-EGL backend # # BR2_PACKAGE_XKEYBOARD_CONFIG is not set @@ -1054,8 +1170,11 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI is not set # BR2_PACKAGE_LINUX_FIRMWARE is not set # BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_NXP_BT_WIFI_FIRMWARE is not set # BR2_PACKAGE_ODROIDC2_FIRMWARE is not set +# BR2_PACKAGE_PANEL_MIPI_DBI_FIRMWARE is not set # BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set +# BR2_PACKAGE_QORIQ_FM_UCODE is not set # BR2_PACKAGE_RCW_SMARC_SAL28 is not set # BR2_PACKAGE_UX500_FIRMWARE is not set # BR2_PACKAGE_WILC1000_FIRMWARE is not set @@ -1080,6 +1199,7 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # # bcache-tools needs udev /dev management # +# BR2_PACKAGE_BFSCRIPTS is not set # # brickd needs udev /dev management, a toolchain w/ threads, wchar @@ -1104,6 +1224,7 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # # dbus-cxx needs a toolchain w/ C++, threads, gcc >= 7 and dynamic library support # +# BR2_PACKAGE_DFU_PROGRAMMER is not set # BR2_PACKAGE_DFU_UTIL is not set # BR2_PACKAGE_DMRAID is not set @@ -1113,20 +1234,24 @@ BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y # BR2_PACKAGE_DTBOCFG is not set # BR2_PACKAGE_DTV_SCAN_TABLES is not set # BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set # BR2_PACKAGE_DVBSNOOP is not set +# +# edid-decode needs a toolchain w/ C++, gcc >= 4.7 +# +# BR2_PACKAGE_ESP_HOSTED is not set + # # eudev needs eudev /dev management # # BR2_PACKAGE_EVEMU is not set # BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_FLASHROM is not set # BR2_PACKAGE_FMTOOLS is not set # BR2_PACKAGE_FREEIPMI is not set +# BR2_PACKAGE_FWUPD is not set +# BR2_PACKAGE_FWUPD_EFI is not set # BR2_PACKAGE_FXLOAD is not set # BR2_PACKAGE_GPM is not set # BR2_PACKAGE_GPSD is not set @@ -1135,14 +1260,20 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # gptfdisk needs a toolchain w/ C++ # # BR2_PACKAGE_GVFS is not set +# BR2_PACKAGE_HDDTEMP is not set # BR2_PACKAGE_HWDATA is not set # BR2_PACKAGE_HWLOC is not set # BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOTOOLS is not set # BR2_PACKAGE_IPMITOOL is not set # BR2_PACKAGE_IRDA_UTILS is not set # BR2_PACKAGE_KBD is not set # BR2_PACKAGE_LCDPROC is not set +# +# ledmon needs udev and a toolchain w/ threads +# + # # libiec61850 needs a toolchain w/ C++, threads, dynamic library # @@ -1171,11 +1302,15 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_MDIO_TOOLS is not set # BR2_PACKAGE_MEMTESTER is not set # BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MHZ is not set # BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_MXT_APP is not set # BR2_PACKAGE_NANOCOM is not set # BR2_PACKAGE_NEARD is not set # BR2_PACKAGE_NVIDIA_MODPROBE is not set +# BR2_PACKAGE_NVIDIA_PERSISTENCED is not set # BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_NXP_MWIFIEX is not set # BR2_PACKAGE_OFONO is not set # @@ -1191,14 +1326,23 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_PARTED is not set # BR2_PACKAGE_PCIUTILS is not set # BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set +BR2_PACKAGE_PICOCOM=y + +# +# picotool needs a toolchain w/ C++, threads, gcc >= 4.9 +# # # powertop needs a toolchain w/ C++, threads, wchar # # BR2_PACKAGE_PPS_TOOLS is not set + +# +# pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5 +# # BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE is not set # BR2_PACKAGE_RASPI_GPIO is not set +# BR2_PACKAGE_RDMA_CORE is not set # BR2_PACKAGE_READ_EDID is not set # BR2_PACKAGE_RNG_TOOLS is not set # BR2_PACKAGE_RS485CONF is not set @@ -1209,8 +1353,11 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_RTL8192EU is not set # BR2_PACKAGE_RTL8723BU is not set # BR2_PACKAGE_RTL8723DS is not set +# BR2_PACKAGE_RTL8723DS_BT is not set # BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set # BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_RTL8821CU is not set +# BR2_PACKAGE_RTL8822CS is not set # BR2_PACKAGE_SANE_BACKENDS is not set # BR2_PACKAGE_SDPARM is not set # BR2_PACKAGE_SETSERIAL is not set @@ -1227,17 +1374,16 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # BR2_PACKAGE_STATSERIAL is not set # BR2_PACKAGE_STM32FLASH is not set # BR2_PACKAGE_SYSSTAT is not set +# BR2_PACKAGE_TI_UIM is not set +# BR2_PACKAGE_TI_UTILS is not set # -# targetcli-fb depends on Python +# tio needs lua (but not luajit) # -# BR2_PACKAGE_TI_UIM is not set -# BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set # BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_BOOTCOUNT is not set # BR2_PACKAGE_UBOOT_TOOLS is not set # BR2_PACKAGE_UBUS is not set -# BR2_PACKAGE_UCCP420WLAN is not set # # udisks needs udev /dev management @@ -1255,6 +1401,10 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # +# +# usbip needs udev /dev management +# + # # usbmount requires udev to be enabled # @@ -1262,7 +1412,6 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # # usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 # -# BR2_PACKAGE_W_SCAN is not set # BR2_PACKAGE_WILC_DRIVER is not set # BR2_PACKAGE_WIPE is not set # BR2_PACKAGE_XORRISO is not set @@ -1272,6 +1421,7 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y # Interpreter languages and scripting # # BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_CHICKEN is not set # BR2_PACKAGE_ENSCRIPT is not set BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y @@ -1287,6 +1437,7 @@ BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" # BR2_PACKAGE_MICROPYTHON is not set # BR2_PACKAGE_MOARVM is not set BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y +BR2_PACKAGE_PROVIDES_NODEJS="nodejs-src" # # octave needs a toolchain w/ C++ and fortran, gcc >= 4.8 @@ -1298,6 +1449,8 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # BR2_PACKAGE_PYTHON3 is not set # BR2_PACKAGE_QUICKJS is not set # BR2_PACKAGE_RUBY is not set +BR2_PACKAGE_SWIPL_ARCH_SUPPORTS=y +# BR2_PACKAGE_SWIPL is not set # BR2_PACKAGE_TCL is not set # @@ -1318,12 +1471,14 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # # caps needs a toolchain w/ C++, dynamic library # -# BR2_PACKAGE_LIBAO is not set +BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS=y # -# asplib needs a toolchain w/ C++ +# gtkiostream needs a toolchain w/ C++, threads # +# BR2_PACKAGE_LIBAO is not set # BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCANBERRA is not set # BR2_PACKAGE_LIBCDAUDIO is not set # BR2_PACKAGE_LIBCDDB is not set # BR2_PACKAGE_LIBCDIO is not set @@ -1331,7 +1486,6 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCODEC2 is not set # BR2_PACKAGE_LIBCUE is not set # BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set # BR2_PACKAGE_LIBG7221 is not set # BR2_PACKAGE_LIBGSM is not set # BR2_PACKAGE_LIBID3TAG is not set @@ -1342,8 +1496,11 @@ BR2_PACKAGE_PHP_ARCH_SUPPORTS=y # # libmodplug needs a toolchain w/ C++ # -# BR2_PACKAGE_LIBMPD is not set # BR2_PACKAGE_LIBMPDCLIENT is not set + +# +# libopenmpt needs a toolchain w/ threads, C++, gcc >= 7 +# # BR2_PACKAGE_LIBREPLAYGAIN is not set # BR2_PACKAGE_LIBSAMPLERATE is not set @@ -1376,6 +1533,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPUS is not set # BR2_PACKAGE_OPUSFILE is not set # BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_RNNOISE is not set # BR2_PACKAGE_SBC is not set # BR2_PACKAGE_SPANDSP is not set # BR2_PACKAGE_SPEEX is not set @@ -1394,6 +1552,7 @@ BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBARCHIVE is not set # BR2_PACKAGE_LIBDEFLATE is not set +# BR2_PACKAGE_LIBJCAT is not set # BR2_PACKAGE_LIBMSPACK is not set # @@ -1419,14 +1578,13 @@ BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" # Crypto # # BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y # -# botan needs a toolchain w/ C++, threads, gcc >= 4.8 +# botan needs a toolchain w/ threads, C++, gcc >= 11 # # BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set +# BR2_PACKAGE_CRYPTODEV_LINUX is not set # # cryptopp needs a toolchain w/ C++, dynamic library, wchar @@ -1462,15 +1620,19 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu" # BR2_PACKAGE_LIBXCRYPT is not set # BR2_PACKAGE_MBEDTLS is not set # BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OATH_TOOLKIT is not set +BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENSSL is not set BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # BR2_PACKAGE_PKCS11_HELPER is not set # BR2_PACKAGE_RHASH is not set # BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_OPENSSL is not set # BR2_PACKAGE_TPM2_PKCS11 is not set # BR2_PACKAGE_TPM2_TSS is not set # BR2_PACKAGE_TROUSERS is not set # BR2_PACKAGE_USTREAM_SSL is not set +BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS=y # BR2_PACKAGE_WOLFSSL is not set # BR2_PACKAGE_WOLFTPM is not set @@ -1496,20 +1658,28 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # libodb needs a toolchain w/ C++, threads # +# BR2_PACKAGE_LMDB is not set # -# mysql needs a toolchain w/ C++, threads +# mariadb needs a toolchain w/ dynamic library, C++, threads, wchar # # BR2_PACKAGE_POSTGRESQL is not set # BR2_PACKAGE_REDIS is not set + +# +# redis-plus-plus needs a toolchain w/ C++, threads +# # BR2_PACKAGE_SQLCIPHER is not set # BR2_PACKAGE_SQLITE is not set + +# +# sqlitecpp needs a toolchain w/ C++11, gcc >= 4.9 +# # BR2_PACKAGE_UNIXODBC is not set # # Filesystem # -# BR2_PACKAGE_GAMIN is not set # BR2_PACKAGE_LIBCONFIG is not set # BR2_PACKAGE_LIBCONFUSE is not set # BR2_PACKAGE_LIBFUSE is not set @@ -1528,20 +1698,16 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # -# assimp needs a toolchain w/ C++, wchar -# - -# -# at-spi2-atk depends on X.org +# assimp needs a toolchain w/ C++, wchar, gcc >= 7 # +# BR2_PACKAGE_AT_SPI2_CORE is not set # -# at-spi2-core depends on X.org +# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library # -# BR2_PACKAGE_ATK is not set # -# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 +# atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # # @@ -1553,6 +1719,10 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# cairomm (1.14.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # chipmunk needs an OpenGL backend # @@ -1573,13 +1743,14 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9 # +# BR2_PACKAGE_GRAPHENE is not set # # graphite2 needs a toolchain w/ C++ # # -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 7 +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library # # @@ -1589,7 +1760,7 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # BR2_PACKAGE_IMLIB2 is not set # -# intel-gmmlib needs a toolchain w/ dynamic library, C++ +# intel-gmmlib needs a toolchain w/ dynamic library, C++, threads # # @@ -1609,6 +1780,11 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # BR2_PACKAGE_LEPTONICA is not set # BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBAVIF is not set + +# +# libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# # BR2_PACKAGE_LIBDMTX is not set # BR2_PACKAGE_LIBDRM is not set @@ -1631,7 +1807,7 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # -# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # # @@ -1652,7 +1828,19 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend +# libgtk3 needs an OpenGL or an OpenGL-EGL backend +# + +# +# libgtk4 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9 +# + +# +# libgtk4 needs an OpenGL(ES) EGL backend +# + +# +# libjxl needs a toolchain with C++, threads, gcc >= 7, dynamic library # # BR2_PACKAGE_LIBMEDIAART is not set # BR2_PACKAGE_LIBMNG is not set @@ -1670,6 +1858,11 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # libvips needs a toolchain w/ wchar, threads, C++ # +BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS=y + +# +# libvpl needs a toolchain w/ dynamic library, gcc >= 7, C++, threads +# # # libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend @@ -1692,22 +1885,27 @@ BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" # # pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # + +# +# pangomm (2.46.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# # BR2_PACKAGE_PIXMAN is not set # # poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 7 # +# BR2_PACKAGE_STB is not set # BR2_PACKAGE_TIFF is not set # BR2_PACKAGE_WAYLAND is not set BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # -# webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9 # # BR2_PACKAGE_WEBP is not set # -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support +# wlroots needs udev, EGL and OpenGL ES support # # @@ -1715,12 +1913,12 @@ BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y # # -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and EGL support # BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # -# wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 +# wpewebkit needs a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9 # # @@ -1732,7 +1930,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# zxing-cpp needs a toolchain w/ C++, dynamic library +# zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads # # @@ -1742,10 +1940,12 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_C_PERIPHERY is not set # BR2_PACKAGE_CCID is not set # BR2_PACKAGE_DTC is not set +BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y +# BR2_PACKAGE_GNU_EFI is not set # BR2_PACKAGE_HACKRF is not set # -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 +# hidapi needs udev /dev management and a toolchain w/ NPTL, gcc >= 4.9 # # BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set @@ -1763,22 +1963,23 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library +# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale # # # libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7 # +# BR2_PACKAGE_LIBDISPLAY_INFO is not set # BR2_PACKAGE_LIBFREEFARE is not set # BR2_PACKAGE_LIBFTDI is not set # BR2_PACKAGE_LIBFTDI1 is not set # BR2_PACKAGE_LIBGPHOTO2 is not set # BR2_PACKAGE_LIBGPIOD is not set +# BR2_PACKAGE_LIBGPIOD2 is not set # # libgudev needs udev /dev handling and a toolchain w/ wchar, threads # -# BR2_PACKAGE_LIBHID is not set # BR2_PACKAGE_LIBIIO is not set # @@ -1788,6 +1989,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBLLCP is not set # BR2_PACKAGE_LIBMBIM is not set # BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBNVME is not set # BR2_PACKAGE_LIBPCIACCESS is not set # BR2_PACKAGE_LIBPHIDGET is not set # BR2_PACKAGE_LIBPRI is not set @@ -1816,10 +2018,11 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_OPENSC is not set # BR2_PACKAGE_OWFS is not set # BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_PICO_SDK is not set # BR2_PACKAGE_TSLIB is not set # -# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library +# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 7 # # @@ -1829,7 +2032,6 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # Javascript # -# BR2_PACKAGE_ANGULARJS is not set # BR2_PACKAGE_BOOTSTRAP is not set # BR2_PACKAGE_CHARTJS is not set # BR2_PACKAGE_DATATABLES is not set @@ -1842,7 +2044,6 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # BR2_PACKAGE_JSON_JAVASCRIPT is not set # BR2_PACKAGE_JSZIP is not set # BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set # BR2_PACKAGE_VIS_NETWORK is not set # BR2_PACKAGE_VUEJS is not set @@ -1874,9 +2075,11 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # libjson needs a toolchain w/ C++ # +# BR2_PACKAGE_LIBJWT is not set # BR2_PACKAGE_LIBROXML is not set # BR2_PACKAGE_LIBUCL is not set # BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLB is not set # # libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7 @@ -1928,7 +2131,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# glog needs a toolchain w/ C++ +# glog needs a toolchain w/ C++, threads, gcc >= 6 # # @@ -1946,7 +2149,7 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y # # -# log4cxx needs a toolchain w/ C++, threads, dynamic library +# log4cxx needs a toolchain w/ C++, threads, dynamic library, wchar # # @@ -1993,7 +2196,11 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 +# libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, headers >= 5.5 +# + +# +# libde265 needs a toolchain w/ threads, C++ # # BR2_PACKAGE_LIBDVBCSA is not set # BR2_PACKAGE_LIBDVBPSI is not set @@ -2006,12 +2213,16 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBDVDREAD is not set # -# libebml needs a toolchain w/ C++, wchar +# libebml needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBHDHOMERUN is not set # -# libmatroska needs a toolchain w/ C++, wchar +# libheif needs a toolchain w/ C++, gcc >= 4.8 +# + +# +# libmatroska needs a toolchain w/ C++, wchar, gcc >= 4.9 # # BR2_PACKAGE_LIBMMS is not set # BR2_PACKAGE_LIBMPEG2 is not set @@ -2060,9 +2271,12 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar # # BR2_PACKAGE_C_ARES is not set -# BR2_PACKAGE_CGIC is not set # BR2_PACKAGE_CNI_PLUGINS is not set +# +# cpp-httplib needs a toolchain w/ C++, wchar, threads +# + # # cppzmq needs a toolchain w/ C++, threads # @@ -2083,14 +2297,13 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # filemq needs a toolchain w/ C++, threads # -# BR2_PACKAGE_FLICKCURL is not set # BR2_PACKAGE_FREERADIUS_CLIENT is not set # BR2_PACKAGE_GENSIO is not set # BR2_PACKAGE_GEOIP is not set # BR2_PACKAGE_GLIB_NETWORKING is not set # -# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 5 +# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_GSSDP is not set # BR2_PACKAGE_GUPNP is not set @@ -2124,7 +2337,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBHTTPPARSER is not set # -# libhttpserver needs a toolchain w/ C++, threads, gcc >= 5 +# libhttpserver needs a toolchain w/ C++, threads, gcc >= 7 # # BR2_PACKAGE_LIBIDN is not set # BR2_PACKAGE_LIBIDN2 is not set @@ -2143,7 +2356,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBMODBUS is not set # -# libmodsecurity needs a toolchain w/ C++, threads +# libmodsecurity needs a toolchain w/ C++, threads, dynamic library # # BR2_PACKAGE_LIBNATPMP is not set # BR2_PACKAGE_LIBNDP is not set @@ -2180,6 +2393,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSHOUT is not set # BR2_PACKAGE_LIBSOCKETCAN is not set # BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSOUP3 is not set # BR2_PACKAGE_LIBSRTP is not set # BR2_PACKAGE_LIBSTROPHE is not set # BR2_PACKAGE_LIBTEAM is not set @@ -2195,10 +2409,6 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBUEV is not set # BR2_PACKAGE_LIBUHTTPD is not set - -# -# libuhttpd needs a toolchain w/ gcc >= 4.9 -# # BR2_PACKAGE_LIBUPNP is not set # @@ -2214,8 +2424,10 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBWEBSOCK is not set # BR2_PACKAGE_LIBWEBSOCKETS is not set # BR2_PACKAGE_LIBYANG is not set +# BR2_PACKAGE_LIBZENOH_PICO is not set # BR2_PACKAGE_LKSCTP_TOOLS is not set # BR2_PACKAGE_MBUFFER is not set +# BR2_PACKAGE_MDNSD is not set # BR2_PACKAGE_MONGOOSE is not set # BR2_PACKAGE_NANOMSG is not set # BR2_PACKAGE_NEON is not set @@ -2231,6 +2443,10 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_NSS_MYHOSTNAME is not set # BR2_PACKAGE_NSS_PAM_LDAPD is not set +# +# oatpp needs a toolchain w/ C++, threads +# + # # omniORB needs a toolchain w/ C++, threads # @@ -2257,7 +2473,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597 +# pistache needs a toolchain w/ C++, gcc >= 7, NPTL, wchar # # BR2_PACKAGE_QDECODER is not set @@ -2282,6 +2498,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # snmp++ needs a toolchain w/ threads, C++, dynamic library # # BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_SSCEP is not set # # sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8 @@ -2293,7 +2510,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # BR2_PACKAGE_USBREDIR is not set # -# wampcc needs a toolchain w/ C++, NPTL, dynamic library +# wampcc needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.9 # # @@ -2317,19 +2534,20 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8 +# ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.9 # # BR2_PACKAGE_APR is not set # BR2_PACKAGE_APR_UTIL is not set # -# armadillo needs a toolchain w/ fortran, C++ +# armadillo needs a toolchain w/ C++ # # # atf needs a toolchain w/ C++ # # BR2_PACKAGE_AVRO_C is not set +# BR2_PACKAGE_BASU is not set # # bctoolbox needs a toolchain w/ C++, threads @@ -2352,6 +2570,10 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 # +# +# catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 5 +# + # # cctz needs a toolchain w/ C++, threads, gcc >= 4.8 # @@ -2361,7 +2583,7 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # -# clang needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# clang needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 # # BR2_PACKAGE_CMOCKA is not set @@ -2375,6 +2597,11 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # BR2_PACKAGE_DING_LIBS is not set +# +# dlib needs a toolchain w/ C++, threads, wchar +# +# BR2_PACKAGE_DOTCONF is not set + # # double-conversion needs a toolchain w/ C++ # @@ -2384,20 +2611,31 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # # BR2_PACKAGE_ELFUTILS is not set # BR2_PACKAGE_ELL is not set + +# +# farmhash needs a toolchain w/ C++11 +# +# BR2_PACKAGE_FFT2D is not set # BR2_PACKAGE_FFTW is not set # -# flann needs a toolchain w/ C++, dynamic library +# flann needs a toolchain w/ C++, dynamic library, gcc >= 4.7 # # # flatbuffers needs a toolchain w/ C++, gcc >= 4.7 # # BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_FP16 is not set +# BR2_PACKAGE_FXDIV is not set # BR2_PACKAGE_GCONF is not set # -# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, not binutils bug 27597, threads, wchar +# gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, NPTL, wchar +# + +# +# gemmlowp needs a toolchain w/ C++11 # # @@ -2412,6 +2650,10 @@ BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y # glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 7 # +# +# glibmm (2.66.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 +# + # # glm needs a toolchain w/ C++ # @@ -2427,6 +2669,10 @@ BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y # gtest needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # BR2_PACKAGE_GUMBO_PARSER is not set + +# +# highway needs a toolchain w/ C++, gcc >= 7 +# BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y # BR2_PACKAGE_JEMALLOC is not set BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y @@ -2437,7 +2683,7 @@ BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y # -# libabseil-cpp needs a toolchain w/ gcc >= 4.9, C++, threads, dynamic library +# libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library # # BR2_PACKAGE_LIBARGTABLE2 is not set BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y @@ -2452,7 +2698,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBCAP_NG is not set # -# libcgroup needs a glibc toolchain w/ C++ +# libcgroup needs a toolchain w/ C++, threads # # BR2_PACKAGE_LIBCLC is not set # BR2_PACKAGE_LIBCORRECT is not set @@ -2462,6 +2708,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # # BR2_PACKAGE_LIBCSV is not set # BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBDEX is not set # BR2_PACKAGE_LIBDILL is not set # BR2_PACKAGE_LIBEE is not set # BR2_PACKAGE_LIBEV is not set @@ -2479,7 +2726,7 @@ BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBGEE is not set # -# libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597 +# libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads # # BR2_PACKAGE_LIBGLIB2 is not set # BR2_PACKAGE_LIBGLOB is not set @@ -2505,7 +2752,7 @@ BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y # BR2_PACKAGE_LIBNSPR is not set # -# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7 +# libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 5 # # @@ -2530,8 +2777,13 @@ BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y # # libsigc++ needs a toolchain w/ C++, gcc >= 7 # + +# +# libsigc++ (2.x.x) needs a toolchain w/ C++, gcc >= 4.9 +# BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSOLV is not set # # libspatialindex needs a toolchain w/ C++, gcc >= 4.7 @@ -2543,8 +2795,12 @@ BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y # BR2_PACKAGE_LIBUBOX is not set # BR2_PACKAGE_LIBUCI is not set BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set + +# +# liburcu needs a toolchain w/ threads, C++ +# # BR2_PACKAGE_LIBURING is not set +# BR2_PACKAGE_LIBUTEMPTER is not set # BR2_PACKAGE_LIBUV is not set # BR2_PACKAGE_LIGHTNING is not set # BR2_PACKAGE_LINUX_PAM is not set @@ -2553,9 +2809,12 @@ BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y BR2_PACKAGE_LLVM_TARGET_ARCH="riscv64" # -# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5 +# llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7 +# + +# +# lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++ # -# BR2_PACKAGE_LTTNG_LIBUST is not set # BR2_PACKAGE_MATIO is not set # BR2_PACKAGE_MPC is not set # BR2_PACKAGE_MPDECIMAL is not set @@ -2565,35 +2824,46 @@ BR2_PACKAGE_LLVM_TARGET_ARCH="riscv64" # # msgpack needs a toolchain w/ C++ # +# BR2_PACKAGE_NEON_2_SSE is not set +BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET="RISCV64_GENERIC" +BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y +# BR2_PACKAGE_OPENBLAS is not set # BR2_PACKAGE_ORC is not set # BR2_PACKAGE_P11_KIT is not set BR2_PACKAGE_POCO_ARCH_SUPPORTS=y # -# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14 +# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8 # BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # -# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 +# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # -# protobuf-c needs a toolchain w/ C++, threads +# protobuf-c needs a toolchain w/ C++, threads, host gcc >= 7 # # -# protozero needs a toolchain w/ C++, gcc >= 4.7 +# protozero needs a toolchain w/ C++, gcc >= 4.7 # +# BR2_PACKAGE_PSIMD is not set +# BR2_PACKAGE_PTHREADPOOL is not set # # qhull needs a toolchain w/ C++, gcc >= 4.4 # # BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_REPROC is not set + +# +# riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 7 +# # -# riemann-c-client needs a toolchain w/ C++, threads +# ruy needs a toolchain w/ C++14, threads # # @@ -2605,8 +2875,17 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tbb needs a glibc or musl toolchain w/ dynamic library, threads, C++ # + +# +# tensorflow-lite needs a toolchain w/ gcc >= 8, C++, threads +# # BR2_PACKAGE_TINYCBOR is not set +# +# tl-expected needs a toolchain w/ C++, gcc >= 4.8 +# +# BR2_PACKAGE_TLLIST is not set + # # uvw needs a toolchain w/ NPTL, dynamic library, C++, gcc >= 7 # @@ -2619,6 +2898,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # xapian needs a toolchain w/ C++ # +# +# xnnpack needs a toolchain w/ C++14, threads +# + # # Security # @@ -2636,6 +2919,10 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_AUGEAS is not set +# +# cli11 needs a toolchain w/ C++, gcc >= 4.8 +# + # # docopt-cpp needs a toolchain w/ C++, gcc >= 4.7 # @@ -2643,6 +2930,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # enchant needs a toolchain w/ C++, threads, wchar # +# BR2_PACKAGE_FCFT is not set # # fmt needs a toolchain w/ C++, wchar @@ -2654,10 +2942,12 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # BR2_PACKAGE_INIH is not set # BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBECOLI is not set # BR2_PACKAGE_LIBEDIT is not set # BR2_PACKAGE_LIBENCA is not set # BR2_PACKAGE_LIBESTR is not set # BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNIBREAK is not set # BR2_PACKAGE_LIBUNISTRING is not set # BR2_PACKAGE_LINENOISE is not set # BR2_PACKAGE_NCURSES is not set @@ -2668,7 +2958,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # BR2_PACKAGE_POPT is not set # -# re2 needs a toolchain w/ C++, threads, gcc >= 4.8 +# re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 # # BR2_PACKAGE_READLINE is not set # BR2_PACKAGE_SLANG is not set @@ -2676,8 +2966,16 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y # # tclap needs a toolchain w/ C++ # + +# +# termcolor needs a toolchain w/ C++, gcc >= 4.8 +# # BR2_PACKAGE_UTF8PROC is not set +# +# taglib needs a toolchain w/ C++ +# + # # Mail # @@ -2697,11 +2995,7 @@ BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # -# bitcoin needs a toolchain w/ C++, threads, wchar -# - -# -# clamav needs a toolchain w/ C++, dynamic library, threads, wchar +# bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 11 # # BR2_PACKAGE_COLLECTD is not set # BR2_PACKAGE_COLLECTL is not set @@ -2710,15 +3004,16 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library # # BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_FFT_EVAL is not set # BR2_PACKAGE_GITLAB_RUNNER is not set # -# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library +# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 8 # # BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set # -# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8 # # @@ -2731,7 +3026,7 @@ BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y # BR2_PACKAGE_NETDATA is not set # -# proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar +# proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar # BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_QEMU is not set @@ -2741,6 +3036,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # # BR2_PACKAGE_RTL_433 is not set # BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SNOOZE is not set # # sunwait needs a toolchain w/ C++ @@ -2750,6 +3046,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # taskd needs a toolchain w/ C++, wchar, dynamic library # # BR2_PACKAGE_XUTIL_UTIL_MACROS is not set +BR2_PACKAGE_Z3_ARCH_SUPPORTS=y # # Networking applications @@ -2788,7 +3085,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8 # # BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set +BR2_PACKAGE_BRIDGE_UTILS=y # BR2_PACKAGE_BWM_NG is not set # BR2_PACKAGE_C_ICAP is not set # BR2_PACKAGE_CAN_UTILS is not set @@ -2800,6 +3097,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_CFM is not set # BR2_PACKAGE_CHRONY is not set # BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CLOUDFLARED is not set # BR2_PACKAGE_CONNMAN is not set # @@ -2838,6 +3136,7 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_FAIFA is not set # BR2_PACKAGE_FASTD is not set # BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FIREWALLD is not set # BR2_PACKAGE_FLANNEL is not set # BR2_PACKAGE_FPING is not set # BR2_PACKAGE_FREERADIUS_SERVER is not set @@ -2845,7 +3144,10 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # # freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar # -# BR2_PACKAGE_FRR is not set + +# +# frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7 +# # # gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8 @@ -2866,7 +3168,6 @@ BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y # BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set # BR2_PACKAGE_HOSTAPD is not set # BR2_PACKAGE_HTPDATE is not set # BR2_PACKAGE_HTTPING is not set @@ -2874,6 +3175,7 @@ BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y # # i2pd needs a toolchain w/ C++, NPTL, wchar # +# BR2_PACKAGE_IANA_ASSIGNMENTS is not set # # ibrdtn-tools needs a toolchain w/ C++, threads @@ -2895,11 +3197,15 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # iperf needs a toolchain w/ C++ # # BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set +BR2_PACKAGE_IPROUTE2=y # BR2_PACKAGE_IPSET is not set # BR2_PACKAGE_IPTABLES is not set # BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set +BR2_PACKAGE_IPUTILS=y +BR2_PACKAGE_IPUTILS_ARPING=y +BR2_PACKAGE_IPUTILS_CLOCKDIFF=y +BR2_PACKAGE_IPUTILS_PING=y +BR2_PACKAGE_IPUTILS_TRACEPATH=y # BR2_PACKAGE_IRSSI is not set # BR2_PACKAGE_IW is not set # BR2_PACKAGE_IWD is not set @@ -2907,7 +3213,7 @@ BR2_PACKAGE_IFUPDOWN_SCRIPTS=y # BR2_PACKAGE_KEEPALIVED is not set # -# kismet needs a toolchain w/ threads, C++, gcc >= 5 +# kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7 # # BR2_PACKAGE_KNOCK is not set # BR2_PACKAGE_KSMBD_TOOLS is not set @@ -2947,7 +3253,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 4.8 +# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 8 # # BR2_PACKAGE_MOSQUITTO is not set # BR2_PACKAGE_MROUTED is not set @@ -2959,12 +3265,16 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_NDISC6 is not set # BR2_PACKAGE_NETATALK is not set # BR2_PACKAGE_NETCALC is not set + +# +# nethogs needs a toolchain w/ C++ +# # BR2_PACKAGE_NETPLUG is not set # BR2_PACKAGE_NETSNMP is not set # BR2_PACKAGE_NETSTAT_NAT is not set # -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9 +# NetworkManager needs udev /dev management and a glibc or musl toolchain w/ headers >= 4.20, dynamic library, wchar, threads, gcc >= 4.9 # # BR2_PACKAGE_NFACCT is not set # BR2_PACKAGE_NFTABLES is not set @@ -2986,8 +3296,10 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_ODHCP6C is not set # BR2_PACKAGE_ODHCPLOC is not set # BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_ISCSI is not set # BR2_PACKAGE_OPEN_LLDP is not set # BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENCONNECT is not set # BR2_PACKAGE_OPENNTPD is not set # BR2_PACKAGE_OPENOBEX is not set # BR2_PACKAGE_OPENRESOLV is not set @@ -3014,7 +3326,6 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_PTPD2 is not set # BR2_PACKAGE_PURE_FTPD is not set # BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set # BR2_PACKAGE_RADVD is not set # BR2_PACKAGE_REAVER is not set # BR2_PACKAGE_REDIR is not set @@ -3051,7 +3362,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_SPICE_PROTOCOL is not set # -# squid needs a toolchain w/ C++, threads, gcc >= 4.8 not affected by bug 64735 +# squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8 # # BR2_PACKAGE_SSDP_RESPONDER is not set # BR2_PACKAGE_SSHGUARD is not set @@ -3059,6 +3370,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_SSLH is not set # BR2_PACKAGE_STRONGSWAN is not set # BR2_PACKAGE_STUNNEL is not set +# BR2_PACKAGE_TAILSCALE is not set # BR2_PACKAGE_TCPDUMP is not set # BR2_PACKAGE_TCPING is not set # BR2_PACKAGE_TCPREPLAY is not set @@ -3066,9 +3378,13 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_TINC is not set # BR2_PACKAGE_TINYPROXY is not set # BR2_PACKAGE_TINYSSH is not set +# BR2_PACKAGE_TIPIDEE is not set # BR2_PACKAGE_TOR is not set # BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set + +# +# transmission needs a toolchain w/ dynamic library, threads, C++, gcc >= 7 +# # BR2_PACKAGE_TUNCTL is not set # BR2_PACKAGE_TVHEADEND is not set # BR2_PACKAGE_UACME is not set @@ -3081,6 +3397,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # BR2_PACKAGE_UREDIR is not set # BR2_PACKAGE_USHARE is not set # BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_USTREAMER is not set # BR2_PACKAGE_VDE2 is not set # @@ -3110,7 +3427,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # -# znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads +# znc needs a toolchain w/ C++, dynamic library, gcc >= 8, threads # # @@ -3177,7 +3494,7 @@ BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y # # BR2_PACKAGE_CHECKPOLICY is not set # BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACKAGE_LYNIS is not set # BR2_PACKAGE_OPTEE_CLIENT is not set # BR2_PACKAGE_PAXTEST is not set # BR2_PACKAGE_REFPOLICY is not set @@ -3218,12 +3535,15 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # BR2_PACKAGE_LOCKFILE_PROGS is not set # BR2_PACKAGE_LOGROTATE is not set # BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_MINISIGN is not set # BR2_PACKAGE_PDMENU is not set # BR2_PACKAGE_PINENTRY is not set # BR2_PACKAGE_QPRINT is not set # BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_RLWRAP is not set # BR2_PACKAGE_RTTY is not set # BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SEXPECT is not set # BR2_PACKAGE_SUDO is not set # BR2_PACKAGE_TINI is not set # BR2_PACKAGE_TMUX is not set @@ -3247,6 +3567,7 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # # circus needs Python 3 and a toolchain w/ C++, threads # +# BR2_PACKAGE_CONMON is not set # BR2_PACKAGE_CONTAINERD is not set # BR2_PACKAGE_CPULIMIT is not set # BR2_PACKAGE_CPULOAD is not set @@ -3258,15 +3579,19 @@ BR2_PACKAGE_GNUPG2_DEPENDS=y # ddrescue needs a toolchain w/ C++ # # BR2_PACKAGE_DOCKER_CLI is not set +# BR2_PACKAGE_DOCKER_CLI_BUILDX is not set # # docker-compose needs docker-cli and a toolchain w/ threads # # BR2_PACKAGE_DOCKER_ENGINE is not set -# BR2_PACKAGE_DOCKER_PROXY is not set # BR2_PACKAGE_EARLYOOM is not set +# BR2_PACKAGE_EFIBOOTMGR is not set +BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS=y +# BR2_PACKAGE_EFIVAR is not set # BR2_PACKAGE_EMBIGGEN_DISK is not set # BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FLUENT_BIT is not set # BR2_PACKAGE_FTOP is not set # BR2_PACKAGE_GETENT is not set # BR2_PACKAGE_GKRELLM is not set @@ -3281,6 +3606,7 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_IRQBALANCE is not set # BR2_PACKAGE_KEYUTILS is not set # BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_KVMTOOL is not set # BR2_PACKAGE_LIBOSTREE is not set # BR2_PACKAGE_LXC is not set # BR2_PACKAGE_MENDER is not set @@ -3290,7 +3616,7 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_MONIT is not set # -# multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library +# multipath-tools needs udev and a toolchain w/ threads, dynamic library, C++ # # BR2_PACKAGE_NCDU is not set # BR2_PACKAGE_NERDCTL is not set @@ -3301,7 +3627,7 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_NUMACTL is not set # -# nut needs a toolchain w/ C++ +# nut needs a toolchain w/ C++, threads # # @@ -3310,9 +3636,11 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_POLKIT is not set # BR2_PACKAGE_PROCRANK_LINUX is not set # BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QBEE_AGENT is not set # BR2_PACKAGE_QUOTA is not set # BR2_PACKAGE_QUOTATOOL is not set # BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_RAUC_HAWKBIT_UPDATER is not set # BR2_PACKAGE_RUNC is not set # BR2_PACKAGE_S6 is not set # BR2_PACKAGE_S6_LINUX_INIT is not set @@ -3323,13 +3651,14 @@ BR2_PACKAGE_INITSCRIPTS=y # BR2_PACKAGE_SCRYPT is not set # -# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 7 +# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 8 # # # sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 # # BR2_PACKAGE_SEATD is not set +# BR2_PACKAGE_SHADOW is not set # BR2_PACKAGE_SMACK is not set # @@ -3371,15 +3700,14 @@ BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y # BR2_TARGET_ROOTFS_EROFS is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_2=y -# BR2_TARGET_ROOTFS_EXT2_2r0 is not set BR2_TARGET_ROOTFS_EXT2_2r1=y # BR2_TARGET_ROOTFS_EXT2_3 is not set # BR2_TARGET_ROOTFS_EXT2_4 is not set BR2_TARGET_ROOTFS_EXT2_GEN=2 -BR2_TARGET_ROOTFS_EXT2_REV=1 BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" -BR2_TARGET_ROOTFS_EXT2_SIZE="60M" +BR2_TARGET_ROOTFS_EXT2_SIZE="100M" BR2_TARGET_ROOTFS_EXT2_INODES=0 +BR2_TARGET_ROOTFS_EXT2_INODE_SIZE=256 BR2_TARGET_ROOTFS_EXT2_RESBLKS=5 BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit" BR2_TARGET_ROOTFS_EXT2_NONE=y @@ -3394,7 +3722,6 @@ BR2_TARGET_ROOTFS_EXT2_NONE=y # BR2_TARGET_ROOTFS_INITRAMFS is not set # BR2_TARGET_ROOTFS_JFFS2 is not set # BR2_TARGET_ROOTFS_OCI is not set -# BR2_TARGET_ROOTFS_ROMFS is not set # BR2_TARGET_ROOTFS_SQUASHFS is not set BR2_TARGET_ROOTFS_TAR=y BR2_TARGET_ROOTFS_TAR_NONE=y @@ -3414,42 +3741,57 @@ BR2_TARGET_ROOTFS_TAR_OPTIONS="" # Bootloaders # # BR2_TARGET_BAREBOX is not set -# BR2_TARGET_BEAGLEV_DDRINIT is not set -# BR2_TARGET_BEAGLEV_SECONDBOOT is not set +BR2_TARGET_EDK2_ARCH_SUPPORTS=y +# BR2_TARGET_EDK2 is not set +BR2_TARGET_GRUB2_ARCH_SUPPORTS=y +# BR2_TARGET_GRUB2 is not set +# BR2_TARGET_OPTEE_OS is not set BR2_TARGET_OPENSBI=y -BR2_TARGET_OPENSBI_LATEST_VERSION=y -# BR2_TARGET_OPENSBI_CUSTOM_VERSION is not set +# BR2_TARGET_OPENSBI_LATEST_VERSION is not set +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y # BR2_TARGET_OPENSBI_CUSTOM_TARBALL is not set # BR2_TARGET_OPENSBI_CUSTOM_GIT is not set -BR2_TARGET_OPENSBI_VERSION="0.9" +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_VERSION="1.6" BR2_TARGET_OPENSBI_PLAT="generic" BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG=y BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG=y # BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG is not set # BR2_TARGET_OPENSBI_LINUX_PAYLOAD is not set BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="" -# BR2_TARGET_SUN20I_D1_SPL is not set # BR2_TARGET_UBOOT is not set +# +# xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf +# + # # Host utilities # # BR2_PACKAGE_HOST_ABOOTIMG is not set # BR2_PACKAGE_HOST_AESPIPE is not set # BR2_PACKAGE_HOST_AGENT_PROXY is not set +# BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP is not set +# BR2_PACKAGE_HOST_ANDES_SPI_BURN is not set # BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS=y # BR2_PACKAGE_HOST_ASN1C is not set # BR2_PACKAGE_HOST_BABELTRACE2 is not set # BR2_PACKAGE_HOST_BMAP_TOOLS is not set +# BR2_PACKAGE_HOST_BMAP_WRITER is not set # BR2_PACKAGE_HOST_BOOTGEN is not set # BR2_PACKAGE_HOST_BTRFS_PROGS is not set # BR2_PACKAGE_HOST_CHECKPOLICY is not set # BR2_PACKAGE_HOST_CHECKSEC is not set # BR2_PACKAGE_HOST_CMAKE is not set +BR2_HOST_CMAKE_AT_LEAST="3.18" +# BR2_PACKAGE_HOST_COMPOSER is not set # BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRUDINI is not set # BR2_PACKAGE_HOST_CRYPTSETUP is not set # BR2_PACKAGE_HOST_DBUS_PYTHON is not set # BR2_PACKAGE_HOST_DELVE is not set +# BR2_PACKAGE_HOST_DEPOT_TOOLS is not set # BR2_PACKAGE_HOST_DFU_UTIL is not set # BR2_PACKAGE_HOST_DOS2UNIX is not set # BR2_PACKAGE_HOST_DOSFSTOOLS is not set @@ -3464,15 +3806,25 @@ BR2_PACKAGE_HOST_E2FSPROGS=y # BR2_PACKAGE_HOST_FAKETIME is not set # BR2_PACKAGE_HOST_FATCAT is not set # BR2_PACKAGE_HOST_FIRMWARE_UTILS is not set +BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_FLUTTER_SDK_BIN is not set # BR2_PACKAGE_HOST_FWUP is not set # BR2_PACKAGE_HOST_GENEXT2FS is not set # BR2_PACKAGE_HOST_GENIMAGE is not set # BR2_PACKAGE_HOST_GENPART is not set # BR2_PACKAGE_HOST_GNUPG is not set +# BR2_PACKAGE_HOST_GNUPG2 is not set BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS=y +# BR2_PACKAGE_HOST_GO is not set +BR2_PACKAGE_PROVIDES_HOST_GO="host-go-bin" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH="amd64" +BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE1_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS=y BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_GPTFDISK is not set # BR2_PACKAGE_HOST_IMAGEMAGICK is not set @@ -3491,12 +3843,16 @@ BR2_PACKAGE_HOST_KMOD=y # BR2_PACKAGE_HOST_LZMA_ALONE is not set # BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set # BR2_PACKAGE_HOST_MESON_TOOLS is not set +# BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR is not set +# BR2_PACKAGE_HOST_MINISIGN is not set # BR2_PACKAGE_HOST_MKPASSWD is not set # BR2_PACKAGE_HOST_MOBY_BUILDKIT is not set # BR2_PACKAGE_HOST_MOSQUITTO is not set # BR2_PACKAGE_HOST_MTD is not set # BR2_PACKAGE_HOST_MTOOLS is not set +BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS=y # BR2_PACKAGE_HOST_NODEJS is not set +BR2_PACKAGE_PROVIDES_HOST_NODEJS="host-nodejs-bin" # BR2_PACKAGE_HOST_ODB is not set # BR2_PACKAGE_HOST_OPENOCD is not set # BR2_PACKAGE_HOST_OPKG_UTILS is not set @@ -3508,9 +3864,11 @@ BR2_PACKAGE_HOST_PATCHELF=y # BR2_PACKAGE_HOST_PWGEN is not set # BR2_PACKAGE_HOST_PYTHON_CYTHON is not set # BR2_PACKAGE_HOST_PYTHON_GREENLET is not set +# BR2_PACKAGE_HOST_PYTHON_INIPARSE is not set # BR2_PACKAGE_HOST_PYTHON_LXML is not set # BR2_PACKAGE_HOST_PYTHON_PYYAML is not set # BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_USWID is not set # BR2_PACKAGE_HOST_PYTHON_XLRD is not set # BR2_PACKAGE_HOST_PYTHON3 is not set BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y @@ -3535,11 +3893,17 @@ BR2_PACKAGE_HOST_RUSTC_ARCH="riscv64gc" # BR2_PACKAGE_HOST_RUSTC is not set BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" # BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SDBUS_CPP is not set # BR2_PACKAGE_HOST_SDBUSPLUS is not set # BR2_PACKAGE_HOST_SENTRY_CLI is not set +# BR2_PACKAGE_HOST_SKOPEO is not set # BR2_PACKAGE_HOST_SLOCI_IMAGE is not set # BR2_PACKAGE_HOST_SQUASHFS is not set +# BR2_PACKAGE_HOST_STARFIVE_SPLTOOL is not set # BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_SWTPM is not set +# BR2_PACKAGE_HOST_SWUGENERATOR is not set +# BR2_PACKAGE_HOST_TIPIDEE is not set # BR2_PACKAGE_HOST_UBOOT_TOOLS is not set BR2_PACKAGE_HOST_UTIL_LINUX=y # BR2_PACKAGE_HOST_UTP_COM is not set @@ -3553,9 +3917,194 @@ BR2_PACKAGE_HOST_UTIL_LINUX=y # Legacy config options # +# +# Legacy options removed in 2025.02.4 +# +# BR2_PACKAGE_LIBEBUR128 is not set + +# +# Legacy options removed in 2025.02 +# +# BR2_PACKAGE_SQLITE_ENABLE_JSON1 is not set +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_ANGULAR_WEBSOCKET is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_BINUTILS_VERSION_2_41_X is not set +# BR2_TARGET_ROOTFS_EXT2_2r0 is not set +# BR2_GDB_VERSION_13 is not set +# BR2_nios2 is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE is not set +# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_GST_OMX is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_SDL2_DIRECTFB is not set +# BR2_PACKAGE_SDL_DIRECTFB is not set +# BR2_PACKAGE_QT5BASE_DIRECTFB is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB is not set +# BR2_PACKAGE_LITE is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_MONGODB is not set +# BR2_PACKAGE_PYTHON_M2CRYPTO is not set +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_6_11 is not set +# BR2_PACKAGE_GIBLIB is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_QUAGGA is not set +# BR2_PACKAGE_RAMSMP is not set + +# +# Legacy options removed in 2024.11 +# +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP is not set +# BR2_PACKAGE_QEMU_TARGET_NIOS2 is not set +# BR2_PACKAGE_POPPERJS is not set +# BR2_KERNEL_HEADERS_6_10 is not set +BR2_PACKAGE_IPMITOOL_PEN_REG_URI="" +# BR2_PACKAGE_ERLANG_P1_YAML is not set +# BR2_PACKAGE_ERLANG_P1_XMPP is not set +# BR2_PACKAGE_ERLANG_P1_XML is not set +# BR2_PACKAGE_ERLANG_P1_STUN is not set +# BR2_PACKAGE_FBV_GIF is not set +# BR2_BINUTILS_VERSION_2_40_X is not set + +# +# Legacy options removed in 2024.08 +# +# BR2_PACKAGE_MIDORI is not set +# BR2_PACKAGE_FROTZ is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FLUTTER_DYNAMIC_LAYOUTS_EXAMPLE is not set +# BR2_KERNEL_HEADERS_6_9 is not set +# BR2_x86_knightslanding is not set +# BR2_x86_knightsmill is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_CAIRO_SVG is not set +# BR2_PACKAGE_CAIRO_SCRIPT is not set +# BR2_PACKAGE_CAIRO_PS is not set +# BR2_PACKAGE_CAIRO_PDF is not set +# BR2_PACKAGE_CAIRO_XML is not set +# BR2_GDB_VERSION_12 is not set +# BR2_TARGET_BEAGLEV_DDRINIT is not set +# BR2_TARGET_BEAGLEV_SECONDBOOT is not set +# BR2_PACKAGE_ONEVPL_INTEL_GPU is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_VERSAL_FIRMWARE is not set +# BR2_KERNEL_HEADERS_6_8 is not set +# BR2_TARGET_AT91BOOTSTRAP is not set +# BR2_TARGET_AT91DATAFLASHBOOT is not set +# BR2_PACKAGE_ON2_8170_MODULES is not set +# BR2_PACKAGE_ON2_8170_LIBS is not set +# BR2_GCC_VERSION_11_X is not set +# BR2_BINFMT_FLAT_SHARED is not set +# BR2_PACKAGE_OMXPLAYER is not set +# BR2_KERNEL_HEADERS_6_7 is not set +# BR2_TARGET_TI_K3_IMAGE_GEN is not set +# BR2_TARGET_UBOOT_NEEDS_TI_K3_DM is not set +# BR2_PACKAGE_FLUTTER_GALLERY is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM is not set +# BR2_BINUTILS_VERSION_2_39_X is not set + +# +# Legacy options removed in 2024.02 +# +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_ORACLE_MYSQL is not set +# BR2_PACKAGE_STRONGSWAN_SCEP is not set +# BR2_PACKAGE_SHADOW_UTMPX is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_DAVINCI_BOOTCOUNT is not set +# BR2_PACKAGE_PYTHON_CROSSBAR is not set +# BR2_PACKAGE_PYTHON_PYGAME is not set +# BR2_KERNEL_HEADERS_4_14 is not set +# BR2_GDB_VERSION_11 is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_GMPC is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_ONEVPL is not set +# BR2_KERNEL_HEADERS_6_5 is not set +BR2_PACKAGE_WATCHDOGD_GENERIC_POLL=0 +BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL=0 +BR2_PACKAGE_WATCHDOGD_FILENR_POLL=0 +BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL=0 + +# +# Legacy options removed in 2023.11 +# +# BR2_PACKAGE_PYTHON_PYXB is not set +# BR2_PACKAGE_OPENJDK_VERSION_11 is not set +# BR2_KERNEL_HEADERS_6_4 is not set +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_GDB_VERSION_10 is not set + +# +# Legacy options removed in 2023.08 +# +# BR2_TARGET_LPC32XXCDL is not set +# BR2_BINUTILS_VERSION_2_38_X is not set +# BR2_GCC_VERSION_10_X is not set +# BR2_KERNEL_HEADERS_6_3 is not set +# BR2_PACKAGE_TOVID is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_OCF_LINUX is not set +# BR2_BINUTILS_VERSION_2_37_X is not set + +# +# Legacy options removed in 2023.05 +# +# BR2_KERNEL_HEADERS_6_2 is not set +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_AT_SPI2_ATK is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACAKGE_OPENFPGALOADER_CMSIS is not set + +# +# Legacy options removed in 2023.02 +# +# BR2_PACKAGE_PUGIXML_HEADER_ONLY is not set +# BR2_PACKAGE_UCCP420WLAN is not set +# BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES is not set +# BR2_KERNEL_HEADERS_6_0 is not set +# BR2_KERNEL_HEADERS_4_9 is not set +# BR2_PACKAGE_DOCKER_PROXY is not set +# BR2_PACKAGE_PYTHON_BUNCH is not set +# BR2_TARGET_GUMMIBOOT is not set +# BR2_PACKAGE_IPUTILS_NINFOD is not set +# BR2_PACKAGE_IPUTILS_RARPD is not set +# BR2_PACKAGE_IPUTILS_RDISC is not set +# BR2_PACKAGE_IPUTILS_RDISC_SERVER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE is not set +# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT is not set +# BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV is not set +BR2_PACKAGE_QEMU_CUSTOM_TARGETS="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD is not set +# BR2_TARGET_SUN20I_D1_SPL is not set +# BR2_PACKAGE_PYTHON_M2R is not set +# BR2_PACKAGE_MESA3D_XVMC is not set +# BR2_KERNEL_HEADERS_5_19 is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA is not set +# BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT is not set +# BR2_PACKAGE_USBREDIR_SERVER is not set + # # Legacy options removed in 2022.11 # +# BR2_BINUTILS_VERSION_2_36_X is not set # BR2_PACKAGE_RABBITMQ_SERVER is not set # BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 is not set # BR2_PACKAGE_LIBDCADEC is not set @@ -3607,7 +4156,6 @@ BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="" # BR2_PACKAGE_PYTHON_ENUM34 is not set # BR2_PACKAGE_PYTHON_ENUM is not set # BR2_PACKAGE_PYTHON_DIALOG is not set -# BR2_PACKAGE_PYTHON_CONFIGOBJ is not set # BR2_PACKAGE_PYTHON_YIELDFROM is not set # BR2_PACKAGE_PYTHON_TYPING is not set # BR2_PACKAGE_PYTHON_SUBPROCESS32 is not set @@ -3794,6 +4342,10 @@ BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" # BR2_PACKAGE_PYTHON_SCAPY3K is not set # BR2_BINUTILS_VERSION_2_30_X is not set # BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set +# BR2_PACKAGE_TI_SGX_KM_AM335X is not set +# BR2_PACKAGE_TI_SGX_KM_AM437X is not set +# BR2_PACKAGE_TI_SGX_KM_AM4430 is not set +# BR2_PACKAGE_TI_SGX_KM_AM5430 is not set # # Legacy options removed in 2019.11 @@ -3950,6 +4502,7 @@ BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" # # BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set # BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_MEDIAART_BACKEND_QT is not set # BR2_PACKAGE_TI_SGX_AM335X is not set # BR2_PACKAGE_TI_SGX_AM437X is not set # BR2_PACKAGE_TI_SGX_AM4430 is not set @@ -4271,12 +4824,12 @@ BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" # BR2_TARGET_UBOOT_NETWORK is not set -################# Override qemu_riscv64_virt_defconfig ####################### -BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y +################# Override qemu_riscv64_virt_defconfig ####################### -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_ROOTFS_EXT2=n BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_FULL=y BR2_TARGET_ROOTFS_CPIO_NONE=y @@ -4299,3 +4852,10 @@ BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" BR2_PACKAGE_HOST_QEMU=n BR2_PACKAGE_URANDOM_SCRIPTS=n + +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" +BR2_LINUX_KERNEL_IMAGE_NAME="" + +BR2_PACKAGE_BAO_DRIVERS=y +BR2_ROOTFS_OVERLAY="$(BAO_DEMOS_BUILDROOT_OVERLAY)" diff --git a/guests/linux/configs/riscv32.config b/guests/linux/configs/riscv32.config new file mode 100644 index 0000000..c7ff6f1 --- /dev/null +++ b/guests/linux/configs/riscv32.config @@ -0,0 +1,3 @@ +CONFIG_ARCH_RV64I=n +CONFIG_NONPORTABLE=y +CONFIG_ARCH_RV32I=y diff --git a/guests/linux/configs/virtio.config b/guests/linux/configs/virtio.config new file mode 100644 index 0000000..29ee721 --- /dev/null +++ b/guests/linux/configs/virtio.config @@ -0,0 +1,27 @@ +CONFIG_EVENTFD=y +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VHOST_IOTLB=y +CONFIG_VHOST_TASK=y +CONFIG_VHOST=y +CONFIG_VHOST_MENU=y +CONFIG_VHOST_NET=m +CONFIG_VSOCKETS=y +CONFIG_VHOST_VSOCK=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_VIRTIO_VSOCKETS=y +CONFIG_VIRTIO_VSOCKETS_COMMON=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_DMA_RESTRICTED_POOL=y diff --git a/guests/linux/lloader/Makefile b/guests/linux/lloader/Makefile index 91bddfc..f9d80f5 100755 --- a/guests/linux/lloader/Makefile +++ b/guests/linux/lloader/Makefile @@ -15,7 +15,10 @@ CROSS_COMPILE?=arm-none-eabi- OPTIONS=-march=armv7-a else ifeq ($(ARCH), riscv64) CROSS_COMPILE?=riscv64-unknown-elf- -OPTIONS=-mcmodel=medany +OPTIONS=-mcmodel=medany -march=rv64imac -mabi=lp64 +else ifeq ($(ARCH), riscv32) +CROSS_COMPILE?=riscv32-unknown-elf- +OPTIONS=-mcmodel=medany -march=rv32imac -mabi=ilp32 else $(error unkown architecture $(ARCH)) endif diff --git a/guests/linux/lloader/loader_riscv32.ld b/guests/linux/lloader/loader_riscv32.ld new file mode 120000 index 0000000..8703321 --- /dev/null +++ b/guests/linux/lloader/loader_riscv32.ld @@ -0,0 +1 @@ +loader_riscv64.ld \ No newline at end of file diff --git a/guests/linux/lloader/riscv32.S b/guests/linux/lloader/riscv32.S new file mode 120000 index 0000000..35f69fe --- /dev/null +++ b/guests/linux/lloader/riscv32.S @@ -0,0 +1 @@ +riscv64.S \ No newline at end of file diff --git a/guests/linux/make.mk b/guests/linux/make.mk index a5625fe..e821f42 100644 --- a/guests/linux/make.mk +++ b/guests/linux/make.mk @@ -1,20 +1,30 @@ linux_repo?=https://github.com/torvalds/linux.git -linux_version?=v6.1 +linux_version?=v6.15 linux_src:=$(wrkdir_src)/linux-$(linux_version) linux_cfg_frag:=$(wildcard $(bao_demos)/guests/linux/configs/base.config\ $(bao_demos)/guests/linux/configs/$(ARCH).config\ $(bao_demos)/guests/linux/configs/$(PLATFORM).config) + +buildroot_repo:=https://github.com/buildroot/buildroot.git +buildroot_version:=2025.05 +buildroot_src:=$(wrkdir_src)/buildroot-$(ARCH)-$(linux_version) +buildroot_defcfg:=$(bao_demos)/guests/linux/buildroot/$(ARCH).config +buildroot_external:=$(bao_demos)/guests/linux/buildroot/external +buildroot_overlay:=$(bao_demos)/guests/linux/buildroot/overlay + +ifeq ($(DEMO),virtio) +linux_cfg_frag+=$(bao_demos)/guests/linux/configs/virtio.config +$(shell grep -qxF "BR2_PACKAGE_BAO_VIRTIO_DM=y" $(buildroot_defcfg) || echo "BR2_PACKAGE_BAO_VIRTIO_DM=y" >> $(buildroot_defcfg)) +$(shell grep -qxF "BR2_PACKAGE_HOST_RUSTC=y" $(buildroot_defcfg) || echo "BR2_PACKAGE_HOST_RUSTC=y" >> $(buildroot_defcfg)) +$(shell grep -qxF "BR2_PACKAGE_HOST_RUST_BIN=y" $(buildroot_defcfg) || echo "BR2_PACKAGE_HOST_RUST_BIN=y" >> $(buildroot_defcfg)) +endif + linux_patches:=$(wildcard $(bao_demos)/guests/linux/patches/$(linux_version)/*.patch) $(linux_src): git clone --depth 1 --branch $(linux_version) $(linux_repo) $(linux_src) git -C $(linux_src) apply $(linux_patches) -buildroot_repo:=https://github.com/buildroot/buildroot.git -buildroot_version:=2022.11 -buildroot_src:=$(wrkdir_src)/buildroot-$(ARCH)-$(linux_version) -buildroot_defcfg:=$(bao_demos)/guests/linux/buildroot/$(ARCH).config - $(buildroot_src): git clone --depth 1 --branch $(buildroot_version) $(buildroot_repo)\ $(buildroot_src) @@ -22,6 +32,8 @@ $(buildroot_src): buildroot_image:=$(buildroot_src)/output/images/Image-$(PLATFORM) export LINUX_OVERRIDE_SRCDIR=$(linux_src) export BAO_DEMOS_LINUX_CFG_FRAG=$(linux_cfg_frag) +export BAO_DEMOS_BUILDROOT_OVERLAY:=$(buildroot_overlay) +export BR2_EXTERNAL=$(buildroot_external) linux $(buildroot_image): $(linux_patches) $(linux_cfg_frag) $(buildroot_defcfg) | $(linux_src) $(buildroot_src) $(MAKE) -C $(buildroot_src) defconfig BR2_DEFCONFIG=$(buildroot_defcfg) diff --git a/guests/linux/patches/v5.11/0001-add-bao-ipcshmem-driver.patch b/guests/linux/patches/v5.11/0001-add-bao-ipcshmem-driver.patch deleted file mode 100644 index 3d8a23a..0000000 --- a/guests/linux/patches/v5.11/0001-add-bao-ipcshmem-driver.patch +++ /dev/null @@ -1,353 +0,0 @@ -From 8b6f77465ca53540dfca7f0fda06620689543c11 Mon Sep 17 00:00:00 2001 -From: Jose Martins -Date: Tue, 16 Feb 2021 16:37:13 +0000 -Subject: [PATCH] add bao ipcshmem driver - -Signed-off-by: Jose Martins ---- - drivers/Kconfig | 2 + - drivers/Makefile | 1 + - drivers/bao/Kconfig | 5 + - drivers/bao/Makefile | 2 + - drivers/bao/bao-ipcshmem.c | 288 +++++++++++++++++++++++++++++++++++++ - 5 files changed, 298 insertions(+) - create mode 100755 drivers/bao/Kconfig - create mode 100644 drivers/bao/Makefile - create mode 100644 drivers/bao/bao-ipcshmem.c - -diff --git a/drivers/Kconfig b/drivers/Kconfig -index dcecc9f6e..1d6358888 100644 ---- a/drivers/Kconfig -+++ b/drivers/Kconfig -@@ -235,4 +235,6 @@ source "drivers/interconnect/Kconfig" - source "drivers/counter/Kconfig" - - source "drivers/most/Kconfig" -+ -+source "drivers/bao/Kconfig" - endmenu -diff --git a/drivers/Makefile b/drivers/Makefile -index 576228037..5f45b99be 100644 ---- a/drivers/Makefile -+++ b/drivers/Makefile -@@ -189,3 +189,4 @@ obj-$(CONFIG_GNSS) += gnss/ - obj-$(CONFIG_INTERCONNECT) += interconnect/ - obj-$(CONFIG_COUNTER) += counter/ - obj-$(CONFIG_MOST) += most/ -+obj-$(CONFIG_BAO_SHMEM) += bao/ -diff --git a/drivers/bao/Kconfig b/drivers/bao/Kconfig -new file mode 100755 -index 000000000..dc5e9fc08 ---- /dev/null -+++ b/drivers/bao/Kconfig -@@ -0,0 +1,5 @@ -+config BAO_SHMEM -+ tristate "Bao shared memory support" -+ -+ help -+ This implements an interface to communicate with bao hosted guests. -diff --git a/drivers/bao/Makefile b/drivers/bao/Makefile -new file mode 100644 -index 000000000..f900be88e ---- /dev/null -+++ b/drivers/bao/Makefile -@@ -0,0 +1,2 @@ -+obj-$(CONFIG_BAO_SHMEM) += bao.o -+bao-objs += bao-ipcshmem.o -diff --git a/drivers/bao/bao-ipcshmem.c b/drivers/bao/bao-ipcshmem.c -new file mode 100644 -index 000000000..9a25367b0 ---- /dev/null -+++ b/drivers/bao/bao-ipcshmem.c -@@ -0,0 +1,288 @@ -+/** -+ * TODO: licsense -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef CONFIG_ARM64 -+#include -+#elif CONFIG_RISCV -+#include -+#endif -+ -+#define DEV_NAME "baoipc" -+#define MAX_DEVICES 16 -+#define NAME_LEN 32 -+ -+static dev_t bao_ipcshmem_devt; -+struct class *cl; -+ -+struct bao_ipcshmem -+{ -+ struct cdev cdev; -+ struct device *dev; -+ -+ int id; -+ char label[NAME_LEN]; -+ void* read_base; -+ size_t read_size; -+ void* write_base; -+ size_t write_size; -+}; -+ -+#ifdef CONFIG_ARM64 -+static uint64_t bao_ipcshmem_notify(struct bao_ipcshmem *dev) { -+ register uint64_t x0 asm("x0") = 1; -+ register uint64_t x1 asm("x1") = dev->id; -+ register uint64_t x2 asm("x2") = 0; -+ -+ asm volatile( -+ "hvc 0\t\n" -+ : "=r"(x0) -+ : "r"(x0), "r"(x1), "r"(x2) -+ ); -+ -+ return x0; -+} -+#elif CONFIG_RISCV -+static uint64_t bao_ipcshmem_notify(struct bao_ipcshmem *dev) { -+ -+ struct sbiret ret = -+ sbi_ecall(0x08000ba0, 1, dev->id, 0, 0, 0, 0, 0); -+ -+ return ret.error; -+} -+#endif -+ -+static ssize_t bao_ipcshmem_read_fops(struct file *filp, -+ char *buf, size_t count, loff_t *ppos) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = filp->private_data; -+ unsigned long missing = 0; -+ size_t len = 0; -+ -+ len = strnlen(bao_ipcshmem->read_base, bao_ipcshmem->read_size); -+ -+ if (*ppos >= len) return 0; -+ if ((len - *ppos) < count) count = len - *ppos; -+ -+ missing = -+ copy_to_user(buf, bao_ipcshmem->read_base + *ppos, count); -+ if(missing != 0) count = count - missing; -+ *ppos += count; -+ -+ return count; -+} -+ -+static ssize_t bao_ipcshmem_write_fops(struct file *filp, -+ const char *buf, size_t count, loff_t *ppos) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = filp->private_data; -+ unsigned long missing = 0; -+ -+ if (*ppos >= bao_ipcshmem->write_size) -+ return 0; -+ if(count > bao_ipcshmem->write_size) -+ count = bao_ipcshmem->write_size; -+ if((*ppos + count) > bao_ipcshmem->write_size) -+ count = bao_ipcshmem->write_size - *ppos; -+ -+ missing = -+ copy_from_user(bao_ipcshmem->write_base + *ppos, buf, count); -+ if (missing != 0) count = count - missing; -+ *ppos += count; -+ -+ bao_ipcshmem_notify(bao_ipcshmem); -+ -+ return count; -+} -+ -+static int bao_ipcshmem_open_fops(struct inode *inode, struct file *filp) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = container_of(inode->i_cdev, -+ struct bao_ipcshmem, cdev); -+ filp->private_data = bao_ipcshmem; -+ -+ kobject_get(&bao_ipcshmem->dev->kobj); -+ -+ return 0; -+} -+ -+static int bao_ipcshmem_release_fops(struct inode *inode, struct file *filp) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = container_of(inode->i_cdev, -+ struct bao_ipcshmem, cdev); -+ filp->private_data = NULL; -+ -+ kobject_put(&bao_ipcshmem->dev->kobj); -+ -+ return 0; -+} -+ -+static struct file_operations bao_ipcshmem_fops = { -+ .owner = THIS_MODULE, -+ .read = bao_ipcshmem_read_fops, -+ .write = bao_ipcshmem_write_fops, -+ .open = bao_ipcshmem_open_fops, -+ .release = bao_ipcshmem_release_fops -+}; -+ -+int bao_ipcshmem_register(struct platform_device *pdev) -+{ -+ int ret = 0; -+ struct device *dev = &(pdev->dev); -+ struct device_node *np = dev->of_node; -+ struct module *owner = THIS_MODULE; -+ struct resource *r; -+ dev_t devt; -+ resource_size_t shmem_size; -+ u32 write_offset, read_offset, write_size, read_size; -+ bool rd_in_range, wr_in_range, disjoint; -+ void* shmem_base_addr = NULL; -+ int id = -1; -+ struct bao_ipcshmem *bao; -+ -+ r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ if(r == NULL) -+ return -EINVAL; -+ of_property_read_u32_index(np, "read-channel", 0, &read_offset); -+ of_property_read_u32_index(np, "read-channel", 1, &read_size); -+ of_property_read_u32_index(np, "write-channel", 0, &write_offset); -+ of_property_read_u32_index(np, "write-channel", 1, &write_size); -+ -+ rd_in_range = (r->start + read_offset + read_size) < r->end; -+ wr_in_range = (r->start + write_offset + write_size) < r->end; -+ disjoint = ((read_offset + read_size) <= write_offset) || -+ ((write_offset + write_size) <= read_offset); -+ -+ if(!rd_in_range || !wr_in_range || !disjoint) { -+ dev_err(&pdev->dev,"invalid channel layout\n"); -+ dev_err(&pdev->dev,"rd_in_range = %d, wr_in_range = %d, disjoint = %d\n", -+ rd_in_range, wr_in_range, disjoint); -+ return -EINVAL; -+ } -+ -+ shmem_size = r->end - r->start + 1; -+ shmem_base_addr = memremap(r->start, shmem_size, MEMREMAP_WB); -+ if(shmem_base_addr == NULL) -+ return -ENOMEM; -+ -+ of_property_read_u32(np, "id", &id); -+ if (id >= MAX_DEVICES) { -+ dev_err(&pdev->dev,"invalid id %d\n", id); -+ ret = -EINVAL; -+ goto err_unmap; -+ } -+ -+ bao = devm_kzalloc(&pdev->dev, sizeof(struct bao_ipcshmem), GFP_KERNEL); -+ if(bao == NULL) { -+ ret = -ENOMEM; -+ goto err_unmap; -+ } -+ snprintf(bao->label, NAME_LEN, "%s%d", DEV_NAME, id); -+ bao->id = id; -+ bao->read_size = read_size; -+ bao->write_size = write_size; -+ bao->read_base = shmem_base_addr + read_offset; -+ bao->write_base = shmem_base_addr + write_offset; -+ -+ cdev_init(&bao->cdev, &bao_ipcshmem_fops); -+ bao->cdev.owner = owner; -+ -+ devt = MKDEV(MAJOR(bao_ipcshmem_devt), id); -+ ret = cdev_add(&bao->cdev, devt, 1); -+ if (ret) { -+ goto err_unmap; -+ } -+ -+ bao->dev = device_create(cl, &pdev->dev, devt, bao, bao->label); -+ if (IS_ERR(bao->dev)) { -+ ret = PTR_ERR(bao->dev); -+ goto err_cdev; -+ } -+ dev_set_drvdata(bao->dev, bao); -+ -+ return 0; -+ -+err_cdev: -+ cdev_del(&bao->cdev); -+err_unmap: -+ memunmap(shmem_base_addr); -+ -+ dev_err(&pdev->dev,"failed initialization\n"); -+ return ret; -+} -+ -+static int bao_ipcshmem_unregister(struct platform_device *pdev) -+{ -+ /* TODO */ -+ return 0; -+} -+ -+static const struct of_device_id of_bao_ipcshmem_match[] = { -+ { -+ .compatible = "bao,ipcshmem", -+ }, -+ {/* sentinel */}}; -+MODULE_DEVICE_TABLE(of, of_bao_ipcshmem_match); -+ -+static struct platform_driver bao_ipcshmem_driver = { -+ .probe = bao_ipcshmem_register, -+ .remove = bao_ipcshmem_unregister, -+ .driver = { -+ .name = DEV_NAME, -+ .of_match_table = of_bao_ipcshmem_match, -+ }, -+}; -+ -+static int __init bao_ipcshmem_init(void) -+{ -+ int ret; -+ -+ if ((cl = class_create(THIS_MODULE, DEV_NAME)) == NULL) { -+ ret = -1; -+ pr_err("unable to class_create " DEV_NAME " device\n"); -+ return ret; -+ } -+ -+ ret = alloc_chrdev_region(&bao_ipcshmem_devt, 0, MAX_DEVICES, DEV_NAME); -+ if (ret < 0) { -+ pr_err("unable to alloc_chrdev_region " DEV_NAME " device\n"); -+ return ret; -+ } -+ -+ return platform_driver_register(&bao_ipcshmem_driver); -+} -+ -+static void __exit bao_ipcshmem_exit(void) -+{ -+ platform_driver_unregister(&bao_ipcshmem_driver); -+ unregister_chrdev(bao_ipcshmem_devt, DEV_NAME); -+ class_destroy(cl); -+} -+ -+module_init(bao_ipcshmem_init); -+module_exit(bao_ipcshmem_exit); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("David Cerdeira"); -+MODULE_AUTHOR("José Martins"); -+MODULE_DESCRIPTION("bao ipc through shared-memory sample driver"); --- -2.25.1 - diff --git a/guests/linux/patches/v6.1/0001-add-bao-ipcshmem-driver.patch b/guests/linux/patches/v6.1/0001-add-bao-ipcshmem-driver.patch deleted file mode 100644 index 0f4211c..0000000 --- a/guests/linux/patches/v6.1/0001-add-bao-ipcshmem-driver.patch +++ /dev/null @@ -1,369 +0,0 @@ -From 94ceb8e38ba4984c0826edb5f4fc81e50e1a5ccd Mon Sep 17 00:00:00 2001 -From: Jose Martins -Date: Sun, 8 Jan 2023 15:10:12 +0000 -Subject: [PATCH] add bao ipcshmem driver - -Signed-off-by: Jose Martins ---- - drivers/Kconfig | 1 + - drivers/Makefile | 1 + - drivers/bao/Kconfig | 5 + - drivers/bao/Makefile | 2 + - drivers/bao/bao-ipcshmem.c | 305 +++++++++++++++++++++++++++++++++++++ - 5 files changed, 314 insertions(+) - create mode 100755 drivers/bao/Kconfig - create mode 100644 drivers/bao/Makefile - create mode 100644 drivers/bao/bao-ipcshmem.c - -diff --git a/drivers/Kconfig b/drivers/Kconfig -index 19ee995bd..8c19d8ff4 100644 ---- a/drivers/Kconfig -+++ b/drivers/Kconfig -@@ -239,4 +239,5 @@ source "drivers/peci/Kconfig" - - source "drivers/hte/Kconfig" - -+source "drivers/bao/Kconfig" - endmenu -diff --git a/drivers/Makefile b/drivers/Makefile -index bdf1c6614..f8fa362c3 100644 ---- a/drivers/Makefile -+++ b/drivers/Makefile -@@ -189,3 +189,4 @@ obj-$(CONFIG_COUNTER) += counter/ - obj-$(CONFIG_MOST) += most/ - obj-$(CONFIG_PECI) += peci/ - obj-$(CONFIG_HTE) += hte/ -+obj-$(CONFIG_BAO_SHMEM) += bao/ -diff --git a/drivers/bao/Kconfig b/drivers/bao/Kconfig -new file mode 100755 -index 000000000..dc5e9fc08 ---- /dev/null -+++ b/drivers/bao/Kconfig -@@ -0,0 +1,5 @@ -+config BAO_SHMEM -+ tristate "Bao shared memory support" -+ -+ help -+ This implements an interface to communicate with bao hosted guests. -diff --git a/drivers/bao/Makefile b/drivers/bao/Makefile -new file mode 100644 -index 000000000..f900be88e ---- /dev/null -+++ b/drivers/bao/Makefile -@@ -0,0 +1,2 @@ -+obj-$(CONFIG_BAO_SHMEM) += bao.o -+bao-objs += bao-ipcshmem.o -diff --git a/drivers/bao/bao-ipcshmem.c b/drivers/bao/bao-ipcshmem.c -new file mode 100644 -index 000000000..b7ecd2656 ---- /dev/null -+++ b/drivers/bao/bao-ipcshmem.c -@@ -0,0 +1,305 @@ -+/** -+ * TODO: licsense -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#if defined(CONFIG_ARM64) || defined(CONFIG_ARM) -+#include -+#include -+#elif CONFIG_RISCV -+#include -+#endif -+ -+#define DEV_NAME "baoipc" -+#define MAX_DEVICES 16 -+#define NAME_LEN 32 -+ -+static dev_t bao_ipcshmem_devt; -+struct class *cl; -+ -+struct bao_ipcshmem -+{ -+ struct cdev cdev; -+ struct device *dev; -+ -+ int id; -+ char label[NAME_LEN]; -+ void* read_base; -+ size_t read_size; -+ void* write_base; -+ size_t write_size; -+}; -+ -+#ifdef CONFIG_ARM64 -+static uint64_t bao_ipcshmem_notify(struct bao_ipcshmem *dev) { -+ register uint64_t x0 asm("x0") = ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, -+ ARM_SMCCC_SMC_64, ARM_SMCCC_OWNER_VENDOR_HYP, 1); -+ register uint64_t x1 asm("x1") = dev->id; -+ register uint64_t x2 asm("x2") = 0; -+ -+ asm volatile( -+ "hvc 0\t\n" -+ : "=r"(x0) -+ : "r"(x0), "r"(x1), "r"(x2) -+ ); -+ -+ return x0; -+} -+#elif CONFIG_ARM -+static uint32_t bao_ipcshmem_notify(struct bao_ipcshmem *dev) { -+ register uint32_t r0 asm("r0") = ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, -+ ARM_SMCCC_SMC_32, ARM_SMCCC_OWNER_VENDOR_HYP, 1); -+ register uint32_t r1 asm("r1") = dev->id; -+ register uint32_t r2 asm("r2") = 0; -+ -+ asm volatile( -+ "hvc #0\t\n" -+ : "=r"(r0) -+ : "r"(r0), "r"(r1), "r"(r2) -+ ); -+ -+ return r0; -+} -+#elif CONFIG_RISCV -+static uint64_t bao_ipcshmem_notify(struct bao_ipcshmem *dev) { -+ -+ struct sbiret ret = -+ sbi_ecall(0x08000ba0, 1, dev->id, 0, 0, 0, 0, 0); -+ -+ return ret.error; -+} -+#endif -+ -+static ssize_t bao_ipcshmem_read_fops(struct file *filp, -+ char *buf, size_t count, loff_t *ppos) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = filp->private_data; -+ unsigned long missing = 0; -+ size_t len = 0; -+ -+ len = strnlen(bao_ipcshmem->read_base, bao_ipcshmem->read_size); -+ -+ if (*ppos >= len) return 0; -+ if ((len - *ppos) < count) count = len - *ppos; -+ -+ missing = -+ copy_to_user(buf, bao_ipcshmem->read_base + *ppos, count); -+ if(missing != 0) count = count - missing; -+ *ppos += count; -+ -+ return count; -+} -+ -+static ssize_t bao_ipcshmem_write_fops(struct file *filp, -+ const char *buf, size_t count, loff_t *ppos) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = filp->private_data; -+ unsigned long missing = 0; -+ -+ if (*ppos >= bao_ipcshmem->write_size) -+ return 0; -+ if(count > bao_ipcshmem->write_size) -+ count = bao_ipcshmem->write_size; -+ if((*ppos + count) > bao_ipcshmem->write_size) -+ count = bao_ipcshmem->write_size - *ppos; -+ -+ missing = -+ copy_from_user(bao_ipcshmem->write_base + *ppos, buf, count); -+ if (missing != 0) count = count - missing; -+ *ppos += count; -+ -+ bao_ipcshmem_notify(bao_ipcshmem); -+ -+ return count; -+} -+ -+static int bao_ipcshmem_open_fops(struct inode *inode, struct file *filp) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = container_of(inode->i_cdev, -+ struct bao_ipcshmem, cdev); -+ filp->private_data = bao_ipcshmem; -+ -+ kobject_get(&bao_ipcshmem->dev->kobj); -+ -+ return 0; -+} -+ -+static int bao_ipcshmem_release_fops(struct inode *inode, struct file *filp) -+{ -+ struct bao_ipcshmem *bao_ipcshmem = container_of(inode->i_cdev, -+ struct bao_ipcshmem, cdev); -+ filp->private_data = NULL; -+ -+ kobject_put(&bao_ipcshmem->dev->kobj); -+ -+ return 0; -+} -+ -+static struct file_operations bao_ipcshmem_fops = { -+ .owner = THIS_MODULE, -+ .read = bao_ipcshmem_read_fops, -+ .write = bao_ipcshmem_write_fops, -+ .open = bao_ipcshmem_open_fops, -+ .release = bao_ipcshmem_release_fops -+}; -+ -+int bao_ipcshmem_register(struct platform_device *pdev) -+{ -+ int ret = 0; -+ struct device *dev = &(pdev->dev); -+ struct device_node *np = dev->of_node; -+ struct module *owner = THIS_MODULE; -+ struct resource *r; -+ dev_t devt; -+ resource_size_t shmem_size; -+ u32 write_offset, read_offset, write_size, read_size; -+ bool rd_in_range, wr_in_range, disjoint; -+ void* shmem_base_addr = NULL; -+ int id = -1; -+ struct bao_ipcshmem *bao; -+ -+ r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ if(r == NULL) -+ return -EINVAL; -+ of_property_read_u32_index(np, "read-channel", 0, &read_offset); -+ of_property_read_u32_index(np, "read-channel", 1, &read_size); -+ of_property_read_u32_index(np, "write-channel", 0, &write_offset); -+ of_property_read_u32_index(np, "write-channel", 1, &write_size); -+ -+ rd_in_range = (r->start + read_offset + read_size) < r->end; -+ wr_in_range = (r->start + write_offset + write_size) < r->end; -+ disjoint = ((read_offset + read_size) <= write_offset) || -+ ((write_offset + write_size) <= read_offset); -+ -+ if(!rd_in_range || !wr_in_range || !disjoint) { -+ dev_err(&pdev->dev,"invalid channel layout\n"); -+ dev_err(&pdev->dev,"rd_in_range = %d, wr_in_range = %d, disjoint = %d\n", -+ rd_in_range, wr_in_range, disjoint); -+ return -EINVAL; -+ } -+ -+ shmem_size = r->end - r->start + 1; -+ shmem_base_addr = memremap(r->start, shmem_size, MEMREMAP_WB); -+ if(shmem_base_addr == NULL) -+ return -ENOMEM; -+ -+ of_property_read_u32(np, "id", &id); -+ if (id >= MAX_DEVICES) { -+ dev_err(&pdev->dev,"invalid id %d\n", id); -+ ret = -EINVAL; -+ goto err_unmap; -+ } -+ -+ bao = devm_kzalloc(&pdev->dev, sizeof(struct bao_ipcshmem), GFP_KERNEL); -+ if(bao == NULL) { -+ ret = -ENOMEM; -+ goto err_unmap; -+ } -+ snprintf(bao->label, NAME_LEN, "%s%d", DEV_NAME, id); -+ bao->id = id; -+ bao->read_size = read_size; -+ bao->write_size = write_size; -+ bao->read_base = shmem_base_addr + read_offset; -+ bao->write_base = shmem_base_addr + write_offset; -+ -+ cdev_init(&bao->cdev, &bao_ipcshmem_fops); -+ bao->cdev.owner = owner; -+ -+ devt = MKDEV(MAJOR(bao_ipcshmem_devt), id); -+ ret = cdev_add(&bao->cdev, devt, 1); -+ if (ret) { -+ goto err_unmap; -+ } -+ -+ bao->dev = device_create(cl, &pdev->dev, devt, bao, bao->label); -+ if (IS_ERR(bao->dev)) { -+ ret = PTR_ERR(bao->dev); -+ goto err_cdev; -+ } -+ dev_set_drvdata(bao->dev, bao); -+ -+ return 0; -+ -+err_cdev: -+ cdev_del(&bao->cdev); -+err_unmap: -+ memunmap(shmem_base_addr); -+ -+ dev_err(&pdev->dev,"failed initialization\n"); -+ return ret; -+} -+ -+static int bao_ipcshmem_unregister(struct platform_device *pdev) -+{ -+ /* TODO */ -+ return 0; -+} -+ -+static const struct of_device_id of_bao_ipcshmem_match[] = { -+ { -+ .compatible = "bao,ipcshmem", -+ }, -+ {/* sentinel */}}; -+MODULE_DEVICE_TABLE(of, of_bao_ipcshmem_match); -+ -+static struct platform_driver bao_ipcshmem_driver = { -+ .probe = bao_ipcshmem_register, -+ .remove = bao_ipcshmem_unregister, -+ .driver = { -+ .name = DEV_NAME, -+ .of_match_table = of_bao_ipcshmem_match, -+ }, -+}; -+ -+static int __init bao_ipcshmem_init(void) -+{ -+ int ret; -+ -+ if ((cl = class_create(THIS_MODULE, DEV_NAME)) == NULL) { -+ ret = -1; -+ pr_err("unable to class_create " DEV_NAME " device\n"); -+ return ret; -+ } -+ -+ ret = alloc_chrdev_region(&bao_ipcshmem_devt, 0, MAX_DEVICES, DEV_NAME); -+ if (ret < 0) { -+ pr_err("unable to alloc_chrdev_region " DEV_NAME " device\n"); -+ return ret; -+ } -+ -+ return platform_driver_register(&bao_ipcshmem_driver); -+} -+ -+static void __exit bao_ipcshmem_exit(void) -+{ -+ platform_driver_unregister(&bao_ipcshmem_driver); -+ unregister_chrdev(bao_ipcshmem_devt, DEV_NAME); -+ class_destroy(cl); -+} -+ -+module_init(bao_ipcshmem_init); -+module_exit(bao_ipcshmem_exit); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("David Cerdeira"); -+MODULE_AUTHOR("José Martins"); -+MODULE_DESCRIPTION("bao ipc through shared-memory sample driver"); --- -2.34.1 - diff --git a/guests/linux/patches/v6.1/0001-compile-for-armv7ve-instead-of-armv7-a.patch b/guests/linux/patches/v6.1/0001-compile-for-armv7ve-instead-of-armv7-a.patch deleted file mode 100644 index 5a42274..0000000 --- a/guests/linux/patches/v6.1/0001-compile-for-armv7ve-instead-of-armv7-a.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 981d9057119072f485a2320a177c14f52bbc405e Mon Sep 17 00:00:00 2001 -From: Jose Martins -Date: Sat, 28 Jan 2023 20:39:50 +0000 -Subject: [PATCH] compile for armv7ve instead of armv7-a - -Signed-off-by: Jose Martins ---- - arch/arm/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index c846119c4..10a29fc58 100644 ---- a/arch/arm/Makefile -+++ b/arch/arm/Makefile -@@ -64,7 +64,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra) - # macro, but instead defines a whole series of macros which makes - # testing for a specific architecture or later rather impossible. - arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m --arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -+arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 -march=armv7ve - arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 -march=armv6 - # Only override the compiler option if ARMv6. The ARMv6K extensions are - # always available in ARMv7 --- -2.34.1 - diff --git a/guests/linux/patches/v6.1/0002-bao-add-mmap-for-shmem-ipc.patch b/guests/linux/patches/v6.1/0002-bao-add-mmap-for-shmem-ipc.patch deleted file mode 100644 index 23259cd..0000000 --- a/guests/linux/patches/v6.1/0002-bao-add-mmap-for-shmem-ipc.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 8f4fda3fc844413b2d12623b0665ca66715cc369 Mon Sep 17 00:00:00 2001 -From: Clay Chang -Date: Mon, 26 Jun 2023 21:48:16 +0800 -Subject: [PATCH 2/2] bao: add mmap for shmem ipc - -Signed-off-by: Clay Chang ---- - drivers/bao/bao-ipcshmem.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/drivers/bao/bao-ipcshmem.c b/drivers/bao/bao-ipcshmem.c -index daa9903d0..e9cc304ea 100644 ---- a/drivers/bao/bao-ipcshmem.c -+++ b/drivers/bao/bao-ipcshmem.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - #if defined(CONFIG_ARM64) || defined(CONFIG_ARM) - #include -@@ -47,6 +48,7 @@ struct bao_ipcshmem - size_t read_size; - void* write_base; - size_t write_size; -+ void* physical_base; - }; - - #ifdef CONFIG_ARM64 -@@ -132,6 +134,22 @@ static ssize_t bao_ipcshmem_write_fops(struct file *filp, - return count; - } - -+static int bao_ipcshmem_mmap_fops(struct file *filp, struct vm_area_struct *vma) -+{ -+ struct bao_ipcshmem *bao = filp->private_data; -+ -+ unsigned long vsize = vma->vm_end - vma->vm_start; -+ -+ if (remap_pfn_range(vma, vma->vm_start, -+ (unsigned long)bao->physical_base >> PAGE_SHIFT, vsize, -+ vma->vm_page_prot)) { -+ printk(KERN_ERR "failed to remap physical address of shmem\n"); -+ return -EFAULT; -+ } -+ -+ return 0; -+} -+ - static int bao_ipcshmem_open_fops(struct inode *inode, struct file *filp) - { - struct bao_ipcshmem *bao_ipcshmem = container_of(inode->i_cdev, -@@ -158,6 +176,7 @@ static struct file_operations bao_ipcshmem_fops = { - .owner = THIS_MODULE, - .read = bao_ipcshmem_read_fops, - .write = bao_ipcshmem_write_fops, -+ .mmap = bao_ipcshmem_mmap_fops, - .open = bao_ipcshmem_open_fops, - .release = bao_ipcshmem_release_fops - }; -@@ -220,6 +239,7 @@ int bao_ipcshmem_register(struct platform_device *pdev) - bao->write_size = write_size; - bao->read_base = shmem_base_addr + read_offset; - bao->write_base = shmem_base_addr + write_offset; -+ bao->physical_base = (void *)r->start; - - cdev_init(&bao->cdev, &bao_ipcshmem_fops); - bao->cdev.owner = owner; --- -2.34.1 - diff --git a/guests/linux/patches/v6.15/0002-compile-for-armv7ve-instead-of-armv7-a.patch b/guests/linux/patches/v6.15/0002-compile-for-armv7ve-instead-of-armv7-a.patch new file mode 100644 index 0000000..aac62f4 --- /dev/null +++ b/guests/linux/patches/v6.15/0002-compile-for-armv7ve-instead-of-armv7-a.patch @@ -0,0 +1,35 @@ +From 92cc660e7ffba5a1a43361bb7acf6d6942bb482e Mon Sep 17 00:00:00 2001 +From: Jose Martins +Date: Sat, 28 Jan 2023 20:39:50 +0000 +Subject: [PATCH 2/3] compile for armv7ve instead of armv7-a + +Signed-off-by: Jose Martins +--- + arch/arm/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/Makefile b/arch/arm/Makefile +index 00ca7886b..399cd4a99 100644 +--- a/arch/arm/Makefile ++++ b/arch/arm/Makefile +@@ -61,7 +61,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra) + + # This selects which instruction set is used. + arch-$(CONFIG_CPU_32v7M) :=-march=armv7-m +-arch-$(CONFIG_CPU_32v7) :=-march=armv7-a ++arch-$(CONFIG_CPU_32v7) :=-march=armv7ve + arch-$(CONFIG_CPU_32v6) :=-march=armv6 + # Only override the compiler option if ARMv6. The ARMv6K extensions are + # always available in ARMv7 +@@ -135,7 +135,7 @@ AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W) + CC_FLAGS_FPU := -ffreestanding + # Enable + CC_FLAGS_FPU += -isystem $(shell $(CC) -print-file-name=include) +-CC_FLAGS_FPU += -march=armv7-a -mfloat-abi=softfp -mfpu=neon ++CC_FLAGS_FPU += -march=armv7ve -mfloat-abi=softfp -mfpu=neon + + ifeq ($(CONFIG_THUMB2_KERNEL),y) + CFLAGS_ISA :=-Wa,-mimplicit-it=always $(AFLAGS_NOWARN) +-- +2.34.1 + diff --git a/guests/zephyr/README.md b/guests/zephyr/README.md index 0994368..281421a 100644 --- a/guests/zephyr/README.md +++ b/guests/zephyr/README.md @@ -3,7 +3,7 @@ Setup the environment variables for Zephyr: ``` -export BAO_DEMOS_ZEPHYR_VRS=v3.3.0 +export BAO_DEMOS_ZEPHYR_VRS=v4.1.0 export BAO_DEMOS_ZEPHYR_SRC=$BAO_DEMOS_WRKDIR_SRC/zephyr export BAO_DEMOS_ZEPHYR_CMSIS_SRC=$BAO_DEMOS_WRKDIR_SRC/cmsis export BAO_DEMOS_ZEPHYR_BUILD=$BAO_DEMOS_WRKDIR_PLAT/zephyr_build diff --git a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.board b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.baovm_fvp-a-aarch32 similarity index 51% rename from guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.board rename to guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.baovm_fvp-a-aarch32 index 3c12cc3..7fd4b78 100644 --- a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.board +++ b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.baovm_fvp-a-aarch32 @@ -2,6 +2,6 @@ # Copyright (c) 2022 IoT.bzh # SPDX-License-Identifier: Apache-2.0 -config BOARD_FVP_BASER_AEMV8R_AARCH32 - bool "Bao VM for FVP BaseR AEMv8R AArch32 simulation board" - depends on SOC_FVP_AEMV8R_AARCH32 +config BOARD_BAOVM_FVP_A_AARCH32 + select SOC_FVP_AEMV8R_AARCH32 + diff --git a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.defconfig b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.defconfig deleted file mode 100644 index f943e39..0000000 --- a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/Kconfig.defconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. -# Copyright (c) 2022 IoT.bzh -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_FVP_BASER_AEMV8R_AARCH32 - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "baovm_fvp-r-aarch32" - -endif # BOARD_FVP_BASER_AEMV8R_AARCH32 diff --git a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/baovm_fvp-a-aarch32_defconfig b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/baovm_fvp-a-aarch32_defconfig index 889764b..d39f1fb 100644 --- a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/baovm_fvp-a-aarch32_defconfig +++ b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/baovm_fvp-a-aarch32_defconfig @@ -2,10 +2,6 @@ # Copyright (c) 2022 IoT.bzh # SPDX-License-Identifier: Apache-2.0 -CONFIG_SOC_SERIES_FVP_AEMV8R_AARCH32=y -CONFIG_SOC_FVP_AEMV8R_AARCH32=y -CONFIG_BOARD_FVP_BASER_AEMV8R_AARCH32=y - CONFIG_ISR_STACK_SIZE=1024 CONFIG_THREAD_STACK_INFO=y diff --git a/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/board.yml b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/board.yml new file mode 100644 index 0000000..f93de82 --- /dev/null +++ b/guests/zephyr/boards/arm/baovm_fvp-a-aarch32/board.yml @@ -0,0 +1,6 @@ +board: + name: baovm_fvp-a-aarch32 + full_name: BASE RevC AEMv8A Fixed Virtual Platforms + vendor: arm + socs: + - name: fvp_aemv8r_aarch32 diff --git a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.board b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.baovm_fvp-r-aarch32 similarity index 51% rename from guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.board rename to guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.baovm_fvp-r-aarch32 index 3c12cc3..63fd469 100644 --- a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.board +++ b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.baovm_fvp-r-aarch32 @@ -2,6 +2,5 @@ # Copyright (c) 2022 IoT.bzh # SPDX-License-Identifier: Apache-2.0 -config BOARD_FVP_BASER_AEMV8R_AARCH32 - bool "Bao VM for FVP BaseR AEMv8R AArch32 simulation board" - depends on SOC_FVP_AEMV8R_AARCH32 +config BOARD_BAOVM_FVP_R_AARCH32 + select SOC_FVP_AEMV8R_AARCH32 diff --git a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.defconfig b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.defconfig deleted file mode 100644 index f943e39..0000000 --- a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/Kconfig.defconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. -# Copyright (c) 2022 IoT.bzh -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_FVP_BASER_AEMV8R_AARCH32 - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "baovm_fvp-r-aarch32" - -endif # BOARD_FVP_BASER_AEMV8R_AARCH32 diff --git a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/baovm_fvp-r-aarch32_defconfig b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/baovm_fvp-r-aarch32_defconfig index b901962..d6fd6fd 100644 --- a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/baovm_fvp-r-aarch32_defconfig +++ b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/baovm_fvp-r-aarch32_defconfig @@ -2,11 +2,6 @@ # Copyright (c) 2022 IoT.bzh # SPDX-License-Identifier: Apache-2.0 -CONFIG_SOC_SERIES_FVP_AEMV8R_AARCH32=y -CONFIG_SOC_FVP_AEMV8R_AARCH32=y -CONFIG_BOARD_FVP_BASER_AEMV8R_AARCH32=y -CONFIG_ARM_MPU=y - CONFIG_ISR_STACK_SIZE=1024 CONFIG_THREAD_STACK_INFO=y diff --git a/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/board.yml b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/board.yml new file mode 100644 index 0000000..4583a79 --- /dev/null +++ b/guests/zephyr/boards/arm/baovm_fvp-r-aarch32/board.yml @@ -0,0 +1,8 @@ +board: + name: baovm_fvp-r-aarch32 + full_name: FVP Emulation FVP_BaseR_AEMv8R (SMP) + vendor: arm + socs: + - name: fvp_aemv8r_aarch32 + variants: + - name: 'smp' diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig b/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig deleted file mode 100644 index 8059b39..0000000 --- a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (c) 2021 BayLibre SAS -# SPDX-License-Identifier: Apache-2.0 - -# The GICv3 & ITS drivers allocation needs are: -# - LPI prop table: global 1x64K aligned on 64K -# - LPI pend table: for each redistributor/cpu 1x64K aligned on 64K -# - Devices table: 128x4K aligned on 4K -# - Interrupt Collections table: 1x4K aligned on 4K -# -# This makes 11x64K to permit all allocations to success. -# -# Note, will need 64K HEAP_MEM per CPUs added. -# -# This doesn't necessarily include the Interrupt Translation Table, which are -# 256bytes aligned tables, for reference a 32 ITEs table needs 256bytes. -# With 11x64K HEAP, up to 116 ITT tables of 32 ITEs can be allocated. -config HEAP_MEM_POOL_SIZE - default 720896 if GIC_V3_ITS diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.baovm_fvp-a b/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.baovm_fvp-a new file mode 100644 index 0000000..13f58a9 --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.baovm_fvp-a @@ -0,0 +1,6 @@ +# Copyright (c) 2021 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_BAOVM_FVP_A + select SOC_SERIES_FVP_AEMV8A + select SOC_FVP_BASE_REVC_2XAEMV8A diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.board b/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.board deleted file mode 100644 index dbc0bf5..0000000 --- a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.board +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2021 Carlo Caione -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_FVP_BASE_REVC_2XAEMV8A - bool "FVP Base RevC AEMv8A simulation board" - depends on SOC_FVP_BASE_REVC_2XAEMV8A diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.defconfig b/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.defconfig deleted file mode 100644 index bfbb54f..0000000 --- a/guests/zephyr/boards/arm64/baovm_fvp-a/Kconfig.defconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2021 Carlo Caione -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_FVP_BASE_REVC_2XAEMV8A - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "fvp_base_revc_2xaemv8a" - -endif # BOARD_FVP_BASE_REVC_2XAEMV8A diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a.dts b/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a.dts index 3173783..1c90a56 100644 --- a/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a.dts +++ b/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a.dts @@ -6,6 +6,7 @@ /dts-v1/; #include +#include #include / { @@ -87,7 +88,6 @@ uart2: uart@1c0b0000 { compatible = "arm,pl011"; reg = <0x1c0b0000 0x1000>; - status = "disabled"; interrupts = ; interrupt-names = "irq_7"; clocks = <&uartclk>; diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a_defconfig b/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a_defconfig index e621d2e..78248b7 100644 --- a/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a_defconfig +++ b/guests/zephyr/boards/arm64/baovm_fvp-a/baovm_fvp-a_defconfig @@ -1,10 +1,6 @@ # Copyright (c) 2022 Arm Limited (or its affiliates). All rights reserved. # SPDX-License-Identifier: Apache-2.0 -CONFIG_SOC_SERIES_FVP_AEMV8A=y -CONFIG_SOC_FVP_BASE_REVC_2XAEMV8A=y -CONFIG_BOARD_FVP_BASE_REVC_2XAEMV8A=y - CONFIG_THREAD_STACK_INFO=y # Enable Timer and Sys clock @@ -27,11 +23,10 @@ CONFIG_ARMV8_A_NS=y # Enable SMP CONFIG_SMP=y CONFIG_MP_MAX_NUM_CPUS=2 -CONFIG_PM_CPU_OPS=y -CONFIG_PM_CPU_OPS_PSCI=y - CONFIG_CACHE_MANAGEMENT=y CONFIG_TIMEOUT_64BIT=y - CONFIG_MAX_THREAD_BYTES=3 +# PSCI is supported +CONFIG_PM_CPU_OPS=y +CONFIG_PM_CPU_OPS_PSCI=y diff --git a/guests/zephyr/boards/arm64/baovm_fvp-a/board.yml b/guests/zephyr/boards/arm64/baovm_fvp-a/board.yml new file mode 100644 index 0000000..439e968 --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_fvp-a/board.yml @@ -0,0 +1,10 @@ +board: + name: baovm_fvp-a + full_name: BASE RevC AEMv8A Fixed Virtual Platforms + vendor: arm + socs: + - name: fvp_base_revc_2xaemv8a + variants: + - name: smp + variants: + - name: ns diff --git a/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.board b/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.baovm_fvp-r similarity index 51% rename from guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.board rename to guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.baovm_fvp-r index 3b0c7ba..11f036a 100644 --- a/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.board +++ b/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.baovm_fvp-r @@ -1,6 +1,5 @@ # Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. # SPDX-License-Identifier: Apache-2.0 -config BOARD_FVP_BASER_AEMV8R - bool "FVP BaseR AEMv8R simulation board" - depends on SOC_FVP_AEMV8R_AARCH64 +config BOARD_BAOVM_FVP_R + select SOC_FVP_AEMV8R_AARCH64 diff --git a/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.defconfig b/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.defconfig deleted file mode 100644 index 89a9b37..0000000 --- a/guests/zephyr/boards/arm64/baovm_fvp-r/Kconfig.defconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_FVP_BASER_AEMV8R - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "fvp_baser_aemv8r" - -endif # BOARD_FVP_BASER_AEMV8R diff --git a/guests/zephyr/boards/arm64/baovm_fvp-r/baovm_fvp-r_defconfig b/guests/zephyr/boards/arm64/baovm_fvp-r/baovm_fvp-r_defconfig index 21587f6..8b9ba55 100644 --- a/guests/zephyr/boards/arm64/baovm_fvp-r/baovm_fvp-r_defconfig +++ b/guests/zephyr/boards/arm64/baovm_fvp-r/baovm_fvp-r_defconfig @@ -1,10 +1,6 @@ # Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. # SPDX-License-Identifier: Apache-2.0 -CONFIG_SOC_SERIES_FVP_AEMV8R=y -CONFIG_SOC_FVP_AEMV8R_AARCH64=y -CONFIG_BOARD_FVP_BASER_AEMV8R=y - # Cache management CONFIG_CACHE_MANAGEMENT=y diff --git a/guests/zephyr/boards/arm64/baovm_fvp-r/board.yml b/guests/zephyr/boards/arm64/baovm_fvp-r/board.yml new file mode 100644 index 0000000..4693b8d --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_fvp-r/board.yml @@ -0,0 +1,8 @@ +board: + name: baovm_fvp-r + full_name: FVP Emulation FVP_BaseR_AEMv8R (SMP) + vendor: arm + socs: + - name: fvp_aemv8r_aarch64 + variants: + - name: 'smp' diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.baovm_qemu-aarch64-virt b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.baovm_qemu-aarch64-virt new file mode 100644 index 0000000..6f04252 --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.baovm_qemu-aarch64-virt @@ -0,0 +1,5 @@ +# Copyright (c) 2019 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_BAOVM_QEMU_AARCH64_VIRT + select SOC_QEMU_CORTEX_A53 diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.board b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.board deleted file mode 100644 index f8119df..0000000 --- a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.board +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) 2019 Carlo Caione -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_QEMU_CORTEX_A53 - bool "Cortex-A53 Emulation (QEMU)" - depends on SOC_QEMU_CORTEX_A53 - select ARM64 diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.defconfig b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.defconfig deleted file mode 100644 index cbe833f..0000000 --- a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/Kconfig.defconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2019 Carlo Caione -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_QEMU_CORTEX_A53 - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "qemu_cortex_a53" - -endif # BOARD_QEMU_CORTEX_A53 diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt.dts b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt.dts index 5400f30..b706c62 100644 --- a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt.dts +++ b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt.dts @@ -1,102 +1,35 @@ /* - * Copyright (c) 2021 Carlo Caione + * Copyright (c) 2019 Carlo Caione + * * SPDX-License-Identifier: Apache-2.0 + * */ /dts-v1/; - -#include -#include +#include / { - model = "Bao VM qemu-aarch64-virt"; - #address-cells = <1>; - #size-cells = <1>; + model = "QEMU Cortex-A53"; + compatible = "qemu,arm-cortex-a53"; - aliases { }; + psci { + compatible = "arm,psci-0.2"; + method = "hvc"; + }; chosen { - /* - * The SRAM node is actually located in the - * DRAM region of the FVP Base RevC 2xAEMv8A. - */ zephyr,sram = &dram0; zephyr,console = &uart0; zephyr,shell-uart = &uart0; - }; - - psci { - compatible = "arm,psci-0.2"; - method = "smc"; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0>; - }; - - cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a53"; - reg = <0x01>; - }; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupt-parent = <&gic>; - interrupts = , - , - , - ; - }; - - uartclk: apb-pclk { - compatible = "fixed-clock"; - clock-frequency = <24000000>; - #clock-cells = <0>; + zephyr,pcie-controller = &pcie; }; soc { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - ranges; - interrupt-parent = <&gic>; - - gic: interrupt-controller@8000000 { - compatible = "arm,gic-v3", "arm,gic"; - reg = <0x8000000 0x10000>, // GICD - <0x80a0000 0x200000>; // GICR - interrupt-controller; - #interrupt-cells = <4>; - status = "okay"; - #address-cells = <1>; - #size-cells = <1>; - }; - - uart0: uart@9000000 { - compatible = "arm,pl011"; - reg = <0x9000000 0x1000>; - status = "disabled"; - interrupts = ; - interrupt-names = "irq_0"; - clocks = <&uartclk>; - }; - dram0: memory@80000000 { - compatible = "mmio-sram"; - reg = <0x80000000 DT_SIZE_M(128)>; + compatible = "mmio-dram"; + reg = <0x0 0x80000000 0x0 DT_SIZE_M(128)>; }; + }; }; diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt_defconfig b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt_defconfig index d3a8ff0..0268254 100644 --- a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt_defconfig +++ b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/baovm_qemu-aarch64-virt_defconfig @@ -1,9 +1,10 @@ -CONFIG_SOC_QEMU_CORTEX_A53=y -CONFIG_BOARD_QEMU_CORTEX_A53=y +CONFIG_THREAD_STACK_INFO=y +# Enable Timer and Sys clock CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000 CONFIG_ARM_ARCH_TIMER=y + # Cache management CONFIG_CACHE_MANAGEMENT=y @@ -14,9 +15,6 @@ CONFIG_SERIAL=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -# Enable TFA -CONFIG_ARMV8_A_NS=y - # Enable serial port CONFIG_UART_INTERRUPT_DRIVEN=y @@ -26,7 +24,15 @@ CONFIG_ARMV8_A_NS=y # Enable SMP CONFIG_SMP=y CONFIG_MP_MAX_NUM_CPUS=2 +CONFIG_CACHE_MANAGEMENT=y +CONFIG_TIMEOUT_64BIT=y +CONFIG_MAX_THREAD_BYTES=3 + +# PSCI is supported CONFIG_PM_CPU_OPS=y CONFIG_PM_CPU_OPS_PSCI=y +# Avoid timing skew in tests +CONFIG_QEMU_ICOUNT=y +CONFIG_QEMU_ICOUNT_SHIFT=7 diff --git a/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/board.yml b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/board.yml new file mode 100644 index 0000000..9e982ad --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_qemu-aarch64-virt/board.yml @@ -0,0 +1,9 @@ +board: + name: baovm_qemu-aarch64-virt + full_name: QEMU Emulation for ARM Cortex-A53 + vendor: arm + socs: + - name: qemu_cortex_a53 + variants: + - name: smp + - name: xip diff --git a/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.board b/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.baovm_rpi4 similarity index 62% rename from guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.board rename to guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.baovm_rpi4 index 73a1986..c2bf420 100644 --- a/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.board +++ b/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.baovm_rpi4 @@ -2,7 +2,5 @@ # Copyright (c) 2023 Yan-Jie Wang # SPDX-License-Identifier: Apache-2.0 -config BOARD_RASPBERRY_PI_4B - bool "Raspberry Pi 4B" - depends on SOC_BCM2711 - select ARM64 +config BOARD_BAOVM_RPI4 + select SOC_BCM2711 diff --git a/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.defconfig b/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.defconfig deleted file mode 100644 index e854137..0000000 --- a/guests/zephyr/boards/arm64/baovm_rpi4/Kconfig.defconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2019 Carlo Caione -# Copyright (c) 2023 Yan-Jie Wang -# SPDX-License-Identifier: Apache-2.0 - -if BOARD_RASPBERRY_PI_4B - -config BUILD_OUTPUT_BIN - default y - -config BOARD - default "raspberry_pi_4b" - -endif # BOARD_RASPBERRY_PI_4B diff --git a/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4.dts b/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4.dts index 9492bc6..556cf5b 100644 --- a/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4.dts +++ b/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4.dts @@ -41,6 +41,12 @@ compatible = "arm,cortex-a72"; reg = <0>; }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x1>; + }; }; timer { diff --git a/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4_defconfig b/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4_defconfig index 0071c4d..f3a73e3 100644 --- a/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4_defconfig +++ b/guests/zephyr/boards/arm64/baovm_rpi4/baovm_rpi4_defconfig @@ -1,5 +1,9 @@ -CONFIG_SOC_BCM2711=y -CONFIG_BOARD_RASPBERRY_PI_4B=y +# CONFIG_SOC_BCM2711=y +# CONFIG_BOARD_RASPBERRY_PI_4B=y + +# Platform Configuration +CONFIG_ARM64_VA_BITS_36=y +CONFIG_ARM64_PA_BITS_36=y # Enable UART driver CONFIG_SERIAL=y @@ -10,3 +14,14 @@ CONFIG_UART_CONSOLE=y # Enable serial port CONFIG_UART_INTERRUPT_DRIVEN=y + +# Enable SMP +CONFIG_SMP=y +CONFIG_MP_MAX_NUM_CPUS=2 +CONFIG_CACHE_MANAGEMENT=y +CONFIG_TIMEOUT_64BIT=y +CONFIG_MAX_THREAD_BYTES=3 + +# PSCI is supported +CONFIG_PM_CPU_OPS=y +CONFIG_PM_CPU_OPS_PSCI=y diff --git a/guests/zephyr/boards/arm64/baovm_rpi4/board.yml b/guests/zephyr/boards/arm64/baovm_rpi4/board.yml new file mode 100644 index 0000000..7efcfa9 --- /dev/null +++ b/guests/zephyr/boards/arm64/baovm_rpi4/board.yml @@ -0,0 +1,6 @@ +board: + name: baovm_rpi4 + full_name: Raspberry Pi 4 Model B (Cortex-A72) + vendor: raspberrypi + socs: + - name: bcm2711 diff --git a/guests/zephyr/make.mk b/guests/zephyr/make.mk index c2be5aa..5d1ed8c 100644 --- a/guests/zephyr/make.mk +++ b/guests/zephyr/make.mk @@ -1,6 +1,6 @@ zephyr_src:=$(wrkdir_src)/zephyr zephyr_repo:=https://github.com/zephyrproject-rtos/zephyr.git -zephyr_version:=v3.5.0-rc1 +zephyr_version:=v4.1.0 zephyr_cmsis_repo:=https://github.com/zephyrproject-rtos/cmsis.git zephyr_cmsis_src:=$(wrkdir_src)/cmsis zephyr_cmsis_commit:=5a00331455dd74e31e80efa383a489faea0590e3 diff --git a/guests/zephyr/patches/v4.1.0/0001-add-bao-ipcshmem-drivers.patch b/guests/zephyr/patches/v4.1.0/0001-add-bao-ipcshmem-drivers.patch new file mode 100644 index 0000000..60782a1 --- /dev/null +++ b/guests/zephyr/patches/v4.1.0/0001-add-bao-ipcshmem-drivers.patch @@ -0,0 +1,387 @@ +From 89a4ed577814a786912041acb5f3ba9400ff798b Mon Sep 17 00:00:00 2001 +From: Jose Martins +Date: Sat, 4 Feb 2023 16:54:22 +0000 +Subject: [PATCH 1/3] add bao ipcshmem drivers + +Signed-off-by: Jose Martins +--- + drivers/virtualization/CMakeLists.txt | 3 + + drivers/virtualization/Kconfig | 17 +++ + drivers/virtualization/bao_ipcshmem.c | 108 ++++++++++++++++++ + .../virtualization/bao_ipcshmem_internal.h | 28 +++++ + drivers/virtualization/bao_ipcshmem_shell.c | 97 ++++++++++++++++ + dts/bindings/virtualization/bao,ipcshmem.yaml | 15 +++ + .../drivers/virtualization/bao_ipcshmem.h | 46 ++++++++ + 7 files changed, 314 insertions(+) + create mode 100644 drivers/virtualization/bao_ipcshmem.c + create mode 100644 drivers/virtualization/bao_ipcshmem_internal.h + create mode 100644 drivers/virtualization/bao_ipcshmem_shell.c + create mode 100644 dts/bindings/virtualization/bao,ipcshmem.yaml + create mode 100644 include/zephyr/drivers/virtualization/bao_ipcshmem.h + +diff --git a/drivers/virtualization/CMakeLists.txt b/drivers/virtualization/CMakeLists.txt +index c16ed84e319..6150c91e69a 100644 +--- a/drivers/virtualization/CMakeLists.txt ++++ b/drivers/virtualization/CMakeLists.txt +@@ -10,3 +10,6 @@ zephyr_library_sources_ifdef(CONFIG_IVSHMEM virt_ivshmem.c) + zephyr_library_sources_ifdef(CONFIG_IVSHMEM_SHELL virt_ivshmem_shell.c) + + zephyr_library_sources_ifdef(CONFIG_USERSPACE virt_ivshmem_handlers.c) ++ ++zephyr_library_sources_ifdef(CONFIG_BAO_IPCSHMEM bao_ipcshmem.c) ++zephyr_library_sources_ifdef(CONFIG_BAO_IPCSHMEM_SHELL bao_ipcshmem_shell.c) +diff --git a/drivers/virtualization/Kconfig b/drivers/virtualization/Kconfig +index f439f5ba97d..d3a04d6d5d9 100644 +--- a/drivers/virtualization/Kconfig ++++ b/drivers/virtualization/Kconfig +@@ -12,6 +12,23 @@ menuconfig VIRTUALIZATION + + if VIRTUALIZATION + ++config BAO_IPCSHMEM ++ bool "BAO IPC shared memory driver" ++ depends on VIRTUALIZATION ++ help ++ This will enable support of BAO IPC shared memory driver. ++ ++if BAO_IPCSHMEM ++ ++config BAO_IPCSHMEM_SHELL ++ bool "BAO IPC shared memory shell module" ++ depends on SHELL ++ select DYNAMIC_INTERRUPTS ++ help ++ This is mostly a module to help getting info the BAO IPC shared memory. ++ ++endif # BAO_IPCSHMEM ++ + config IVSHMEM + bool "Inter-VM shared memory device (ivshmem)" + depends on PCIE +diff --git a/drivers/virtualization/bao_ipcshmem.c b/drivers/virtualization/bao_ipcshmem.c +new file mode 100644 +index 00000000000..a323cf0ca59 +--- /dev/null ++++ b/drivers/virtualization/bao_ipcshmem.c +@@ -0,0 +1,108 @@ ++#include ++#include "bao_ipcshmem_internal.h" ++ ++#include ++#include ++ ++#include ++#include ++ ++#define ARM_SMCCC_OWNER_VENDOR_HYP 6 ++#define ARM_SMCCC_FAST_CALL 1UL ++#define ARM_SMCCC_SMC_64 1 ++#define ARM_SMCCC_SMC_32 0 ++#if defined(CONFIG_ARM64) ++#define ARM_SMCCC_SMC ARM_SMCCC_SMC_64 ++#elif defined(CONFIG_ARM) ++#define ARM_SMCCC_SMC ARM_SMCCC_SMC_32 ++#else ++#error "Bao IPC Shared Memory: unsupported architecture" ++#endif ++#define ARM_SMCCC_CALL_VAL(type, calling_convention, owner, func_id) \ ++ (((type) << 31) | ((calling_convention) << 30) | \ ++ ((owner) << 24) | ((func_id) & 0xffff)) ++#define BAO_IPC_HC_ID 1 ++#define BAO_SHMEMIPC_SMCCC_VAL ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ ++ ARM_SMCCC_SMC, ARM_SMCCC_OWNER_VENDOR_HYP, BAO_IPC_HC_ID) ++ ++static void shmem_read(const struct device *dev, char *buf, size_t n) { ++ size_t size = MIN(SHMEM_CONFIG(dev)->read_buf_size, n); ++ memcpy(buf, SHMEM_DATA(dev)->read_buf, size); ++} ++ ++static void shmem_write(const struct device *dev, const char *buf, size_t n) { ++ size_t size = MIN(SHMEM_CONFIG(dev)->write_buf_size, n); ++ snprintf(SHMEM_DATA(dev)->write_buf, size, "%s", buf); ++} ++ ++static void shmem_notify(const struct device *dev) { ++ unsigned shmem_id = SHMEM_CONFIG(dev)->id; ++ struct arm_smccc_res hvc_res; ++ unsigned notification_id = 0; // we assume only one notification ++ arm_smccc_hvc(BAO_SHMEMIPC_SMCCC_VAL, shmem_id, notification_id, ++ 0, 0, 0, 0, 0, &hvc_res); ++} ++ ++static unsigned shmem_id(const struct device *dev) { ++ return SHMEM_CONFIG(dev)->id; ++} ++ ++static void shmem_irq_enable(const struct device *dev) { ++ irq_enable(SHMEM_CONFIG(dev)->irq); ++} ++ ++static void shmem_irq_set_callback(const struct device *dev, ++ bao_ipcshmem_callback_t callback) ++{ ++ irq_connect_dynamic(SHMEM_CONFIG(dev)->irq, 0, ++ (void (*)(const void*))callback, dev, 0); ++} ++ ++static struct bao_ipcshmem_api shmem_api = { ++ .read = shmem_read, ++ .write = shmem_write, ++ .notify = shmem_notify, ++ .id = shmem_id, ++ .irq_set_enable = shmem_irq_enable, ++ .irq_set_callback = shmem_irq_set_callback, ++}; ++ ++static int shmemipc_init(const struct device *dev) { ++ ++ struct shmem_config *config = SHMEM_CONFIG(dev); ++ struct shmem_data *data = SHMEM_DATA(dev); ++ ++ DEVICE_MMIO_MAP(dev, K_MEM_CACHE_WB | K_MEM_PERM_RW); ++ ++ data->read_buf = (char*)(DEVICE_MMIO_GET(dev) + config->read_buf_off); ++ data->write_buf = (char*)(DEVICE_MMIO_GET(dev) + config->write_buf_off); ++ ++ memset(data->read_buf, 0, config->read_buf_size); ++ memset(data->write_buf, 0, config->write_buf_size); ++ ++ return 0; ++} ++ ++#define BAO_IPCSHMEM_INSTANTIATE(inst) \ ++ struct shmem_data shmem_data_##inst; \ ++ struct shmem_config shmem_config_##inst = { \ ++ DEVICE_MMIO_ROM_INIT(DT_DRV_INST(inst)), \ ++ .read_buf_off = DT_PROP_BY_IDX(DT_DRV_INST(inst), read_channel, 0), \ ++ .read_buf_size = DT_PROP_BY_IDX(DT_DRV_INST(inst), read_channel, 1), \ ++ .write_buf_off = DT_PROP_BY_IDX(DT_DRV_INST(inst), write_channel, 0), \ ++ .write_buf_size = DT_PROP_BY_IDX(DT_DRV_INST(inst), write_channel, 1), \ ++ .irq = DT_IRQN(DT_DRV_INST(inst)), \ ++ .id = DT_PROP(DT_DRV_INST(inst), id), \ ++ }; \ ++ DEVICE_DT_DEFINE( \ ++ DT_INST(inst, DT_DRV_COMPAT), \ ++ shmemipc_init, \ ++ NULL, \ ++ &shmem_data_##inst, \ ++ &shmem_config_##inst, \ ++ POST_KERNEL, \ ++ 1, \ ++ &shmem_api, \ ++ ); ++ ++DT_INST_FOREACH_STATUS_OKAY(BAO_IPCSHMEM_INSTANTIATE) +diff --git a/drivers/virtualization/bao_ipcshmem_internal.h b/drivers/virtualization/bao_ipcshmem_internal.h +new file mode 100644 +index 00000000000..f32928126ec +--- /dev/null ++++ b/drivers/virtualization/bao_ipcshmem_internal.h +@@ -0,0 +1,28 @@ ++#ifndef BAO_IPCSHMEM_INTERNAL_H_ ++#define BAO_IPCSHMEM_INTERNAL_H_ ++ ++#include ++ ++#define DT_DRV_COMPAT bao_ipcshmem ++ ++struct shmem_data { ++ DEVICE_MMIO_RAM; ++ char* read_buf; ++ char* write_buf; ++}; ++ ++struct shmem_config { ++ DEVICE_MMIO_ROM; ++ size_t read_buf_off; ++ size_t read_buf_size; ++ size_t write_buf_off; ++ size_t write_buf_size; ++ unsigned irq; ++ unsigned id; ++}; ++ ++#define SHMEM_CONFIG(dev) ((struct shmem_config*)(dev->config)) ++#define SHMEM_DATA(dev) ((struct shmem_data*)(dev->data)) ++ ++ ++#endif /* BAO_IPCSHMEM_INTERNAL_H_ */ +diff --git a/drivers/virtualization/bao_ipcshmem_shell.c b/drivers/virtualization/bao_ipcshmem_shell.c +new file mode 100644 +index 00000000000..9bb5c73e869 +--- /dev/null ++++ b/drivers/virtualization/bao_ipcshmem_shell.c +@@ -0,0 +1,97 @@ ++#include ++#include ++#include ++#include "bao_ipcshmem_internal.h" ++ ++#include ++ ++static const struct device* shmem_dev_list[] = { ++ DT_FOREACH_STATUS_OKAY(DT_DRV_COMPAT, DEVICE_DT_GET) ++}; ++static const size_t shmem_dev_list_size = ++ sizeof(shmem_dev_list)/sizeof(struct device*); ++ ++static const struct device* bao_ipcshmem_find_dev(const struct shell *shell, ++ const char* shmem_id_str) { ++ unsigned shmem_id = atoi(shmem_id_str); ++ const struct device* dev = NULL; ++ for (int i = 0; i < shmem_dev_list_size; i++) { ++ const struct device* tmp = shmem_dev_list[i]; ++ if (bao_ipcshmem_id(tmp) == shmem_id) { ++ dev = tmp; ++ break; ++ } ++ } ++ if (dev == NULL) { ++ shell_error(shell, "Invalid shmem id: %s", shmem_id_str); ++ } ++ return dev; ++} ++ ++#define MSG_SIZE 256 ++static char msg[MSG_SIZE]; ++ ++static int cmd_bao_ipcshmem_read(const struct shell *shell, ++ size_t argc, char **argv) ++{ ++ const struct device* dev = bao_ipcshmem_find_dev(shell, argv[1]); ++ if (dev == NULL) return -EINVAL; ++ bao_ipcshmem_read(dev, msg, MSG_SIZE); ++ msg[MSG_SIZE-1] = '\0'; ++ shell_fprintf(shell, SHELL_NORMAL, "%s", msg); ++ return 0; ++} ++ ++static int cmd_bao_ipcshmem_write(const struct shell *shell, ++ size_t argc, char **argv) ++{ ++ const struct device* dev = bao_ipcshmem_find_dev(shell, argv[1]); ++ if (dev == NULL) return -EINVAL; ++ size_t len = MIN(MSG_SIZE-2, strlen(argv[2])); ++ memcpy(msg, argv[2], len); ++ msg[len] = '\n'; ++ msg[len+1] = '\0'; ++ bao_ipcshmem_write(dev, msg, len+2); ++ return 0; ++} ++ ++static int cmd_bao_ipcshmem_notify(const struct shell *shell, ++ size_t argc, char **argv) ++{ ++ const struct device* dev = bao_ipcshmem_find_dev(shell, argv[1]); ++ if (dev == NULL) return -EINVAL; ++ bao_ipcshmem_notify(dev); ++ return 0; ++} ++ ++static int cmd_bao_ipcshmem_write_notify(const struct shell *shell, ++ size_t argc, char **argv) ++{ ++ const struct device* dev = bao_ipcshmem_find_dev(shell, argv[1]); ++ if (dev == NULL) return -EINVAL; ++ bao_ipcshmem_write(dev, argv[2], strlen(argv[2])+1); ++ bao_ipcshmem_notify(dev); ++ return 0; ++} ++ ++SHELL_STATIC_SUBCMD_SET_CREATE(sub_bao_ipcshmem_cmds, ++ SHELL_CMD_ARG(read, NULL, ++ "Read bao shared memory contents", ++ cmd_bao_ipcshmem_read, 2, 0), ++ SHELL_CMD_ARG(write, NULL, ++ "Write bao shared memory contents", ++ cmd_bao_ipcshmem_write, 3, 0), ++ SHELL_CMD_ARG(notify, NULL, ++ "Send a notification to the VMs connected to the " ++ "same bao shared memory", ++ cmd_bao_ipcshmem_notify, 2, 0), ++ SHELL_CMD_ARG(write_notify, NULL, ++ "Write bao shared memory contents and send a " ++ "nofitication to the VMs connected to the same bao " ++ "shared memory", ++ cmd_bao_ipcshmem_write_notify, 3, 0), ++ SHELL_SUBCMD_SET_END ++ ); ++ ++SHELL_CMD_REGISTER(baoipc, &sub_bao_ipcshmem_cmds, ++ "Bao IPC Shared Memory Commands", NULL); +diff --git a/dts/bindings/virtualization/bao,ipcshmem.yaml b/dts/bindings/virtualization/bao,ipcshmem.yaml +new file mode 100644 +index 00000000000..ed7cedef9aa +--- /dev/null ++++ b/dts/bindings/virtualization/bao,ipcshmem.yaml +@@ -0,0 +1,15 @@ ++description: Bao IPC Shared Memory ++ ++compatible: "bao,ipcshmem" ++ ++include: base.yaml ++ ++properties: ++ reg: ++ required: true ++ read-channel: ++ type: array ++ write-channel: ++ type: array ++ id: ++ type: int +diff --git a/include/zephyr/drivers/virtualization/bao_ipcshmem.h b/include/zephyr/drivers/virtualization/bao_ipcshmem.h +new file mode 100644 +index 00000000000..5f6e6fe957c +--- /dev/null ++++ b/include/zephyr/drivers/virtualization/bao_ipcshmem.h +@@ -0,0 +1,46 @@ ++#ifndef BAO_IPCSHMEM_H_ ++#define BAO_IPCSHMEM_H_ ++ ++#include ++#include ++ ++typedef void (*bao_ipcshmem_callback_t)(const struct device *dev); ++ ++struct bao_ipcshmem_api { ++ void (*read)(const struct device *dev, char *buf, size_t n); ++ void (*write)(const struct device *dev, const char *write, size_t n); ++ void (*notify)(const struct device *dev); ++ unsigned (*id)(const struct device *dev); ++ void (*irq_set_enable)(const struct device *dev); ++ void (*irq_set_callback)(const struct device *dev, bao_ipcshmem_callback_t callback); ++}; ++ ++#define BAO_IPCSHMEM_API(dev) ((struct bao_ipcshmem_api *)((dev)->api)) ++ ++static inline void bao_ipcshmem_write(const struct device *dev, char *buf, size_t n) { ++ BAO_IPCSHMEM_API(dev)->write(dev, buf, n); ++} ++ ++static inline void bao_ipcshmem_read(const struct device *dev, char *buf, size_t n) { ++ BAO_IPCSHMEM_API(dev)->read(dev, buf, n); ++} ++ ++static inline void bao_ipcshmem_notify(const struct device *dev) { ++ BAO_IPCSHMEM_API(dev)->notify(dev); ++} ++ ++static inline unsigned bao_ipcshmem_id(const struct device *dev) { ++ return BAO_IPCSHMEM_API(dev)->id(dev); ++} ++ ++static inline void bao_ipcshmem_irq_enable(const struct device *dev) { ++ BAO_IPCSHMEM_API(dev)->irq_set_enable(dev); ++} ++ ++static inline void bao_ipcshmem_irq_set_callback(const struct device *dev, ++ bao_ipcshmem_callback_t callback) ++{ ++ BAO_IPCSHMEM_API(dev)->irq_set_callback(dev, callback); ++} ++ ++#endif /* BAO_IPCSHMEM_H_ */ +-- +2.34.1 + diff --git a/guests/zephyr/patches/v4.1.0/0002-add-smc-support-for-aarch32-r.patch b/guests/zephyr/patches/v4.1.0/0002-add-smc-support-for-aarch32-r.patch new file mode 100644 index 0000000..80148b4 --- /dev/null +++ b/guests/zephyr/patches/v4.1.0/0002-add-smc-support-for-aarch32-r.patch @@ -0,0 +1,154 @@ +From 5d20f94d8c26f516e5dd1b67b860d3893ff0c1d5 Mon Sep 17 00:00:00 2001 +From: Jose Martins +Date: Mon, 6 Feb 2023 19:20:41 +0000 +Subject: [PATCH 2/3] add smc support for aarch32-r + +Signed-off-by: Jose Martins +--- + arch/arm/core/cortex_a_r/CMakeLists.txt | 1 + + arch/arm/core/cortex_a_r/Kconfig | 7 ++++ + arch/arm/core/cortex_a_r/smccc-call.S | 41 ++++++++++++++++++++ + include/zephyr/arch/arm/arm-smccc.h | 51 +++++++++++++++++++++++++ + 4 files changed, 100 insertions(+) + create mode 100644 arch/arm/core/cortex_a_r/smccc-call.S + create mode 100644 include/zephyr/arch/arm/arm-smccc.h + +diff --git a/arch/arm/core/cortex_a_r/CMakeLists.txt b/arch/arm/core/cortex_a_r/CMakeLists.txt +index 7d18e0e610d..1e5448d0af3 100644 +--- a/arch/arm/core/cortex_a_r/CMakeLists.txt ++++ b/arch/arm/core/cortex_a_r/CMakeLists.txt +@@ -25,3 +25,4 @@ zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE __aeabi_read_tp.S) + zephyr_library_sources_ifdef(CONFIG_ARCH_CACHE cache.c) + zephyr_library_sources_ifdef(CONFIG_USE_SWITCH switch.S) + zephyr_library_sources_ifndef(CONFIG_USE_SWITCH swap_helper.S exc_exit.S) ++zephyr_library_sources_ifdef(CONFIG_HAS_ARM_SMCCC smccc-call.S) +diff --git a/arch/arm/core/cortex_a_r/Kconfig b/arch/arm/core/cortex_a_r/Kconfig +index 409968ca6c7..52fcb4cfb65 100644 +--- a/arch/arm/core/cortex_a_r/Kconfig ++++ b/arch/arm/core/cortex_a_r/Kconfig +@@ -161,11 +161,18 @@ config ARMV7_R_FP + This option signifies the use of an ARMv7-R processor + implementation supporting the Floating-Point Extension. + ++config HAS_ARM_SMCCC ++ bool ++ help ++ Include support for the Secure Monitor Call (SMC) and Hypervisor ++ Call (HVC) instructions on Armv7 and above architectures. ++ + config AARCH32_ARMV8_R + bool + select ATOMIC_OPERATIONS_BUILTIN + select SCHED_IPI_SUPPORTED if SMP + select ARCH_HAS_DIRECTED_IPIS ++ select HAS_ARM_SMCCC + help + This option signifies the use of an ARMv8-R AArch32 processor + implementation. +diff --git a/arch/arm/core/cortex_a_r/smccc-call.S b/arch/arm/core/cortex_a_r/smccc-call.S +new file mode 100644 +index 00000000000..f655def9b2b +--- /dev/null ++++ b/arch/arm/core/cortex_a_r/smccc-call.S +@@ -0,0 +1,41 @@ ++/* ++ * Copyright (c) 2019 Carlo Caione ++ * ++ * SPDX-License-Identifier: Apache-2.0 ++ */ ++ ++/* ++ * This file implements the common calling mechanism to be used with the Secure ++ * Monitor Call (SMC) and Hypervisor Call (HVC). ++ * ++ * See https://developer.arm.com/docs/den0028/latest ++ */ ++ ++#include ++#include ++#include ++#include ++ ++.macro SMCCC instr ++ \instr #0 ++ ldr r4, [sp, #0x10] ++ strd r0, r1, [r4], #8 ++ strd r2, r3, [r4], #8 ++ bx lr ++.endm ++ ++/* ++ * The SMC instruction is used to generate a synchronous exception that is ++ * handled by Secure Monitor code running in EL3. ++ */ ++GTEXT(arm_smccc_smc) ++SECTION_FUNC(TEXT, arm_smccc_smc) ++ SMCCC smc ++ ++/* ++ * The HVC instruction is used to generate a synchronous exception that is ++ * handled by a hypervisor running in EL2. ++ */ ++GTEXT(arm_smccc_hvc) ++SECTION_FUNC(TEXT, arm_smccc_hvc) ++ SMCCC hvc +diff --git a/include/zephyr/arch/arm/arm-smccc.h b/include/zephyr/arch/arm/arm-smccc.h +new file mode 100644 +index 00000000000..e702ce22804 +--- /dev/null ++++ b/include/zephyr/arch/arm/arm-smccc.h +@@ -0,0 +1,51 @@ ++/* ++ * Copyright 2020 Carlo Caione ++ * ++ * SPDX-License-Identifier: Apache-2.0 ++ */ ++ ++#ifndef ZEPHYR_INCLUDE_ARCH_ARM_SMCCC_H_ ++#define ZEPHYR_INCLUDE_ARCH_ARM_SMCCC_H_ ++ ++/* ++ * Result from SMC/HVC call ++ * @a0-a7 result values from registers 0 to 7 ++ */ ++struct arm_smccc_res { ++ unsigned long a0; ++ unsigned long a1; ++ unsigned long a2; ++ unsigned long a3; ++}; ++ ++typedef struct arm_smccc_res arm_smccc_res_t; ++ ++enum arm_smccc_conduit { ++ SMCCC_CONDUIT_NONE, ++ SMCCC_CONDUIT_SMC, ++ SMCCC_CONDUIT_HVC, ++}; ++ ++/* ++ * @brief Make HVC calls ++ * ++ * @param a0 function identifier ++ * @param a1-a7 parameters registers ++ * @param res results ++ */ ++void arm_smccc_hvc(unsigned long a0, unsigned long a1, ++ unsigned long a2, unsigned long a3, ++ struct arm_smccc_res *res); ++ ++/* ++ * @brief Make SMC calls ++ * ++ * @param a0 function identifier ++ * @param a1-a7 parameters registers ++ * @param res results ++ */ ++void arm_smccc_smc(unsigned long a0, unsigned long a1, ++ unsigned long a2, unsigned long a3, ++ struct arm_smccc_res *res); ++ ++#endif /* ZEPHYR_INCLUDE_ARCH_ARM_SMCCC_H_ */ +-- +2.34.1 + diff --git a/guests/zephyr/patches/v4.1.0/0003-enable-shared-caches-for-cortex-r.patch b/guests/zephyr/patches/v4.1.0/0003-enable-shared-caches-for-cortex-r.patch new file mode 100644 index 0000000..ac2cc7c --- /dev/null +++ b/guests/zephyr/patches/v4.1.0/0003-enable-shared-caches-for-cortex-r.patch @@ -0,0 +1,86 @@ +From be5aa0b900f86819d855cc4df68b4ee95c514555 Mon Sep 17 00:00:00 2001 +From: Jose Martins +Date: Sat, 1 Apr 2023 21:23:31 +0100 +Subject: [PATCH 3/3] enable shared caches for cortex-r + +Signed-off-by: Jose Martins +--- + arch/arm/core/mpu/arm_mpu.c | 2 +- + arch/arm64/core/cortex_r/arm_mpu.c | 2 +- + include/zephyr/arch/arm/mpu/arm_mpu_v8.h | 10 +++++----- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/core/mpu/arm_mpu.c b/arch/arm/core/mpu/arm_mpu.c +index e66c02ec067..ae5d48b000b 100644 +--- a/arch/arm/core/mpu/arm_mpu.c ++++ b/arch/arm/core/mpu/arm_mpu.c +@@ -233,7 +233,7 @@ void arm_core_mpu_enable(void) + uint32_t val; + + val = __get_SCTLR(); +- val |= SCTLR_MPU_ENABLE; ++ val |= SCTLR_MPU_ENABLE | SCTLR_C_BIT | SCTLR_I_BIT; + __set_SCTLR(val); + + /* Make sure that all the registers are set before proceeding */ +diff --git a/arch/arm64/core/cortex_r/arm_mpu.c b/arch/arm64/core/cortex_r/arm_mpu.c +index 3053d90cb75..b0a8bba8dc9 100644 +--- a/arch/arm64/core/cortex_r/arm_mpu.c ++++ b/arch/arm64/core/cortex_r/arm_mpu.c +@@ -96,7 +96,7 @@ FUNC_NO_STACK_PROTECTOR void arm_core_mpu_enable(void) + uint64_t val; + + val = read_sctlr_el1(); +- val |= SCTLR_M_BIT; ++ val |= SCTLR_M_BIT | SCTLR_C_BIT | SCTLR_I_BIT; + write_sctlr_el1(val); + barrier_dsync_fence_full(); + barrier_isync_fence_full(); +diff --git a/include/zephyr/arch/arm/mpu/arm_mpu_v8.h b/include/zephyr/arch/arm/mpu/arm_mpu_v8.h +index 0f13bee99be..90f89fbc9fa 100644 +--- a/include/zephyr/arch/arm/mpu/arm_mpu_v8.h ++++ b/include/zephyr/arch/arm/mpu/arm_mpu_v8.h +@@ -174,27 +174,27 @@ + + #define REGION_RAM_ATTR(limit) \ + { \ +- .rbar = NOT_EXEC | P_RW_U_NA_Msk | NON_SHAREABLE_Msk, /* AP, XN, SH */ \ ++ .rbar = NOT_EXEC | P_RW_U_NA_Msk | INNER_SHAREABLE_Msk, /* AP, XN, SH */ \ + .mair_idx = MPU_MAIR_INDEX_SRAM, /* Cache-ability */ \ + .r_limit = limit - 1, /* Region Limit */ \ + } + + #define REGION_RAM_TEXT_ATTR(limit) \ + { \ +- .rbar = P_RO_U_RO_Msk | NON_SHAREABLE_Msk, /* AP, XN, SH */ \ ++ .rbar = P_RO_U_RO_Msk | INNER_SHAREABLE_Msk, /* AP, XN, SH */ \ + .mair_idx = MPU_MAIR_INDEX_SRAM, /* Cache-ability */ \ + .r_limit = limit - 1, /* Region Limit */ \ + } + + #define REGION_RAM_RO_ATTR(limit) \ + { \ +- .rbar = NOT_EXEC | P_RO_U_RO_Msk | NON_SHAREABLE_Msk, /* AP, XN, SH */ \ ++ .rbar = NOT_EXEC | P_RO_U_RO_Msk | INNER_SHAREABLE_Msk, /* AP, XN, SH */ \ + .mair_idx = MPU_MAIR_INDEX_SRAM, /* Cache-ability */ \ + .r_limit = limit - 1, /* Region Limit */ \ + } + #define REGION_RAM_NOCACHE_ATTR(limit) \ + { \ +- .rbar = NOT_EXEC | P_RW_U_NA_Msk | NON_SHAREABLE_Msk, /* AP, XN, SH */ \ ++ .rbar = NOT_EXEC | P_RW_U_NA_Msk | INNER_SHAREABLE_Msk, /* AP, XN, SH */ \ + .mair_idx = MPU_MAIR_INDEX_SRAM_NOCACHE, /* Cache-ability */ \ + .r_limit = limit - 1, /* Region Limit */ \ + } +@@ -240,7 +240,7 @@ + #define REGION_RAM_ATTR(base, size) \ + { \ + .rbar = IF_ENABLED(CONFIG_XIP, (NOT_EXEC |)) P_RW_U_NA_Msk | \ +- NON_SHAREABLE_Msk, /* AP, XN, SH */ \ ++ INNER_SHAREABLE_Msk, /* AP, XN, SH */ \ + .mair_idx = MPU_MAIR_INDEX_SRAM, /* Cache-ability */ \ + .r_limit = REGION_LIMIT_ADDR(base, size), /* Region Limit */ \ + } +-- +2.34.1 + diff --git a/platforms/atf.mk b/platforms/atf.mk index ff0a9bf..1e643ad 100644 --- a/platforms/atf.mk +++ b/platforms/atf.mk @@ -1,6 +1,6 @@ atf_repo:=https://github.com/bao-project/arm-trusted-firmware.git atf_src:=$(wrkdir_src)/arm-trusted-firmware-$(ARCH) -atf_version:=bao/demo +atf_version:=bao/demo-next $(atf_src): git clone --depth 1 --branch $(atf_version) $(atf_repo) $(atf_src) diff --git a/platforms/fvp-a/README.md b/platforms/fvp-a/README.md index a9cf069..cdd8237 100644 --- a/platforms/fvp-a/README.md +++ b/platforms/fvp-a/README.md @@ -7,25 +7,44 @@ **NOTE** If you already have FVP_Base_RevC-2xAEMvA installed please make sure you are -using version 11.21.15 or higher. If so, you can skip this step +using version 11.28_23 or higher. If so, you can skip this step --- Download and extract the model: ``` -curl -L https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.21_15_Linux64.tgz | tar xz -C $BAO_DEMOS_WRKDIR_PLAT +curl -L https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.28/FVP_Base_RevC-2xAEMvA_11.28_23_Linux64.tgz | tar xz -C $BAO_DEMOS_WRKDIR_PLAT export PATH=$PATH:$BAO_DEMOS_WRKDIR_PLAT/Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3 ``` ## 2) Build U-boot +Download and configure it: + ``` export BAO_DEMOS_UBOOT=$BAO_DEMOS_WRKDIR_SRC/u-boot git clone https://github.com/u-boot/u-boot.git $BAO_DEMOS_UBOOT --depth 1\ - --branch v2022.10 + --branch v2025.07 cd $BAO_DEMOS_UBOOT make vexpress_aemv8a_semi_defconfig +``` + +Now you need to set the Kconfig options: + +* CONFIG_AUTOBOOT=n + +You can do it via using an interface such as `menuconfig` or just write them +directly to the config file: + +``` +echo "CONFIG_AUTOBOOT=n\n" >> $BAO_DEMOS_UBOOT/.config +``` + +And build it: + + +``` make -j$(nproc) ``` @@ -41,7 +60,7 @@ cp $BAO_DEMOS_UBOOT/u-boot.bin $BAO_DEMOS_WRKDIR/imgs/$PLATFORM ``` export BAO_DEMOS_ATF=$BAO_DEMOS_WRKDIR_SRC/arm-trusted-firmware-$(ARCH) git clone https://github.com/bao-project/arm-trusted-firmware.git\ - $BAO_DEMOS_ATF --branch bao/demo --depth 1 + $BAO_DEMOS_ATF --branch bao/demo-next --depth 1 cd $BAO_DEMOS_ATF make PLAT=fvp bl1 fip BL33=$BAO_DEMOS_WRKDIR/imgs/$PLATFORM/u-boot.bin \ QEMU_USE_GIC_DRIVER=QEMU_GICV3 ARCH=$ARCH @@ -54,6 +73,10 @@ cp build/fvp/release/fip.bin $BAO_DEMOS_WRKDIR/imgs/$PLATFORM ``` FVP_Base_RevC-2xAEMvA \ + -C cluster0.NUM_CORES=4 \ + -C cache_state_modelled=0 \ + -C bp.refcounter.use_real_time=1 \ + -C bp.exclusive_monitor.monitor_access_level=1 \ -C cluster0.supports_multi_threading=0 \ -C cluster0.mpidr_layout=0 \ -C cluster1.NUM_CORES=0 \ diff --git a/platforms/fvp-a/make.mk b/platforms/fvp-a/make.mk index ff0ec09..84fe08d 100644 --- a/platforms/fvp-a/make.mk +++ b/platforms/fvp-a/make.mk @@ -26,7 +26,9 @@ else include $(bao_demos)/platforms/uboot.mk uboot_defconfig:=vexpress_aemv8a_semi_defconfig uboot_image:=$(wrkdir_plat_imgs)/u-boot.bin -$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig))) + +uboot_cfg_frag:="CONFIG_AUTOBOOT=n\n" +$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig), $(uboot_cfg_frag))) atf_bl33:=$(uboot_image) @@ -50,6 +52,7 @@ platform: $(bao_image) $(atf_fip) $(atf_bl1) # significantly fvp_args+= -C cluster0.NUM_CORES=4 \ -C cache_state_modelled=0 \ + -C bp.refcounter.use_real_time=1 \ -C bp.exclusive_monitor.monitor_access_level=1 \ -C cluster0.supports_multi_threading=0 \ -C cluster0.mpidr_layout=0 \ diff --git a/platforms/fvp-r/README.md b/platforms/fvp-r/README.md index 4ce6f66..83956e7 100644 --- a/platforms/fvp-r/README.md +++ b/platforms/fvp-r/README.md @@ -7,14 +7,14 @@ **NOTE** If you already have FVP_BaseR_AEMv8R installed please make sure you are -using version 11.21.15 or higher. If so, you can skip this step. +using version 11.28_23 or higher. If so, you can skip this step. --- Download and extract the model: ``` -curl -L https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_AEMv8R_11.21_15_Linux64.tgz | tar xz -C $BAO_DEMOS_WRKDIR_PLAT +curl -L https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.28/FVP_Base_AEMv8R_11.28_23_Linux64.tgz | tar xz -C $BAO_DEMOS_WRKDIR_PLAT export PATH=$PATH:$BAO_DEMOS_WRKDIR_PLAT/AEMv8R_base_pkg/models/Linux64_GCC-9.3 ``` @@ -22,11 +22,17 @@ export PATH=$PATH:$BAO_DEMOS_WRKDIR_PLAT/AEMv8R_base_pkg/models/Linux64_GCC-9.3 ``` FVP_BaseR_AEMv8R \ + -C cache_state_modelled=0 \ + -C bp.refcounter.use_real_time=1 \ + -C bp.exclusive_monitor.monitor_access_level=1 \ + -C cci400.force_on_from_start=1 \ -C gic_distributor.has-two-security-states=0 \ -C cluster0.gicv3.cpuintf-mmap-access-level=2 \ -C cluster0.gicv3.SRE-EL2-enable-RAO=1 \ -C cluster0.has_aarch64=$(([[ $ARCH == aarch64 ]]) && echo 1 || echo 0) \ -C cluster0.VMSA_supported=$(([[ $ARCH == aarch64 ]]) && echo 1 || echo 0) \ + -C cluster0.gicv3.SRE-enable-action-on-mmap=$(([[ $ARCH == aarch64 ]]) && echo 2 || echo 0) \ + -C cluster0.gicv3.extended-interrupt-range-support=$(([[ $ARCH == aarch64 ]]) && echo 1 || echo 0) \ -C bp.smsc_91c111.enabled=true -C bp.hostbridge.userNetworking=true \ -C bp.hostbridge.userNetSubnet=192.168.42.0/24 -C bp.hostbridge.userNetPorts=127.0.0.1:5555=22 \ --data==$BAO_DEMOS_WRKDIR_IMGS/bao.bin@0x0 $(printf -- "--data=%s " $FVPR_VM_IMAGES) diff --git a/platforms/fvp-r/make.mk b/platforms/fvp-r/make.mk index f3d1d93..58f1bf3 100644 --- a/platforms/fvp-r/make.mk +++ b/platforms/fvp-r/make.mk @@ -8,6 +8,7 @@ platform: $(bao_image) fvp_args:= \ -C cache_state_modelled=0 \ + -C bp.refcounter.use_real_time=1 \ -C bp.exclusive_monitor.monitor_access_level=1 \ -C cci400.force_on_from_start=1 \ -C gic_distributor.has-two-security-states=0 \ diff --git a/platforms/fvp.mk b/platforms/fvp.mk index c6245dc..6604122 100644 --- a/platforms/fvp.mk +++ b/platforms/fvp.mk @@ -1,9 +1,9 @@ ifeq ($(ARCH_PROFILE), armv8-r) -fvp_link:=https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_AEMv8R_11.21_15_Linux64.tgz +fvp_link:=https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.28/FVP_Base_AEMv8R_11.28_23_Linux64.tgz fvp_cmd:=FVP_BaseR_AEMv8R fvp_path:=AEMv8R_base_pkg/models/Linux64_GCC-9.3/ else -fvp_link:=https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.21_15_Linux64.tgz +fvp_link:=https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.28/FVP_Base_RevC-2xAEMvA_11.28_23_Linux64.tgz fvp_cmd:=FVP_Base_RevC-2xAEMvA fvp_path:=Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3/ endif diff --git a/platforms/imx8qm/README.md b/platforms/imx8qm/README.md index 9bc5c96..a29f770 100644 --- a/platforms/imx8qm/README.md +++ b/platforms/imx8qm/README.md @@ -39,13 +39,29 @@ Setup the u-boot directory variable: export BAO_DEMOS_UBOOT=$BAO_DEMOS_WRKDIR_SRC/u-boot ``` -Download, configure and build it: +Download, configure it: ``` git clone https://github.com/u-boot/u-boot.git $BAO_DEMOS_UBOOT\ - --depth 1 --branch v2022.10 + --depth 1 --branch v2025.07 cd $BAO_DEMOS_UBOOT make imx8qm_mek_defconfig +``` + +Now you need to set the Kconfig options: + +* CONFIG_AUTOBOOT=n + +You can do it via using an interface such as `menuconfig` or just write them +directly to the config file: + +``` +echo "CONFIG_AUTOBOOT=n\n" >> $BAO_DEMOS_UBOOT/.config +``` + +And build it: + +``` make -j $(nproc) ``` @@ -67,7 +83,7 @@ Download and build it: ``` git clone https://github.com/bao-project/arm-trusted-firmware.git\ - $BAO_DEMOS_ATF --branch bao/demo --depth 1 + $BAO_DEMOS_ATF --branch bao/demo-next --depth 1 cd $BAO_DEMOS_ATF make PLAT=imx8qm bl31 ``` diff --git a/platforms/imx8qm/make.mk b/platforms/imx8qm/make.mk index 08b5f8f..de6b9fa 100644 --- a/platforms/imx8qm/make.mk +++ b/platforms/imx8qm/make.mk @@ -24,7 +24,8 @@ $(seco): include $(bao_demos)/platforms/uboot.mk uboot_image:=$(wrkdir_demo_imgs)/u-boot.bin uboot_defconfig:=imx8qm_mek_defconfig -$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig))) +uboot_cfg_frag:="CONFIG_AUTOBOOT=n\n" +$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig), $(uboot_cfg_frag))) include $(bao_demos)/platforms/atf.mk atf_image:=$(wrkdir_demo_imgs)/bl31.bin diff --git a/platforms/opensbi.mk b/platforms/opensbi.mk index 7718158..73da5c9 100644 --- a/platforms/opensbi.mk +++ b/platforms/opensbi.mk @@ -1,15 +1,22 @@ opensbi_repo:=https://github.com/bao-project/opensbi.git -opensbi_version:=bao/demo +opensbi_version:=bao/demo-next opensbi_src:=$(wrkdir_src)/opensbi +ifeq ($(OPENSBI_CROSS_COMPILE),) +$(error 'OPENSBI_CROSS_COMPILE' not set) +endif + $(opensbi_src): git clone --depth 1 --branch $(opensbi_version) $(opensbi_repo) $(opensbi_src) define build-opensbi-payload -$(strip $1): $(strip $2) $(opensbi_src) - $(MAKE) -C $(opensbi_src) PLATFORM=generic \ +$(strip $1): $(strip $2) $(opensbi_src) + $(MAKE) -C $(opensbi_src) \ + CROSS_COMPILE=$(OPENSBI_CROSS_COMPILE) \ + PLATFORM=generic \ + PLATFORM_RISCV_XLEN=$(strip $3) \ FW_PAYLOAD=y \ FW_PAYLOAD_FDT_ADDR=0x80100000\ FW_PAYLOAD_PATH=$(strip $2) - cp $(opensbi_src)/build/platform/generic/firmware/fw_payload.elf $$@ + cp $(opensbi_src)/build/platform/generic/firmware/fw_payload.bin $$@ endef diff --git a/platforms/qemu-aarch64-virt/README.md b/platforms/qemu-aarch64-virt/README.md index 9c62e98..46d52ce 100644 --- a/platforms/qemu-aarch64-virt/README.md +++ b/platforms/qemu-aarch64-virt/README.md @@ -15,7 +15,7 @@ make sure you are using version 7.2.0 or higher. If so, you can skip this step. ``` export BAO_DEMOS_QEMU=$BAO_DEMOS_WRKDIR_SRC/qemu-$ARCH git clone https://github.com/qemu/qemu.git $BAO_DEMOS_QEMU --depth 1\ - --branch v7.2.0 + --branch v10.0.2 cd $BAO_DEMOS_QEMU ./configure --target-list=aarch64-softmmu --enable-slirp make -j$(nproc) @@ -28,7 +28,7 @@ sudo make install ``` export BAO_DEMOS_UBOOT=$BAO_DEMOS_WRKDIR_SRC/u-boot git clone https://github.com/u-boot/u-boot.git $BAO_DEMOS_UBOOT --depth 1\ - --branch v2022.10 + --branch v2025.07 cd $BAO_DEMOS_UBOOT make qemu_arm64_defconfig ``` @@ -37,6 +37,7 @@ Now you need to set the Kconfig options: * CONFIG_TFABOOT=y * CONFIG_SYS_TEXT_BASE=0x60000000 +* CONFIG_AUTOBOOT=n You can do it via using an interface such as `menuconfig` or just write them directly to the config file: @@ -44,6 +45,7 @@ directly to the config file: ``` echo "CONFIG_TFABOOT=y" >> .config echo "CONFIG_SYS_TEXT_BASE=0x60000000" >> .config +echo "CONFIG_AUTOBOOT=n\n" >> $BAO_DEMOS_UBOOT/.config ``` Then build it: @@ -63,7 +65,7 @@ cp $BAO_DEMOS_UBOOT/u-boot.bin $BAO_DEMOS_WRKDIR/imgs/$PLATFORM ``` export BAO_DEMOS_ATF=$BAO_DEMOS_WRKDIR_SRC/arm-trusted-firmware git clone https://github.com/bao-project/arm-trusted-firmware.git\ - $BAO_DEMOS_ATF --branch bao/demo --depth 1 + $BAO_DEMOS_ATF --branch bao/demo-next --depth 1 cd $BAO_DEMOS_ATF make PLAT=qemu bl1 fip BL33=$BAO_DEMOS_WRKDIR/imgs/$PLATFORM/u-boot.bin\ QEMU_USE_GIC_DRIVER=QEMU_GICV3 diff --git a/platforms/qemu-aarch64-virt/make.mk b/platforms/qemu-aarch64-virt/make.mk index f2a3dcc..c7e8fd0 100644 --- a/platforms/qemu-aarch64-virt/make.mk +++ b/platforms/qemu-aarch64-virt/make.mk @@ -4,7 +4,7 @@ include $(bao_demos)/platforms/qemu.mk include $(bao_demos)/platforms/uboot.mk uboot_defconfig:=qemu_arm64_defconfig -uboot_cfg_frag:="CONFIG_SYS_TEXT_BASE=0x60000000\nCONFIG_TFABOOT=y\n" +uboot_cfg_frag:="CONFIG_SYS_TEXT_BASE=0x60000000\nCONFIG_TFABOOT=y\nCONFIG_AUTOBOOT=n\n" uboot_image:=$(wrkdir_plat_imgs)/u-boot.bin $(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig), $(uboot_cfg_frag))) @@ -36,4 +36,4 @@ run: qemu platform -device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3 -.PHONY: run \ No newline at end of file +.PHONY: run diff --git a/platforms/qemu-riscv32-virt/README.md b/platforms/qemu-riscv32-virt/README.md new file mode 120000 index 0000000..2e27ac3 --- /dev/null +++ b/platforms/qemu-riscv32-virt/README.md @@ -0,0 +1 @@ +../qemu-riscv64-virt/README.md \ No newline at end of file diff --git a/platforms/qemu-riscv32-virt/make.mk b/platforms/qemu-riscv32-virt/make.mk new file mode 100644 index 0000000..ca15627 --- /dev/null +++ b/platforms/qemu-riscv32-virt/make.mk @@ -0,0 +1,2 @@ +export RISCV_XLEN:=32 +include $(bao_demos)/platforms/qemu-riscv64-virt/make.mk diff --git a/platforms/qemu-riscv64-virt/README.md b/platforms/qemu-riscv64-virt/README.md index 301e5bd..ef7e9cf 100644 --- a/platforms/qemu-riscv64-virt/README.md +++ b/platforms/qemu-riscv64-virt/README.md @@ -15,7 +15,7 @@ make sure you are using version 7.2.0 or higher. If so, you can skip this step. ``` export BAO_DEMOS_QEMU=$BAO_DEMOS_WRKDIR_SRC/qemu-$ARCH git clone https://github.com/qemu/qemu.git $BAO_DEMOS_QEMU --depth 1\ - --branch v7.2.0 + --branch v10.0.2 cd $BAO_DEMOS_QEMU ./configure --target-list=riscv64-softmmu --enable-slirp make -j$(nproc) @@ -27,7 +27,7 @@ sudo make install ``` export BAO_DEMOS_OPENSBI=$BAO_DEMOS_WRKDIR_SRC/opensbi git clone https://github.com/bao-project/opensbi.git $BAO_DEMOS_OPENSBI\ - --depth 1 --branch bao/demo + --depth 1 --branch bao/demo-next make -C $BAO_DEMOS_OPENSBI PLATFORM=generic \ FW_PAYLOAD=y \ FW_PAYLOAD_FDT_ADDR=0x80100000\ diff --git a/platforms/qemu-riscv64-virt/make.mk b/platforms/qemu-riscv64-virt/make.mk index 507a4cc..d8c71a6 100644 --- a/platforms/qemu-riscv64-virt/make.mk +++ b/platforms/qemu-riscv64-virt/make.mk @@ -1,10 +1,11 @@ -ARCH:=riscv64 +RISCV_XLEN?=64 +ARCH:=riscv$(RISCV_XLEN) include $(bao_demos)/platforms/qemu.mk include $(bao_demos)/platforms/opensbi.mk -opensbi_image:=$(wrkdir_demo_imgs)/opensbi.elf -$(eval $(call build-opensbi-payload, $(opensbi_image), $(bao_image))) +opensbi_image:=$(wrkdir_demo_imgs)/opensbi.bin +$(eval $(call build-opensbi-payload, $(opensbi_image), $(bao_image), $(RISCV_XLEN))) platform: $(opensbi_image) @@ -12,7 +13,7 @@ instructions:=$(bao_demos)/platforms/$(PLATFORM)/README.md run: qemu platform $(call print-instructions, $(instructions), 1, true) $(qemu_cmd) -nographic\ - -M virt -cpu rv64 -m 4G -smp 4\ + -M virt -cpu rv$(RISCV_XLEN),priv_spec=v1.13.0,sstc=true -m 4G -smp 4\ -bios $(opensbi_image)\ -device virtio-net-device,netdev=net0\ -netdev user,id=net0,net=192.168.42.0/24,hostfwd=tcp:127.0.0.1:5555-:22\ diff --git a/platforms/qemu.mk b/platforms/qemu.mk index 24f821e..707c0ad 100644 --- a/platforms/qemu.mk +++ b/platforms/qemu.mk @@ -1,6 +1,6 @@ qemu_arch:=$(ARCH) qemu_repo:=https://github.com/qemu/qemu.git -qemu_version:=v7.2.0 +qemu_version:=v10.0.2 qemu_cmd:=qemu-system-$(qemu_arch) ifeq ($(shell which $(qemu_cmd)),) diff --git a/platforms/rpi4/README.md b/platforms/rpi4/README.md index 538be99..de6bdff 100644 --- a/platforms/rpi4/README.md +++ b/platforms/rpi4/README.md @@ -15,11 +15,22 @@ git clone https://github.com/raspberrypi/firmware.git $BAO_DEMOS_FW\ ``` export BAO_DEMOS_UBOOT=$BAO_DEMOS_WRKDIR_SRC/u-boot git clone https://github.com/u-boot/u-boot.git $BAO_DEMOS_UBOOT\ - --depth 1 --branch v2022.10 + --depth 1 --branch v2025.07 cd $BAO_DEMOS_UBOOT make rpi_4_defconfig ``` +Now you need to set the Kconfig options: + +* CONFIG_AUTOBOOT=n + +You can do it via using an interface such as `menuconfig` or just write them +directly to the config file: + +``` +echo "CONFIG_AUTOBOOT=n\n" >> $BAO_DEMOS_UBOOT/.config +``` + Then build it: ``` @@ -37,7 +48,7 @@ cp $BAO_DEMOS_UBOOT/u-boot.bin $BAO_DEMOS_WRKDIR_PLAT ``` export BAO_DEMOS_ATF=$BAO_DEMOS_WRKDIR_SRC/arm-trusted-firmware git clone https://github.com/bao-project/arm-trusted-firmware.git\ - $BAO_DEMOS_ATF --branch bao/demo --depth 1 + $BAO_DEMOS_ATF --branch bao/demo-next --depth 1 cd $BAO_DEMOS_ATF make PLAT=rpi4 ``` diff --git a/platforms/rpi4/make.mk b/platforms/rpi4/make.mk index e51bf17..e800cb1 100644 --- a/platforms/rpi4/make.mk +++ b/platforms/rpi4/make.mk @@ -10,7 +10,8 @@ $(firmware_images): include $(bao_demos)/platforms/uboot.mk uboot_defconfig:=rpi_4_defconfig uboot_image:=$(wrkdir_plat_imgs)/u-boot.bin -$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig))) +uboot_cfg_frag:="CONFIG_AUTOBOOT=n\n" +$(eval $(call build-uboot, $(uboot_image), $(uboot_defconfig), $(uboot_cfg_frag))) atf_image:=$(wrkdir_plat_imgs)/bl31.bin atf_plat:=rpi4 diff --git a/platforms/tx2/README.md b/platforms/tx2/README.md index edab7c9..8fa9b87 100644 --- a/platforms/tx2/README.md +++ b/platforms/tx2/README.md @@ -19,7 +19,7 @@ Download and build TF-A: ``` export BAO_DEMOS_ATF=$BAO_DEMOS_WRKDIR_SRC/arm-trusted-firmware git clone https://github.com/bao-project/arm-trusted-firmware.git\ - $BAO_DEMOS_ATF --branch bao/demo --depth 1 + $BAO_DEMOS_ATF --branch bao/demo-next --depth 1 cd $BAO_DEMOS_ATF make PLAT=tegra TARGET_SOC=t186 bl31 ``` @@ -91,8 +91,8 @@ umount $BAO_DEMOS_SDCARD Insert the sd card in the board's sd slot. -Connect to the TX2's UART using a USB-to-TTL adapter. Use a terminal -application such as `screen`. For example: +Connect to the TX2's UART using a USB-to-TTL adapter (J21 connector - P23(TX), P24(RX)). Use a +terminal application such as `screen`. For example: ``` screen /dev/ttyUSB0 115200 diff --git a/platforms/uboot.mk b/platforms/uboot.mk index 4770c8a..35aa11f 100644 --- a/platforms/uboot.mk +++ b/platforms/uboot.mk @@ -1,9 +1,12 @@ uboot_repo:=https://github.com/u-boot/u-boot.git -uboot_version:=v2022.10 +uboot_version:=v2025.10 uboot_src:=$(wrkdir_src)/u-boot $(uboot_src): git clone --depth 1 --branch $(uboot_version) $(uboot_repo) $(uboot_src) +ifneq (,$(filter $(PLATFORM),zcu102 zcu104)) + git -C $(uboot_src) apply $(bao_demos)/platforms/$(PLATFORM)/u-boot.patch +endif define build-uboot $(strip $1): $(uboot_src) @@ -11,6 +14,7 @@ $(strip $1): $(uboot_src) echo $(strip $3) >> $(uboot_src)/.config $(MAKE) -C $(uboot_src) -j$(nproc) cp $(uboot_src)/u-boot.bin $$@ + [ -f $(uboot_src)/u-boot.elf ] && cp $(uboot_src)/u-boot.elf $(wrkdir_plat_imgs)/u-boot.elf 2>/dev/null || true endef u-boot: $(wrkdir_plat_imgs)/u-boot.bin diff --git a/platforms/zcu104/README.md b/platforms/zcu104/README.md index 439f3b4..45520df 100644 --- a/platforms/zcu104/README.md +++ b/platforms/zcu104/README.md @@ -29,7 +29,7 @@ bao's final image to it: ``` cp $BAO_DEMOS_WRKDIR_PLAT/BOOT.BIN $BAO_DEMOS_SDCARD -cp $BAO_DEMOS_WRKDIR_IMGS/bao.img $BAO_DEMOS_SDCARD +cp $BAO_DEMOS_WRKDIR_IMGS/bao.bin $BAO_DEMOS_SDCARD umount $BAO_DEMOS_SDCARD ``` @@ -66,7 +66,7 @@ Quickly press any key to skip autoboot. If not possibly press `ctrl-c` until you get the u-boot prompt. Then load the bao image, and jump to it: ``` -fatload mmc 0 0x200000 bao.img; bootm start 0x200000; bootm loados; bootm go +fatload mmc 0 0x200000 bao.bin; go 0x200000 ``` You should see the firmware, bao and its guests printing on the UARTs. diff --git a/platforms/zcu104/make.mk b/platforms/zcu104/make.mk index 12f0871..0890cb0 100644 --- a/platforms/zcu104/make.mk +++ b/platforms/zcu104/make.mk @@ -10,7 +10,13 @@ bao_uboot_image:=$(wrkdir_demo_imgs)/bao.img $(prebuilt_images_src): @git clone --depth 1 --branch $(prebuilt_images_version) $(prebuilt_images_repo) $@ -$(boot_bin): $(prebuilt_images_src) +include $(bao_demos)/platforms/uboot.mk +uboot_image:=$(wrkdir_plat_imgs)/u-boot.bin +uboot_zcu_defconfig:=xilinx_zynqmp_virt_defconfig +$(eval $(call build-uboot, $(uboot_image), $(uboot_zcu_defconfig))) + +$(boot_bin): $(prebuilt_images_src) $(uboot_image) + cp -fv $(wrkdir_plat_imgs)/u-boot.elf $ 1) { + smp_kick_all_cpus(); + dcache_disable(); +- armv8_switch_to_el1(0x0, 0, 0, 0, (unsigned long)entry, +- ES_TO_AARCH64); +- } else { ++ // armv8_switch_to_el1(0x0, 0, 0, 0, (unsigned long)entry, ++ // ES_TO_AARCH64); ++ entry(0, NULL); ++ } else { + printf("FAIL: current EL is not above EL1\n"); + ret = EINVAL; + }