I noticed that you check cpu0 and use cpu0 as a representation of all other cores in the system.
I have this question, what if the cores' configurations are different? At least in the linux kernel, it treats the each core/hart as they could have a different config (extension list).
Refer to linux kernel arch/riscv/kernel/cpufeature.c
struct riscv_isainfo hart_isa[NR_CPUS];
For VLEN, I agree with you, currently mainline linux kernel doesn't support heterogeneous vector length. Although it may exist in the vendor's downstream tree, such as in a K3 (8 cores 256, 8 cores 1024). Do you have any plan to handle that?
I noticed that you check cpu0 and use cpu0 as a representation of all other cores in the system.
I have this question, what if the cores' configurations are different? At least in the linux kernel, it treats the each core/hart as they could have a different config (extension list).
Refer to linux kernel arch/riscv/kernel/cpufeature.c
struct riscv_isainfo hart_isa[NR_CPUS];For VLEN, I agree with you, currently mainline linux kernel doesn't support heterogeneous vector length. Although it may exist in the vendor's downstream tree, such as in a K3 (8 cores 256, 8 cores 1024). Do you have any plan to handle that?