Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick to earlgrey_1.0.0: [ownership] Initialize owner configuration #24873

Merged
merged 5 commits into from
Oct 25, 2024

Conversation

cfrantz
Copy link
Contributor

@cfrantz cfrantz commented Oct 24, 2024

This is a manual cherrypick of #24190.

Depending on the ownership_state, initialize the owner configuration
appropriately.

  • Locked states initialize the chip with a single configuration and make
    sure the two owner pages are identical.
  • Unlocked states initialize the chip with an A/B configuration based on
    the contents of each of the owner pages.
  • The No-Owner state normally performs no initialization. However, a
    weak function is introduced to allow FPGA builds to link a testonly
    module that supplies the default testing owner configuration.

In the event the primary_bl0_slot is neither `SlotA` or `SlotB`, default
to SlotA rather than boot-looping forever.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 993abff)
The fake owner keys include:
- An owner key.
- An activate key.
- An unlock key.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 56ae8ff)
Add the keys from `rom_ext/keys/fake` to this subdirectory as appliction
keys.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit a9b6d98)
In order to avoid requiring an initial ownership transfer as a
prerequisite to running tests on the FPGA, we allow the FPGA to
automatically transition itself to the in-repo test owner.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit b436c1d)
Depending on the `ownership_state`, initialize the owner configuration
appropriately.
- Locked states initialize the chip with a single configuration and make
  sure the two owner pages are identical.
- Unlocked states initialize the chip with an A/B configuration based on
  the contents of each of the owner pages.
- The No-Owner state normally performs no initialization.  However, a
  weak function is introduced to allow FPGA builds to link a `testonly`
  module that supplies the default testing owner configuration.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 71c5cfb)
@cfrantz cfrantz requested review from a team as code owners October 24, 2024 18:29
@cfrantz cfrantz merged commit 57fb993 into lowRISC:earlgrey_1.0.0 Oct 25, 2024
28 checks passed
@cfrantz cfrantz added the CherryPick:master This PR should be cherry-picked to master label Oct 25, 2024
Copy link

Successfully created backport PR for master:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CherryPick:master This PR should be cherry-picked to master
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants