Thanks Rahul,
After some digging I came to the same conclusions. I'll dig deeper to see
if there are any impacts in raising max CPU count for RISC-V Virt machine,
but I definitely agree that it should be set higher.
FWIW, I was able to run a 32-core kernel after adjusting code and kernel
appropriately and don't recall any warning or error messages popping up.
Best,
Mark
On Wed, Sep 29, 2021 at 10:16 AM Rahul Pathak
wrote:
> 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 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
>
>