If you want to boot with more than 8 harts then you also need to increase the 
CONFIG_NR_CPUS in the kernel. Along with change in QEMU - VIRT_CPUS_MAX in 
"include/hw/riscv/virt.h"

But, the limit of 8 is low and should be increased. Don't know the reason why 
its 8.
On Sep 22 2021, at 10:19 pm, Mark Wyse <wy...@cs.washington.edu> wrote:
> Hello all,
>
> Apologies if I missed the answer in the docs, but I am wondering why the virt 
> machine is limited to only 8 cores when running RISC-V 64 system emulation? I 
> am interested in booting a 16, 24, or even 32 core SMP Linux kernel with 
> OpenSBI as the bootloader on the generic virt machine before adding a custom 
> machine definition. I was able to successfully boot Linux kernel 5.9.0 with 
> OpenSBI v0.9 and 8 cores/harts with an ext4 filesystem provided by Buildroot.
>
> I poked around the docs and source code a bit, and found mention of the core 
> count limit in the docs 
> (https://qemu.readthedocs.io/en/latest/system/riscv/virt.html), but no reason 
> as to why this is the limit. It also appears that providing a custom device 
> tree blob and setting QEMU's -smp option to match might overcome this 
> limitation, but it would be better if more than 8 cores was supported 
> directly.
>
> Best,
> Mark
>
> Mark Wyse
> pronouns: he/him/his
> PhD Student
> Paul G. Allen School of Computer Science & Engineering
> University of Washington
>
>
>
>
>
>
>

Reply via email to