Message ID | 20250124035959.45499-2-cuiyunhui@bytedance.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Enable Zicbom in usermode | expand |
Context | Check | Description |
---|---|---|
conchuod/vmtest-for-next-PR | success | PR summary |
conchuod/patch-1-test-1 | success | .github/scripts/patches/tests/build_rv32_defconfig.sh took 125.02s |
conchuod/patch-1-test-2 | success | .github/scripts/patches/tests/build_rv64_clang_allmodconfig.sh took 1113.99s |
conchuod/patch-1-test-3 | success | .github/scripts/patches/tests/build_rv64_gcc_allmodconfig.sh took 1380.96s |
conchuod/patch-1-test-4 | success | .github/scripts/patches/tests/build_rv64_nommu_k210_defconfig.sh took 22.30s |
conchuod/patch-1-test-5 | success | .github/scripts/patches/tests/build_rv64_nommu_virt_defconfig.sh took 24.09s |
conchuod/patch-1-test-6 | success | .github/scripts/patches/tests/checkpatch.sh took 0.49s |
conchuod/patch-1-test-7 | success | .github/scripts/patches/tests/dtb_warn_rv64.sh took 43.29s |
conchuod/patch-1-test-8 | success | .github/scripts/patches/tests/header_inline.sh took 0.01s |
conchuod/patch-1-test-9 | success | .github/scripts/patches/tests/kdoc.sh took 0.66s |
conchuod/patch-1-test-10 | success | .github/scripts/patches/tests/module_param.sh took 0.02s |
conchuod/patch-1-test-11 | success | .github/scripts/patches/tests/verify_fixes.sh took 0.00s |
conchuod/patch-1-test-12 | success | .github/scripts/patches/tests/verify_signedoff.sh took 0.05s |
bjorn/build-rv32-defconfig | success | build-rv32-defconfig |
bjorn/build-rv64-clang-allmodconfig | success | build-rv64-clang-allmodconfig |
bjorn/build-rv64-gcc-allmodconfig | success | build-rv64-gcc-allmodconfig |
bjorn/build-rv64-nommu-k210-defconfig | success | build-rv64-nommu-k210-defconfig |
bjorn/build-rv64-nommu-k210-virt | success | build-rv64-nommu-k210-virt |
bjorn/checkpatch | success | checkpatch |
bjorn/dtb-warn-rv64 | success | dtb-warn-rv64 |
bjorn/header-inline | success | header-inline |
bjorn/kdoc | success | kdoc |
bjorn/module-param | success | module-param |
bjorn/verify-fixes | success | verify-fixes |
bjorn/verify-signedoff | success | verify-signedoff |
diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index c0916ed318c2..60d180b98f52 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -30,6 +30,7 @@ #define NUM_ALPHA_EXTS ('z' - 'a' + 1) static bool any_cpu_has_zicboz; +static bool any_cpu_has_zicbom; unsigned long elf_hwcap __read_mostly; @@ -87,6 +88,8 @@ static int riscv_ext_zicbom_validate(const struct riscv_isa_ext_data *data, pr_err("Zicbom disabled as cbom-block-size present, but is not a power-of-2\n"); return -EINVAL; } + + any_cpu_has_zicbom = true; return 0; } @@ -944,6 +947,11 @@ void __init riscv_user_isa_enable(void) current->thread.envcfg |= ENVCFG_CBZE; else if (any_cpu_has_zicboz) pr_warn("Zicboz disabled as it is unavailable on some harts\n"); + + if (riscv_has_extension_unlikely(RISCV_ISA_EXT_ZICBOM)) + current->thread.envcfg |= ENVCFG_CBCFE; + else if (any_cpu_has_zicbom) + pr_warn("Zicbom disabled as it is unavailable on some harts\n"); } #ifdef CONFIG_RISCV_ALTERNATIVE