As Khem indicates below.  The full set of patches need to go together.

Without the tune selection patches, using tune features to select kernel 
options won't work properly.  It does look like this is an issue with a 
backport.

(There is nothing wrong with using the 6.12 kernel, the issue is using the 
TUNE_FEATURES that are not implemented.)

On 8/29/25 11:34 AM, Khem Raj wrote:
On Fri, Aug 29, 2025 at 7:11 AM Gyorgy Sarvari via
lists.openembedded.org <[email protected]>
wrote:

Since this patch, it looks like qemuriscv64 doesn't boot in Walnascar.

I'm using a vanilla core-image-sato with some extra added applications.
I can't really figure out how to save the console output from qemu, so
all I offer is a useless screenshot that is not showing anything because
it scrolled too far: https://postimg.cc/G8sqjK0b

Once I remove this patch, it boots again. Am I missing something on my
end, or is this something with the combo of Walnascar and this patch?

On 7/20/25 22:04, Steve Sakoman via lists.openembedded.org wrote:
From: Mark Hatle <[email protected]>

Allow the risc-v TUNE_FEATURES to select specific ISA (kconfig) selections
in the kernel config via config fragments selected by KERNEL_FEATURES.

This allows the following items to be selected dynamically:

     CONFIG_ARCH_RV32I
     CONFIG_ARCH_RV64I
     CONFIG_FPU
     CONFIG_RISCV_ISA_C
     CONFIG_RISCV_ISA_V
     CONFIG_RISCV_ISA_ZBB
     CONFIG_RISCV_ISA_ZICBOM
     CONFIG_RISCV_ISA_ZICBOZ
     CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI

Note: Some ISA options, such as CONFIG_RISCV_ISA_C may be reenabled by other
options such as CONFIG_EFI.  This is properly reported by the configuration
tooling.

Signed-off-by: Mark Hatle <[email protected]>
Signed-off-by: Antonin Godard <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
(cherry picked from commit 45a1b5aa6abc9007d0d87efc2d740b5564a209dd)
Signed-off-by: Steve Sakoman <[email protected]>
---
  meta/recipes-kernel/linux/linux-yocto.inc | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)

diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
b/meta/recipes-kernel/linux/linux-yocto.inc
index 389329030d..4d0a726bb6 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -37,6 +37,22 @@ KERNEL_FEATURES:append = " 
${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/
  KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 
'features/numa/numa.scc', '', d)}"
  KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 
'cfg/fs/vfat.scc', '', d)}"

+KERNEL_FEATURES_RISCV = "\
+    arch/riscv/tunes/riscv-isa-clear.scc \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 32 i m a', 
'arch/riscv/tunes/riscv-isa-rv32i.scc',  '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 64 i m a', 
'arch/riscv/tunes/riscv-isa-rv64i.scc',  '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'f d',         
'arch/riscv/tunes/riscv-isa-fpu.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'c',           
'arch/riscv/tunes/riscv-isa-c.scc',      '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'v',           
'arch/riscv/tunes/riscv-isa-v.scc',      '', d)} \
+    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zba',       
'arch/riscv/tunes/riscv-isa-zba.scc',    '', d)} \
+    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zbb',       
'arch/riscv/tunes/riscv-isa-zbb.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'zbc',         
'arch/riscv/tunes/riscv-isa-zbc.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'zicbom',      
'arch/riscv/tunes/riscv-isa-zicbom.scc', '', d)} \
+    "
+
+KERNEL_FEATURES:append:riscv32 = " ${KERNEL_FEATURES_RISCV}"
+KERNEL_FEATURES:append:riscv64 = " ${KERNEL_FEATURES_RISCV}"
+

I think this patch needs [1] backported as well which I would not
recommend. Its better to revert this
patch from walnascar.

[1] 
https://git.yoctoproject.org/poky/commit/?id=3c5c4cfa6bf4aa88bcd69e2688fdceea6a655165

  # A KMACHINE is the mapping of a yocto $MACHINE to what is built
  # by the kernel. This is typically the branch that should be built,
  # and it can be specific to the machine or shared








-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#222730): 
https://lists.openembedded.org/g/openembedded-core/message/222730
Mute This Topic: https://lists.openembedded.org/mt/114257145/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to