diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eff70eb8..788d93c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,6 +48,7 @@ on: - arm-zephyr-eabi - microblazeel-zephyr-elf - mips-zephyr-elf + - or1k-zephyr-elf - riscv64-zephyr-elf - rx-zephyr-elf - sparc-zephyr-elf @@ -176,6 +177,7 @@ jobs: arm-zephyr-eabi) build_target_arm_zephyr_eabi="y";; microblazeel-zephyr-elf) build_target_microblazeel_zephyr_elf="y";; mips-zephyr-elf) build_target_mips_zephyr_elf="y";; + or1k-zephyr-elf) build_target_or1k_zephyr_elf="y";; riscv64-zephyr-elf) build_target_riscv64_zephyr_elf="y";; rx-zephyr-elf) build_target_rx_zephyr_elf="y";; sparc-zephyr-elf) build_target_sparc_zephyr_elf="y";; @@ -228,6 +230,7 @@ jobs: build_target_arm_zephyr_eabi="y" build_target_microblazeel_zephyr_elf="y" build_target_mips_zephyr_elf="y" + build_target_or1k_zephyr_elf="y" build_target_riscv64_zephyr_elf="y" build_target_rx_zephyr_elf="y" build_target_sparc_zephyr_elf="y" @@ -320,6 +323,7 @@ jobs: [ "${build_target_arm_zephyr_eabi}" == "y" ] && MATRIX_TARGETS+='"arm-zephyr-eabi",' [ "${build_target_microblazeel_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"microblazeel-zephyr-elf",' [ "${build_target_mips_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"mips-zephyr-elf",' + [ "${build_target_or1k_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"or1k-zephyr-elf",' [ "${build_target_riscv64_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"riscv64-zephyr-elf",' [ "${build_target_rx_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"rx-zephyr-elf",' [ "${build_target_sparc_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"sparc-zephyr-elf",' @@ -1827,6 +1831,10 @@ jobs: mips-zephyr-elf) PLATFORM_ARGS+="-p qemu_malta " ;; + or1k-zephyr-elf) + # TODO: Enable qemu_or1k when zephyrproject-rtos/zephyr#98160 is merged + # PLATFORM_ARGS+="-p qemu_or1k " + ;; riscv64-zephyr-elf) PLATFORM_ARGS+="-p qemu_riscv32 " PLATFORM_ARGS+="-p qemu_riscv32e " diff --git a/README.md b/README.md index d4f6cc4b..ebbb3c0e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ The toolchains for the following target architectures are supported: - Microblaze (32-bit) - MIPS (32-bit and 64-bit) - Nios II +- OpenRISC 1000 - RISC-V (32-bit and 64-bit; RV32I, RV32E, RV64I) - RX - SPARC (32-bit and 64-bit; SPARC V8, SPARC V9) diff --git a/cmake/zephyr/gnu/target.cmake b/cmake/zephyr/gnu/target.cmake index b080515f..205958c3 100644 --- a/cmake/zephyr/gnu/target.cmake +++ b/cmake/zephyr/gnu/target.cmake @@ -11,6 +11,7 @@ set(CROSS_COMPILE_TARGET_riscv riscv64-zephyr-elf) set(CROSS_COMPILE_TARGET_mips mips-zephyr-elf) set(CROSS_COMPILE_TARGET_rx rx-zephyr-elf) set(CROSS_COMPILE_TARGET_microblaze microblazeel-zephyr-elf) +set(CROSS_COMPILE_TARGET_or1k or1k-zephyr-elf) set(CROSS_COMPILE_TARGET_xtensa xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf) # ARC uses the same source tree for both ARCv2 & ARCv3 architectures, diff --git a/configs/or1k-zephyr-elf.config b/configs/or1k-zephyr-elf.config new file mode 100644 index 00000000..0ead3dbb --- /dev/null +++ b/configs/or1k-zephyr-elf.config @@ -0,0 +1,6 @@ +CT_CONFIG_VERSION="3" +CT_EXPERIMENTAL=y +CT_ARCH_OPENRISC=y +CT_TARGET_CFLAGS="-ftls-model=local-exec" +CT_TARGET_VENDOR="zephyr" +CT_MULTILIB=y