chipsalliance / chipsalliance/dromajo

Multicore configuration should dump single boot ROM

Open
#79 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
244
Forks
69
PR merge metrics
No merged PRs in 30d

Description

The method of booting the system from multiple boot ROM files, as implemented in PR #76, is not the most elegant solution.

For instance, when the system only has a single boot memory, which is usually the case, it becomes challenging to place multiple generated files into that single memory space without resorting to messy workarounds.

The proposed solution is to create a single boot code file that will be divided into N sections, where N is the number of cores. Each core will generate its own recovery code and write it to its designated section. In addition to the recovery code, each core will initiate with a preamble code that reads the hart_id and calculates the PC based on that ID.

I started implementing this, please let me know if you have any suggestions or concerns.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing PR #76 and the existing multicore boot ROM generation described in this issue. Trace how separate boot ROM files are currently produced, then assess the proposed single file divided into per-core sections, including each core's recovery code and hart_id-based preamble. Done means the single-boot-memory case can consume the generated file for all cores.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.