Skip to content

[PW_SID:1092025] riscv: add SBI Supervisor Software Events support#1897

Closed
linux-riscv-bot wants to merge 6 commits into
workflow__riscv__fixesfrom
pw1092025
Closed

[PW_SID:1092025] riscv: add SBI Supervisor Software Events support#1897
linux-riscv-bot wants to merge 6 commits into
workflow__riscv__fixesfrom
pw1092025

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 1092025 applied to workflow__riscv__fixes

Name: riscv: add SBI Supervisor Software Events support
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1092025
Version: 9

Linux RISC-V bot and others added 6 commits May 2, 2026 08:13
Add needed definitions for SBI Supervisor Software Events extension [1].
This extension enables the SBI to inject events into supervisor software
much like ARM SDEI.

[1] https://lists.riscv.org/g/tech-prs/message/515

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Co-developed-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The SBI SSE extension allows the supervisor software to be notified by
the SBI of specific events that are not maskable. The context switch is
handled partially by the firmware which will save registers a6 and a7.
When entering kernel we can rely on these 2 registers to setup the stack
and save all the registers.

Since SSE events can be delivered at any time to the kernel, including
during exception handling, we need a way to locate the current_task for
context tracking. On RISC-V, it is stored in scratch when in user space
or tp when in kernel space (in which case SSCRATCH is zero). But at the
beginning of exception handling, SSCRATCH is used to swap tp and
check the origin of the exception. If interrupted at that point, then,
there is no way to reliably know where is located the current
task_struct. Even checking the interruption location won't work as SSE
event can be nested on top of each other so the original interruption
site might be lost at some point. In order to retrieve it reliably,
store the current task in an additional __sse_entry_task per_cpu array.
This array is then used to retrieve the current task based on the
hart ID that is passed to the SSE event handler in a6.

That being said, the way the current task struct is stored should
probably be reworked to find a better reliable alternative.

Since each event (and each CPU for local events) have their own
context and can preempt each other, allocate a stack (and a shadow stack
if needed) for each of them (and for each cpu for local events).

The SSE handler runs as a synthetic handler episode, but completion must
resume the context that was interrupted by the SSE event.  Preserve stvec
and, when the hypervisor extension is present, hstatus across do_sse() so
the handler episode does not leak trap-vector or virtualization state into
the interrupted context.

When completing the event, if we were coming from kernel with interrupts
disabled, simply return there. If coming from userspace or kernel with
interrupts enabled, simulate an interrupt exception by setting IE_SIE in
CSR_IP to allow delivery of signals to user task. For instance this can
happen when a RAS event has been generated by a user application and a
SIGBUS has been sent to a task.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Co-developed-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add a driver-level interface for RISC-V SSE support.  The interface lets
Linux clients register handlers and enable, disable and complete SSE
events.  It will be used by PMU and GHES drivers.

Co-developed-by: Himanshu Chauhan <hchauhan@ventanamicro.com>
Signed-off-by: Himanshu Chauhan <hchauhan@ventanamicro.com>
Signed-off-by: Clément Léger <cleger@rivosinc.com>
Co-developed-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
In order to use SSE within PMU drivers, register an SSE handler for the
local PMU event. Reuse the existing overflow IRQ handler and pass
appropriate pt_regs. Add a config option RISCV_PMU_SBI_SSE to select event
delivery via SSE events.

When the SSE path is used, also honor the return value from
perf_event_overflow(). If perf core throttles or disables an event, do not
immediately restart the overflowed counters from the SSE handler.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Co-developed-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
This module, once loaded, will execute a series of tests using the SSE
framework. The provided script will check for any error reported by the
test module.

Add stress={0,1,2} modes so the same module can cover repeated handler
entry, SBI calls from a handler, PMU activity and re-injection.  Also make
the tests tolerate events that are already registered, and keep the
attribute read buffer lifetime local to the SBI call.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Co-developed-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 139.42 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1149.85 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1698.55 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.78 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.96 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.10 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 86.00 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
kdoc
Desc: Detects for kdoc errors
Duration: 0.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v9,1/5] riscv: add SBI SSE extension definitions"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 138.79 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2216.83 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 3027.46 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.57 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.94 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 3.97 seconds
Result: WARNING
Output:

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#127: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 508 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 9df7ae7c1fa0 ("riscv: add support for SBI Supervisor Software Events extension") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 1 warnings, 0 checks, 508 lines checked
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 87.92 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
kdoc
Desc: Detects for kdoc errors
Duration: 0.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.46 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v9,2/5] riscv: add support for SBI Supervisor Software Events extension"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v9,3/5] drivers: firmware: add riscv SSE support"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v9,3/5] drivers: firmware: add riscv SSE support"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 121.29 seconds
Result: ERROR
Output:

Full log:
W: Support for running offline not available (unshare: unshare failed: Operation not permitted)
I: config: PASS in 0:00:32.302470
I: default: FAIL in 0:01:22.985936
I: kernel: SKIP in 0:00:00.000007
I: xipkernel: SKIP in 0:00:00.000005
I: modules: FAIL in 0:00:00.078611
I: dtbs: PASS in 0:00:01.606072
I: dtbs-legacy: SKIP in 0:00:00.003699
I: debugkernel: SKIP in 0:00:00.000004
I: headers: PASS in 0:00:01.034363
I: build output in /build/tmp.5hfP47aKIA
tuxmake --download-all-korg-gcc-toolchains --target-arch=riscv --kconfig=rv32_defconfig --toolchain=llvm --wrapper=ccache --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake --environment=KCFLAGS=-ffile-prefix-map=/build/tmp.5hfP47aKIA/build/= --runtime=null --image=docker.io/tuxmake/riscv_clang CROSS_COMPILE=riscv64-linux- config default kernel xipkernel modules dtbs dtbs-legacy debugkernel headers
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' rv32_defconfig
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang'
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
  186 |         /*
      |         ^
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive
  169 | #ifdef CONFIG_SMP
      |  ^
2 errors generated.
make[5]: *** [/build/tmpnv657c5k/scripts/Makefile.build:434: arch/riscv/kernel/sbi_sse_entry.o] Error 1
make[5]: Target 'arch/riscv/kernel/' not remade because of errors.
make[4]: *** [/build/tmpnv657c5k/scripts/Makefile.build:548: arch/riscv/kernel] Error 2
make[4]: Target 'arch/riscv/' not remade because of errors.
make[3]: *** [/build/tmpnv657c5k/scripts/Makefile.build:548: arch/riscv] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/tmpnv657c5k/Makefile:2141: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/tmpnv657c5k/Makefile:248: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target '__all' not remade because of errors.
rm -rf /build/tmp.5hfP47aKIA/build/modinstall
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=/build/tmp.5hfP47aKIA/build/modinstall ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' modules_install
make[3]: *** No rule to make target 'modules.order', needed by '/build/tmp.5hfP47aKIA/build/modinstall/lib/modules/7.1.0-rc1-00011-g79d498fc124e/modules.order'.
make[3]: *** No rule to make target 'modules.builtin', needed by '/build/tmp.5hfP47aKIA/build/modinstall/lib/modules/7.1.0-rc1-00011-g79d498fc124e/modules.builtin'.
make[3]: *** No rule to make target 'modules.builtin.modinfo', needed by '/build/tmp.5hfP47aKIA/build/modinstall/lib/modules/7.1.0-rc1-00011-g79d498fc124e/modules.builtin.modinfo'.
make[3]: Target '__modinst' not remade because of errors.
make[2]: *** [/build/tmpnv657c5k/Makefile:2047: modules_install] Error 2
make[1]: *** [/build/tmpnv657c5k/Makefile:248: __sub-make] Error 2
make[1]: Target 'modules_install' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'modules_install' not remade because of errors.
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build INSTALL_DTBS_PATH=/build/tmp.5hfP47aKIA/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs
rm -rf /build/tmp.5hfP47aKIA/build/dtbsinstall
mkdir -p /build/tmp.5hfP47aKIA/build/dtbsinstall/dtbs
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build INSTALL_DTBS_PATH=/build/tmp.5hfP47aKIA/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1778335527 --clamp-mtime -caf /build/tmp.5hfP47aKIA/build/dtbs.tar -C /build/tmp.5hfP47aKIA/build/dtbsinstall dtbs
rm -rf /build/tmp.5hfP47aKIA/build/install_hdr
make --silent --keep-going --jobs=48 O=/build/tmp.5hfP47aKIA/build INSTALL_HDR_PATH=/build/tmp.5hfP47aKIA/build/install_hdr/ ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' headers_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1778335527 --clamp-mtime -caf /build/tmp.5hfP47aKIA/build/headers.tar -C /build/tmp.5hfP47aKIA/build/install_hdr .
warnings/errors:
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 737.91 seconds
Result: ERROR
Output:

Redirect to /build/tmp.oDyC9DKLhU and /build/tmp.BX2VCnkLzU
Tree base:
a28ddf7cb0a20 ("drivers: firmware: add riscv SSE support")
Building the whole tree with the patch
error:
Warning: /build/tmpnv657c5k/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:245 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive



real	12m11.754s
user	474m22.159s
sys	82m49.490s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1022.26 seconds
Result: ERROR
Output:

Redirect to /build/tmp.6zKZkdXnhF and /build/tmp.W916gsa1bk
Tree base:
a28ddf7cb0a20 ("drivers: firmware: add riscv SSE support")
Building the whole tree with the patch
error:
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:186:9: error: unterminated comment
/build/tmpnv657c5k/arch/riscv/kernel/sbi_sse_entry.S:169: error: unterminated #ifdef
Warning: /build/tmpnv657c5k/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:245 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!



real	16m55.742s
user	666m40.830s
sys	102m24.616s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.80 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.11 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.46 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 85.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
kdoc
Desc: Detects for kdoc errors
Duration: 0.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
module-param
Desc: Detect module_param changes
Duration: 0.28 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v9,4/5] perf: RISC-V: add support for SSE event"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 121.02 seconds
Result: ERROR
Output:

Full log:
W: Support for running offline not available (unshare: unshare failed: Operation not permitted)
I: config: PASS in 0:00:32.225421
I: default: FAIL in 0:01:22.548789
I: kernel: SKIP in 0:00:00.000011
I: xipkernel: SKIP in 0:00:00.000004
I: modules: FAIL in 0:00:00.084945
I: dtbs: PASS in 0:00:01.600193
I: dtbs-legacy: SKIP in 0:00:00.004807
I: debugkernel: SKIP in 0:00:00.000005
I: headers: PASS in 0:00:01.046799
I: build output in /build/tmp.mmyizNiU1w
tuxmake --download-all-korg-gcc-toolchains --target-arch=riscv --kconfig=rv32_defconfig --toolchain=llvm --wrapper=ccache --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake --environment=KCFLAGS=-ffile-prefix-map=/build/tmp.mmyizNiU1w/build/= --runtime=null --image=docker.io/tuxmake/riscv_clang CROSS_COMPILE=riscv64-linux- config default kernel xipkernel modules dtbs dtbs-legacy debugkernel headers
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' rv32_defconfig
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang'
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
  186 |         /*
      |         ^
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive
  169 | #ifdef CONFIG_SMP
      |  ^
2 errors generated.
make[5]: *** [/build/tmph__25l9x/scripts/Makefile.build:434: arch/riscv/kernel/sbi_sse_entry.o] Error 1
make[5]: Target 'arch/riscv/kernel/' not remade because of errors.
make[4]: *** [/build/tmph__25l9x/scripts/Makefile.build:548: arch/riscv/kernel] Error 2
make[4]: Target 'arch/riscv/' not remade because of errors.
make[3]: *** [/build/tmph__25l9x/scripts/Makefile.build:548: arch/riscv] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/tmph__25l9x/Makefile:2141: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/tmph__25l9x/Makefile:248: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target '__all' not remade because of errors.
rm -rf /build/tmp.mmyizNiU1w/build/modinstall
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=/build/tmp.mmyizNiU1w/build/modinstall ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' modules_install
make[3]: *** No rule to make target 'modules.order', needed by '/build/tmp.mmyizNiU1w/build/modinstall/lib/modules/7.1.0-rc1-00012-g83a0666e1742/modules.order'.
make[3]: *** No rule to make target 'modules.builtin', needed by '/build/tmp.mmyizNiU1w/build/modinstall/lib/modules/7.1.0-rc1-00012-g83a0666e1742/modules.builtin'.
make[3]: *** No rule to make target 'modules.builtin.modinfo', needed by '/build/tmp.mmyizNiU1w/build/modinstall/lib/modules/7.1.0-rc1-00012-g83a0666e1742/modules.builtin.modinfo'.
make[3]: Target '__modinst' not remade because of errors.
make[2]: *** [/build/tmph__25l9x/Makefile:2047: modules_install] Error 2
make[1]: *** [/build/tmph__25l9x/Makefile:248: __sub-make] Error 2
make[1]: Target 'modules_install' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'modules_install' not remade because of errors.
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build INSTALL_DTBS_PATH=/build/tmp.mmyizNiU1w/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs
rm -rf /build/tmp.mmyizNiU1w/build/dtbsinstall
mkdir -p /build/tmp.mmyizNiU1w/build/dtbsinstall/dtbs
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build INSTALL_DTBS_PATH=/build/tmp.mmyizNiU1w/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1778335527 --clamp-mtime -caf /build/tmp.mmyizNiU1w/build/dtbs.tar -C /build/tmp.mmyizNiU1w/build/dtbsinstall dtbs
rm -rf /build/tmp.mmyizNiU1w/build/install_hdr
make --silent --keep-going --jobs=48 O=/build/tmp.mmyizNiU1w/build INSTALL_HDR_PATH=/build/tmp.mmyizNiU1w/build/install_hdr/ ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' headers_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1778335527 --clamp-mtime -caf /build/tmp.mmyizNiU1w/build/headers.tar -C /build/tmp.mmyizNiU1w/build/install_hdr .
warnings/errors:
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 736.69 seconds
Result: ERROR
Output:

Redirect to /build/tmp.YLc1RNXLyd and /build/tmp.mCExEsUZe8
Tree base:
79d498fc124e7 ("perf: RISC-V: add support for SSE event")
Building the whole tree with the patch
error:
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:186:2: error: unterminated /* comment
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:169:2: error: unterminated conditional directive
Warning: /build/tmph__25l9x/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:245 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!



real	12m10.439s
user	473m25.251s
sys	82m53.346s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1022.81 seconds
Result: ERROR
Output:

Redirect to /build/tmp.5CzcKPkqZ0 and /build/tmp.39eN8OGzfe
Tree base:
79d498fc124e7 ("perf: RISC-V: add support for SSE event")
Building the whole tree with the patch
error:
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:186:9: error: unterminated comment
/build/tmph__25l9x/arch/riscv/kernel/sbi_sse_entry.S:169: error: unterminated #ifdef
Warning: /build/tmph__25l9x/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:245 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!



real	16m56.403s
user	667m40.483s
sys	102m20.506s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.02 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 2.55 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 85.07 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
kdoc
Desc: Detects for kdoc errors
Duration: 0.93 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
module-param
Desc: Detect module_param changes
Duration: 1.25 seconds
Result: ERROR
Output:

Was 0 now: 1
Detected module_param
+module_param(stress, int, 0444);


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.55 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v9,5/5] selftests/riscv: add SSE test module"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot force-pushed the workflow__riscv__fixes branch 2 times, most recently from 2d4fcdd to cd9d421 Compare May 14, 2026 08:49
@linux-riscv-bot linux-riscv-bot deleted the pw1092025 branch May 17, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants