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

Register type RWL-S are NOT locked after the first write #596

Closed
lindadong919 opened this issue Sep 27, 2024 · 2 comments · Fixed by #597
Closed

Register type RWL-S are NOT locked after the first write #596

lindadong919 opened this issue Sep 27, 2024 · 2 comments · Fixed by #597
Labels
question Further information is requested

Comments

@lindadong919
Copy link

Hello,

Our test found the RWL-S type registers are writable more than once, e.g. fuse_key_manifest_pk_hash[], fuse_owner_pk_hash, fuse_idevid_cert_attr[], fuse_idevid_manuf_hsm_id[], fuse_fmc_key_manifest_svn, fuse_runtime_svn[], fuse_lms_verify, fuse_lms_revocation, fuse_soc_stepping_id, fuse_life_cycle.

Can you please take a look?

Thanks,
Linda Dong

@calebofearth
Copy link
Collaborator

Hi Linda,

This is the intended behavior. These registers are designed to be "lockable", but not write-once. ("RWL-S" stands for Read-Write-Lock--Sticky). During the boot flow, SoC shall populate the fuses and then set the fuse wr done bit, as described in the Integration spec and in the CPTRA_FUSE_WR_DONE register. Setting CPTRA_FUSE_WR_DONE locks the fuses from any subsequent writes until cold reset.

I do see an ambiguous statement in the Integration spec (here) that should be clarified. The intent is that Fuses are only programmable at a specific stage during boot up, and never again during runtime. I submitted a PR to clarify the spec.

@calebofearth calebofearth added the question Further information is requested label Sep 27, 2024
@lindadong919
Copy link
Author

lindadong919 commented Sep 30, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants