riscv-software-src / riscv-software-src/opensbi
Wrong boot CPUID on device tree header
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.5k
- Forks
- 712
- PR merge metrics
- No merged PRs in 30d
Description
Currently the device tree passed to the supervisor software does not properly set the boot_cpuid_phys field in the header. It always returns 0 (I guess the default value set by QEMU in my case). The firmware should be able to modify this value so that software that relies in this field properly works.
The system I am currently using is qemu-system-riscv64 with the opensbi-dynamic.bin version.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how OpenSBI constructs the device tree header and assigns boot_cpuid_phys. Reproduce the issue with qemu-system-riscv64 and opensbi-dynamic.bin, then verify that the firmware-provided header contains the boot CPU identifier instead of 0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100