lowRISC / lowRISC/opentitan

[manuf] reduce code size of provisioning binaries

Open
#24,035 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component:Software Manufacturing Type:Task
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

To optimize provisioning performance, the code sizes of the provisioning binaries below should be reduced:
1. CP init
2. FT individualize
3. FT personalize

One potential strategy to reduce code size is to refactor the provisioning [libraries](https://github.com/lowRISC/opentitan/tree/master/sw/device/silicon_creator/manuf/lib) to silicon_creator drivers instead of DIFs and testutils. Other strategies should be investigated as well.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the provisioning libraries in sw/device/silicon_creator/manuf/lib and identify how CP init, FT individualize, and FT personalize use DIFs and testutils. Investigate the proposed silicon_creator-driver refactor alongside other size-reduction strategies, then verify that all three provisioning binaries are smaller; the issue does not specify target sizes.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, security
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.