chipsalliance / rocket-chip

Rocket Chip Generator
Other
3.2k stars 1.12k forks source link

Multicore RocketChip booting Linux #712

Closed poinu closed 7 years ago

poinu commented 7 years ago

We have built a dual core RocketChip verilator emulator using the configuration DualCoreConfig privided in the repository. The build passes all tests, but we are having a hard time booting the Linux kernel and getting it recognize both cores of the RocketChip. The kernel has been configured with SMP option enabled (set to 8 CPUs, the default).

We are able to boot the kernel image on spike, simulating 4 processors with the option -p, and the kernel recognizes all 4 cores. However, when run in the DualCoreConfig verilator emulator, only one core is recognized.

Our built is based in older priv-1.9 (I believe) commits as we haven't been able to boot the kernel with the latter priv-1.10 changes (not even when using DefaultConfig nor spike).

Are we missing something? Any help is appreciated.

terpstra commented 7 years ago

The bbl version in riscv-pk/priv-1.10 disables core 0. Is that maybe your problem?

poinu commented 7 years ago

Hi @terpstra for you answer. To be honest I had completely forgotten about this issue... If I recall correctly, it had something to do with the bootrom used at that time. I think our build was based on priv-1.9, so I don't think the faced the bbl issue you describe, but thank you anyway :)

I'll just close the issue.