[build system] Rename `changes_otp` to something more general
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
Currently, the `fpga_params` block includes a `changes_otp` boolean to indicate whether or not a test changes OTP values. Since changed OTP values represent chip or FPGA board states that survive and propagate to subsequent tests, any test that makes such changes needs to clean up before proceeding to the next test.
The name of this flag (`changes_otp`) is too specific: there are other kinds of state information which can survive to subsequent tests and may require cleanup. One such example is flash INFO pages; any test that modifies an info page can propagate state to subsequent tests and cause the subsequent test to fail for mysterious reasons.
Examples:
- Minimum security version tests.
- Boot Slot tests.
- Ownership transfer tests.
The `changes_otp` flag should be made more general (e.g. `requires_cleanup = <...>`). The value passed to this flag should perhaps be more descriptive of why the test requires cleanup, and, if necessary, specialize cleanup actions (so far, it seems like clearing the bitstream is all that is required).
Contributor guide
Research direction
Start by locating the fpga_params block and every use of changes_otp, then review the cleanup behavior for tests that alter OTP values or flash INFO pages. Determine the general flag name and value semantics from those call sites. Done means the rename and cleanup handling cover the listed minimum security version, Boot Slot, and ownership transfer tests without leaving state for subsequent tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100