oxidecomputer / oxidecomputer/hubris
Improve flexibility of clock generator configs
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
Currently, gimlet's clock gen config is in Rust literals in drv/gimlet-seq-server/src/payload.rs. It can be regenerated by running a Humility command, which is a little odd since it has nothing to do with debugging.
At minimum, we need to alter this so that we can have a different clock gen config per revision of the board.
I would argue that, ideally, we would also move the code generation out of Humility and into the build system, so that we could just check in the Aardvark file that defines the sequence of config writes. This would make it dramatically easier for folks doing bringup to substitute different configurations in Aardvark format, which is a need @refugeesus ran into this afternoon.
If we did this, we should switch Sidecar to use the same mechanism, as it contains a similar canned file.
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 reading drv/gimlet-seq-server/src/payload.rs and locating the Humility command that regenerates the clock generator configuration. Compare the Gimlet and Sidecar canned files and determine how the build system could consume an Aardvark sequence while selecting a configuration per board revision. Done means the design supports revision-specific Gimlet configurations and the proposed shared mechanism covers Sidecar.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100