Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
318e72e
[fix] AXI mbox user warm reset fix (#2523)
mhatrevi Sep 22, 2025
9573a41
Update ROM README (#2524)
mhatrevi Sep 22, 2025
890bd75
ss: Use milestone instead of checkpoint. (#2520)
zhalvorsen Sep 23, 2025
c7a495e
hw-model: Add utf8 support (#2526)
swenson Sep 23, 2025
3c7cb37
[Fix] Restore FMC & RT Firmware Versions on Warm Reset (#2528)
mhatrevi Sep 24, 2025
386d3dc
[model] expose default LC token (#2532)
timothytrippel Sep 24, 2025
9ed3cdd
hw-model: Make otp_provision and otp_digest modules public for MCU (#…
swenson Sep 24, 2025
c366bd6
[fix] ROM README Update (#2529)
mhatrevi Sep 24, 2025
8249c4b
[jtag] refactor JTAG TAP code to work with all TAPs (#2540)
timothytrippel Sep 25, 2025
3ebbd68
recovery: Set MCI reset reason. (#2539)
zhalvorsen Sep 25, 2025
8659bbf
Add mldsa fuses to caliptra.c (#2492)
mtimkovich Sep 25, 2025
93c9cba
runtime: Avoid immediate save after restore in CM_SHA_UPDATE (#2545)
swenson Sep 26, 2025
1c563f3
Mark stable keys as FIPS invalid for 2.0 subsystem mode (#2494)
swenson Sep 26, 2025
eaf69ec
fpga: Support FE programming command test (#2546)
swenson Sep 26, 2025
7bc0711
Run Core FPGA using a segemented bitstream (#2544)
clundin25 Sep 26, 2025
3ccf0e3
[FPGA-Image]: Build Core images with a segmented bitstream
clundin25 Sep 25, 2025
35542c4
[jtag] fix OpenOCD/JTAG configuration for Caliptra Core TAP (#2553)
timothytrippel Sep 29, 2025
bb22539
Enable disabled ActivateFw and AuthAndStash integ tests (#2547)
mlvisaya Sep 30, 2025
5037e84
hw-model: Release MCU test ROM from second pause point. (#2499)
zhalvorsen Sep 30, 2025
399984d
Revert "[FPGA-Image]: Build Core images with a segmented bitstream"
clundin25 Sep 30, 2025
fb474e2
Update bitstreams (#2561)
clundin25 Sep 30, 2025
4814faf
[openocd] fix align OpenOCD config across all TAPs (#2558)
timothytrippel Oct 2, 2025
5ebb6e4
Override fpga target branch
clundin25 Oct 1, 2025
551a077
ss-fpga: exclude tests that cause panic with new images (#2572)
zhalvorsen Oct 2, 2025
3f5279a
[hw-model] enable provisioning the debug unlock token in OTP (#2566)
timothytrippel Oct 2, 2025
a88c04c
ss: Add warm reset to HW model.
zhalvorsen Sep 17, 2025
65dd69f
Fixing code coverage script (#2573)
mhatrevi Oct 2, 2025
e435710
[FGPA-Image]: Add a developer friendly image based on CI image
clundin25 Aug 14, 2025
4e0910e
Fix nightly EMU tests on main-2.x
clundin25 Oct 2, 2025
f38f7a9
[FPGA]: Allow overriding branch for subsystem fpga tests
clundin25 Oct 2, 2025
9625220
[FPGA-CI]: Use the triggering branch as the default Git ref
clundin25 Oct 2, 2025
c30f156
Forgot variable $ (#2584)
clundin25 Oct 6, 2025
761b243
Increase boot stress test update timeout for EMU nightly (#2586)
clundin25 Oct 6, 2025
e2b9293
[FPGA-Image]: Allow overriding checkout ref (#2593)
clundin25 Oct 6, 2025
9eb19f2
Missed inputs key (#2597)
clundin25 Oct 6, 2025
6005524
ss-fpga: Add recently removed tests back (#2582)
zhalvorsen Oct 6, 2025
09975fa
Skip test_random_stir_etrng_not_supported when 'itrng' feature flag i…
clundin25 Oct 7, 2025
4421145
Add README for image_gen (#2551)
mtimkovich Oct 7, 2025
98da089
Add a test ROM for MCU hitless update (#2592)
zhalvorsen Oct 7, 2025
e86b933
runtime: warm_reset: Check MCU FW loaded before releasing MCU SRAM (#…
zhalvorsen Oct 7, 2025
091febe
Update core 2.0 bitstream
clundin25 Oct 7, 2025
efb95ee
ROM update for Release Candidate version 2.0.0 (#2608)
mhatrevi Oct 8, 2025
e3e8340
Update FPGA Core 2.0 (#2534)
jlmahowa-amd Oct 8, 2025
fc34470
Reapply "[FPGA-Image]: Build Core images with a segmented bitstream" …
clundin25 Oct 9, 2025
c92ab94
size-history: Fix bugs in new GHA cache impl. (#2219)
korran Jun 5, 2025
a220917
Update bitstreams (#2621)
clundin25 Oct 13, 2025
c3bbb5e
Fix test for FPGA subsystem (#2587)
ArthurHeymans Oct 15, 2025
4320524
Fix FPGA image build
clundin25 Oct 15, 2025
9671673
fix(test): Update FPGA test configurations and exclusions (#2637)
ArthurHeymans Oct 17, 2025
908c1dc
[hw_model] move OTP init into separate function (#2636)
timothytrippel Oct 17, 2025
c07abfa
[hw-model] provision SW_MANUF OTP partition with defaults (#2642)
timothytrippel Oct 20, 2025
691aed1
[fix] Syntax error in .github/workflows/fpga-subsystem.yml (#2644)
zhalvorsen Oct 20, 2025
535befb
caliptra-rom: Fix tests for fpga_subsystem (#2622)
ArthurHeymans Oct 21, 2025
46d68a5
Resize DEV disk image partition on boot
clundin25 Oct 16, 2025
93dcda5
[hw_model] expose prod debug hash number and offset straps (#2647)
timothytrippel Oct 21, 2025
fd29f61
[hw_model] refactor InitParams (#2653)
timothytrippel Oct 22, 2025
dce841a
[test] Add IDEV MLDSA CSR struct, api, and tests. (#2275)
mtimkovich Oct 22, 2025
ee5132a
Filter Subsystem FPGA runtime tests (#2656)
zhalvorsen Oct 23, 2025
c362013
[subsystem] call `init_otp()` in `boot()` (#2660)
timothytrippel Oct 23, 2025
7e7024d
[model,util] fix bugs in the HW model to enable prod debug unlock tes…
timothytrippel Oct 27, 2025
b74334d
Use newer toolchain for installing cross (#2672)
clundin25 Oct 28, 2025
8a94140
[hw-model] provision fake default prod debug unlock keys (#2675)
timothytrippel Oct 29, 2025
82ec1da
[feat] Add LDEV ECC and MLDSA cert retrieval commands to ROM (#2682)
mhatrevi Oct 30, 2025
49e5edb
Code coverage github workflow (#2689)
mtimkovich Nov 4, 2025
baa32df
emulator: pin to Tock registers 2.2 (#2700)
swenson Nov 5, 2025
2a71bba
FPGA: Update core RTL to v2.0.2
clundin25 Nov 5, 2025
8546799
FPGA: Update SS RTL to v2.0.2
clundin25 Nov 5, 2025
35725a6
update registers (#2704)
mtimkovich Nov 5, 2025
89c8250
runtime: Revert VeeR bug workaround in LMS (#2705)
swenson Nov 5, 2025
4116741
Add FIRMWARE_VERIFY mailbox command (#2671)
mlvisaya Nov 6, 2025
70960b2
FPGA: Update SS 2.1 RTL to v2.1.0
clundin25 Nov 6, 2025
721e5a9
Re-enable subsystem FPGA runtime tests (#2658)
ArthurHeymans Nov 7, 2025
7bf89c5
Re-enable subsystem FPGA runtime tests (#2658) (#2649)
ArthurHeymans Nov 7, 2025
b80c4ff
[update] ROM: Add hardware version validation with minimum 2.0.2 requ…
mhatrevi Nov 8, 2025
bd06c6c
Also check `mailbox_flow_done` before sending an update reset
mhatrevi Nov 7, 2025
721e9bd
Adding libcaliptra support for auth manifest commands (#2248)
mhatrevi Nov 7, 2025
5a8dc20
Adding command flags and enums to libcaliptra (#2266)
mhatrevi Nov 7, 2025
71e0007
Add option to trim unwanted padding when updating SHA input data (#2292)
mhatrevi Nov 7, 2025
6151d25
Adding note to FIPS CMVP test readme for tests requiring inspection (…
mhatrevi Nov 7, 2025
4643411
fix(fmc): Add all RUSTFLAGS to FMC Makefile (#2419)
mhatrevi Nov 7, 2025
f53de23
Cleaning DPE cherry pick remnants
mhatrevi Nov 7, 2025
78d14e6
Refactoring warm_reset_flow to save and restore non-persistent regs (…
mhatrevi Nov 7, 2025
a217e79
Making vendor key configs optional in auth-manifest tool (#2720)
mtimkovich Nov 8, 2025
88cbf1a
Schedule a NTP job after the filesystem is mounted r/w
clundin25 Nov 7, 2025
840e7c2
Adding get_fmc_alias_csr in RT readme and adding libcaliptra support …
mtimkovich Nov 8, 2025
9011077
ROM README + binary hash update (#2725)
mhatrevi Nov 9, 2025
d8fac60
rom: After programming UDS, set response correctly (#2733)
swenson Nov 10, 2025
0000392
Cleaning some TODOs (#2736)
mhatrevi Nov 10, 2025
4117f0a
Fixing FMC logs (#2741)
mhatrevi Nov 11, 2025
4836f02
fpga: Fix ROM tests, simplify FPGA ROM flow and try to increase relia…
swenson Nov 12, 2025
d409586
test: PMP test should not use SMEPMP features
swenson Nov 10, 2025
3e594e2
FPGA test fix: ECC sign failure exits too quickly
swenson Nov 12, 2025
22d6ffa
Update Subsystem Job name
clundin25 Nov 12, 2025
97daa1f
test: PMP test should not use SMEPMP features (#2735)
swenson Nov 12, 2025
93712a0
test: Fix FIPS self-test hook ROM test to use FPGA feature (#2746)
swenson Nov 13, 2025
9933067
Adding TCB info to FMC Alias CSR to match FMC Alias Cert (#2604) (#2738)
nquarton Nov 13, 2025
2015e66
tests: Set lifecycle to manufacturing for fake rom test (#2749)
swenson Nov 13, 2025
7948d8b
Support signing with an exported CDI after a warm reset (#2125)
clundin25 Jun 3, 2025
fa3acbf
Modify handle comparison (#2666)
clundin25 Oct 24, 2025
6e1b6aa
Zeroize some buffers on drop
clundin25 Oct 23, 2025
9aec2da
RT size increase
clundin25 Nov 8, 2025
1ddbac3
Change test lifecycle state
clundin25 Nov 12, 2025
b14c03b
Correctly set the number of handles in DPE. (#2318)
zhalvorsen Jul 31, 2025
7fdbb70
Adding REALLOCATE_DPE_CONTEXT_LIMIT command (#2525)
nquarton Nov 10, 2025
0cabf55
hw-model: Signal MCU to load fuses only after they are written (#2758)
swenson Nov 14, 2025
c044500
Fix Auth Manifest marker byte order for consistent storage and read (…
parvathib Nov 14, 2025
1bddea5
Fix Hitless Update Activate Firmware Mailbox command sequence (#2606)
mlvisaya Nov 14, 2025
962e12b
Parse junit.xml and add markdown to test result
clundin25 Nov 14, 2025
3968ece
feat(hw-model): Add OTP partition offsets and fuse fields (#2764)
ArthurHeymans Nov 17, 2025
0b8cacb
Increase Subsystem FPGA timeout (#2779)
clundin25 Nov 17, 2025
eac4748
Disable reallocation tests
clundin25 Nov 15, 2025
fc90d25
runtime: Avoid I3C recovery race by not resetting fifo ctrl (#2790)
swenson Nov 18, 2025
ff176ef
test(warm_reset): Enable MCU UART logging in FPGA subsystem tests (#2…
ArthurHeymans Nov 18, 2025
35b3ebd
Update subsystem bitstreams
clundin25 Nov 16, 2025
0ecd635
Start the subsystem realtime thread after AXI reset (#2782)
zhalvorsen Nov 18, 2025
e0174b0
Fix test output printer (#2793)
clundin25 Nov 18, 2025
58d7569
fpga: Don't pad image to multiple of 256 bytes when sending (#2796)
swenson Nov 18, 2025
2051570
Return mci generic register accesses to the correct order
jlmahowa-amd Nov 17, 2025
b19fc6d
[fix] Correctly setting FE base address (#2791)
mhatrevi Nov 19, 2025
a28d9b2
Protect sensitive MMIO UIOs (#2786)
zhalvorsen Nov 19, 2025
4645393
[hw_model] set raw_unlock_token_hash FPGA regs (#2783)
timothytrippel Nov 19, 2025
6e42701
fpga: Re-sync subsystem FPGA tests (#2797)
swenson Nov 19, 2025
3085694
Read OTP DAI Idle bit and direct access cmd reg offset from generic s…
mhatrevi Nov 19, 2025
cd01ab1
fpga: Fix flaky update reset test (#2808)
swenson Nov 19, 2025
db71c6e
fpga: Cold reset test can be too fast sometimes (#2812)
swenson Nov 19, 2025
d3fe5a4
test(ci): Enable working runtime tests for MCU ROM
ArthurHeymans Nov 19, 2025
e39ce03
Move fuse settings from `BootParams` to `InitParams` (#2799)
zhalvorsen Nov 20, 2025
3820f61
Add a merge queue to PR jobs
clundin25 Nov 19, 2025
c34e534
[model] expose RMA and scrap PPD strap (#2813)
timothytrippel Nov 20, 2025
6cb9ee0
Updating ROM digest for 2.0 release (#2819)
mhatrevi Nov 20, 2025
5387cba
[jtag] make DMI reg enum values hashable and comparable (#2820)
timothytrippel Nov 20, 2025
76af017
fix(set_auth_manifest): Don't wait for status (#2821)
ArthurHeymans Nov 20, 2025
62c8009
Add FPGA-specific ROM to builder (#2822)
swenson Nov 20, 2025
bcfa082
tests: Fix FE programming test on subsystem FPGA (#2830)
swenson Nov 21, 2025
c586149
test: Fix FW_INFO test to work on subsystem FPGA (#2832)
swenson Nov 21, 2025
1699a7e
fix(ci): Use correct ROM binary for fpga_subsystem tests (#2835)
ArthurHeymans Nov 24, 2025
8efce03
Re-enabling test_reallocate_dpe_context_limits tests on subsystem FPG…
nquarton Nov 25, 2025
1fd4138
Fix FW update FPGA tests (#2844)
mlvisaya Nov 26, 2025
7c72124
Update Subsystem bitstreams (#2847)
zhalvorsen Nov 26, 2025
d255387
Update Core 2.0 PDI (#2856)
zhalvorsen Dec 2, 2025
327adf8
Use segmented bitstream for subsystem (#2858)
clundin25 Dec 2, 2025
714076d
Load subsystem 2.0 bitstream at runtime (#2862)
clundin25 Dec 2, 2025
e30c2c5
Increase step count in DPE warm reset to avoid incidentally disabling…
clundin25 Dec 2, 2025
b9b6fe3
Split bitstream downloader into a library and CLI (#2866)
clundin25 Dec 2, 2025
b73ee11
Fix `test_cryptographic_mailbox::test_derive_stable_key_from_rom` (#2…
zhalvorsen Dec 2, 2025
abf1407
Always scramble FPGA MAC address (#2874)
clundin25 Dec 2, 2025
456d05d
hw-model: Split OTP in two we can use half for DOT flash (#2872)
swenson Dec 2, 2025
1894cdd
[fpga-image] add developer ssh keys to dev image build (#2861)
timothytrippel Dec 3, 2025
01899eb
fix `test_invoke_dpe::test_export_cdi_destroyed_root_context` (#2838)
zhalvorsen Dec 3, 2025
e6702d6
modify preamble and description to update LMS and sig with MLDSA87 an…
meilu-git Dec 5, 2025
40ae4c2
[doc] Updating ROM README (#2914)
mhatrevi Dec 6, 2025
840c506
cherry-pick 2.0: Reset RECOVERY_CTRL to inactivate state after the im…
swenson Dec 12, 2025
e74b24f
Add @zhalvorsen @timothytrippel to CODEOWNERS (#2964) (#2973)
zhalvorsen Dec 12, 2025
787ca55
cherry-pick to 2.0: runtime: Use a block size of 64 for DMA I3C trans…
swenson Dec 12, 2025
775ef3a
Make LMS key generation and signing tools public (#3072) (#3082)
swenson Jan 9, 2026
ee31dcf
sw-emulator: Remove DMA block size panic (#3083) (#3085)
swenson Jan 9, 2026
f38f6b6
[jtag] add JTAG accessible register offsets (#2955)
timothytrippel Dec 11, 2025
50da1a4
[openocd] add functions to API (#3089)
timothytrippel Jan 12, 2026
037d060
Fix missing comma in RegisterSubBlock::Array codegen (#3108)
mlvisaya Jan 15, 2026
6a3bfad
Implement MCU hitless firmware update reset sequence (#3128)
mlvisaya Jan 16, 2026
605a2fd
[openocd] add functions to read/write 32bit values over the sysbus (#…
timothytrippel Jan 16, 2026
9b02f8b
ci: Add nightly 2.0 job and fix test-matrix (#3158)
swenson Jan 21, 2026
1e99fcf
Fixing ProductionAuthDebugUnlockChallenge.Lenght calculation ( cherry…
meilu-git Jan 22, 2026
64d9b2a
rom: Add CM_SHA command (#3162)
swenson Jan 23, 2026
2c00322
sw-emulator: Fully support all 255 interrupts in PIC (#3154) (#3171)
swenson Jan 24, 2026
fbb6bfa
During FW activation, set RESET_REASON first before clearing FW_EXEC_…
mlvisaya Jan 24, 2026
5cff948
sw-emulator: Don't panic if watchdog timers are set to large values (…
swenson Jan 28, 2026
ca09a64
rom/runtime: Reset INDIRECT_FIFO_CTRL FIFO after activating (2.0) (#3…
swenson Jan 29, 2026
4972cba
Set FW_EXEC_CTRL value before resetting MCU (2.1) (#3200)
mlvisaya Jan 29, 2026
534059f
runtime: kek_next_iv needs to be initialized to a random value (#3207…
swenson Jan 29, 2026
be0f4d9
fpga: ModelFpgaSubsystem supports flash-based booting (2.0) (#3167)
swenson Jan 29, 2026
f38a4d4
Update Subsystem FPGA Bitstream (#3229)
clundin25 Jan 31, 2026
2fe38a0
Meilu/eat main cherrypick (#3237)
meilu-git Feb 3, 2026
2096ac2
sw-emulator: Halted CPUs should still process events (#3247) (#3257)
swenson Feb 4, 2026
dcd43a3
Update Subsystem FPGA Bitstream (#3263)
clundin25 Feb 5, 2026
5c323e6
[Subsystem-CI]: Allow overriding MCU ROM commit (#3267)
clundin25 Feb 5, 2026
6fd149b
Fix SHA ACC lock release during debug unlock causing KAT failure (#3179)
ArthurHeymans Jan 27, 2026
632dfd5
[Subsystem-CI]: Add repository metadata to checkout (#3269)
clundin25 Feb 6, 2026
bec91d7
Initialize the marker and size fields of the IDEVID CSR envelope (#3156)
mhatrevi Feb 6, 2026
71dad99
Fix entropy_src configuration locking security issue (#3194)
ArthurHeymans Feb 2, 2026
1c43963
sw-emulator: Warm reset resets entropy_src module (#3242)
swenson Feb 3, 2026
92bc8e2
drivers: Allow configuration of entropy_src for low-entropy sources (…
swenson Feb 6, 2026
5c2dba8
nightly: Add regression test against 2.0.0 ROM (#3271)
swenson Feb 6, 2026
6b19dde
nightly: Fix reference to caliptra-2.0 in yaml (#3276)
swenson Feb 6, 2026
3735764
Fix hw-model build issue when specified as dependency (#3275)
chris-hinson Feb 6, 2026
2a3da3a
nightly: Increase timeout for test_pl0_pl1_reallocation_range (#3281)
swenson Feb 7, 2026
6b82f04
Updating ROM version to 2.0.1 (#3284)
swenson Feb 7, 2026
3824083
nightly release: Set the correct ROM env for FIPS tests (#3285)
swenson Feb 8, 2026
1a77f86
Bump versions for FMC and RT to 2.0.1 (#3287)
swenson Feb 9, 2026
4759722
api: Ensure mailbox api is panic-free (#3301)
swenson Feb 11, 2026
44b85c3
Re-enable check against frozen ROM SHA (#3307)
nquarton Feb 12, 2026
7d3e39a
fpga: Enable flash controllers and set interrupts when op done (2.0) …
swenson Feb 13, 2026
811c19e
Update subystem bitstream (#3335)
clundin25 Feb 18, 2026
465ee69
Ensure that SoC manifest and runtime are a multiple of 256 bytes (#33…
swenson Feb 19, 2026
73e9d4b
Add extra debug registers to JTAG register list (#3337)
amit-kumarh Feb 18, 2026
e564671
Add utility functions to JTAG TAP (#3342)
amit-kumarh Feb 19, 2026
a4f5ebc
docs: restructure SOC manifest README (#3366)
iyernaveenr Feb 24, 2026
e13cad6
[CI]: Change build logic for MCU (#3388)
clundin25 Feb 25, 2026
814b88f
Fix FPGA Subsystem build (#3392)
clundin25 Feb 26, 2026
92af48b
docs: fix IME flags bit positions to match code (#3431)
iyernaveenr Mar 4, 2026
b7d7772
Add taggedOID as type choice for ce.evidence-id field of concise-evid…
parvathib Feb 23, 2026
dbf1f10
match the CSR EAT name to mailbox command and include mldsa87 support…
parvathib Feb 26, 2026
b6539a2
Backport (partial): common/eat from ec94318cb2609fab595dfcdaf508daa0d…
parvathib Mar 5, 2026
d8d2b58
[EAT] Support class-id-type-choice per CoRIM spec (#3416)
parvathib Mar 2, 2026
8dc4c57
Add BootFSM to emulator
amit-kumarh Mar 10, 2026
8d36b57
Zero out OTP in new_unbooted on FPGA
amit-kumarh Mar 11, 2026
1fa3967
rom: Randomize AES ENTROPY_IF_SEED on reset (#3487) (#3495)
swenson Mar 16, 2026
c459b21
[EAT] Fix version-map encoding in measurement-values-map (#3478) (#3484)
parvathib Mar 18, 2026
3b9102c
rom: Seed MLDSA_ENTROPY on startup for SCA (#3508)
swenson Mar 18, 2026
1922757
hw-model: Support setting the exact lifecycle state (#3497)
swenson Mar 19, 2026
e90a24f
[nightly]: Make initial release a draft (#3511)
clundin25 Mar 19, 2026
15ef790
drivers: handle mailbox FSM error state and unexpected DataReady (2.0…
swenson Mar 19, 2026
6e005ed
Cherrypick/get image info changes (#3518)
parvathib Mar 20, 2026
01696c2
rom: Bump version to 2.0.2 and add 2.0.1 to nightly (#3517)
swenson Mar 20, 2026
1955316
Revert "rom: Seed MLDSA_ENTROPY on startup for SCA (#3508)" (#3521)
swenson Mar 20, 2026
8bfab8d
Update Subsystem FPGA Bitstream (#3520)
jose-cipriano-soc Mar 24, 2026
27a8be3
[dpe] Use both RT PCRs in RT DPE context
zhalvorsen Jan 9, 2026
df7f424
Skip RT journey PCR extension with same FW (#3055)
zhalvorsen Jan 8, 2026
08ed297
Removing manifest hash from RT Alias CDI and adding info to CCIV (#3449)
nquarton Mar 6, 2026
143b72e
Warm reset debug unlocked workaround
nquarton Mar 5, 2026
35400df
Increasing cargo test stack size to 16MB
nquarton Mar 20, 2026
0f0ff7b
drivers: Add ECDH pairwise consistency test (PCT) (#3546)
swenson Mar 26, 2026
fbd07b7
drivers: Add MLDSA pairwise consistency test (PCT) (#3547)
swenson Mar 26, 2026
f77c154
x509: Refactor TBS to be split around public key (#3374)
swenson Mar 27, 2026
473ae25
x509: Add #[allow(dead_code)] to TBS_TEMPLATE in generated files
swenson Mar 27, 2026
550ed8d
changelog: update commit reference for 2.0.2 ROM (#3557)
swenson Mar 30, 2026
6139bb6
[hw-model] Wait for subsystem boot completion in tests (#3561)
amit-kumarh Mar 31, 2026
6b62c41
fix to issue #3408: Packet::get_from_mbox does not validate dlen aga…
ternst-nv Apr 2, 2026
b81d94b
Modify FPGA Subsystem model for PK Hash selection (#3551)
amit-kumarh Apr 2, 2026
240b41a
Rename `ureg` crate to `caliptra-ureg` (2.0) (#3573)
zhalvorsen Apr 2, 2026
aa65b57
Rename `ocp-eat` crate to `caliptra-ocp-eat` (#3576)
zhalvorsen Apr 3, 2026
6a6c66f
Rename `caliptra_common` crate to `caliptra-common` (#3579)
zhalvorsen Apr 3, 2026
393fedd
add missing DICE EKU extension to RT alias certs (#3202)
parvathib Apr 3, 2026
864aef7
Add ldevid csr generation support (#3254)
parvathib Feb 17, 2026
d54917e
Add RT alias CSR (#3261)
parvathib Feb 17, 2026
294bcac
Rename ureg secondary crates with `caliptra-` prefix (#3583)
zhalvorsen Apr 6, 2026
1ccf5e9
Add RT MLDSA keypair seed handle to PersistentData (#3116)
parvathib Apr 7, 2026
4fd03f8
Add GET_ATTESTED_[ECC384, MLDSA87]_CSR mailbox commands (#3339)
parvathib Apr 8, 2026
a91e5ae
Add Attested CSR support for FMC Alias key (#3405)
parvathib Apr 8, 2026
56c7b69
Add Attested CSR support for RT alias key (#3406)
parvathib Apr 8, 2026
97a0d3c
Fix stack overflow and ICCM overflow in attested CSR
parvathib Apr 9, 2026
99c1d64
DPE core upgrades: SVN, State, Crypto API, PCRs, env unification
parvathib Apr 10, 2026
3a709fb
DPE hybrid build, submodule removal, DPE update
parvathib Apr 10, 2026
49c38e8
[update] Reject prod debug unlock request if pk hash fuse is zeroized…
mhatrevi Apr 17, 2026
b9592eb
Set PROD_DBG_UNLOCK_IN_PROGRESS bit in runtime handle_request() to ma…
mhatrevi Apr 20, 2026
edcdfbd
emulator: Allow writing to prod debug unlock num / offset registers (…
swenson Apr 20, 2026
e9adfc5
[fw_info] Add more information about how firmware was verified (2.0) …
zhalvorsen Apr 20, 2026
bfccd8a
fpga: use strap UDS/FE for deterministic IDevID for tests (#3643)
parvathib Apr 22, 2026
890ae72
sw-emulator: Don't fire saved internal timers during reset (#3259)
swenson Feb 4, 2026
219d11e
Ignore Write of Read Only Register in Emulator register.rs (#2937)
chrisherczeg Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Licensed under the Apache-2.0 license
[env]
RUST_MIN_STACK="16777216" # 16MB

[target.riscv32imc-unknown-none-elf]
rustflags = [
Expand Down
94 changes: 92 additions & 2 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,107 @@
# Licensed under the Apache-2.0 license

# TODO(#2369): Remove the extra filters after fixing the broken tests
[profile.fpga-subsystem]
default-filter = """package(caliptra-api) +
package(caliptra-api-types) +
package(caliptra-auth-man-types) +
package(caliptra-cfi-lib) +
package(caliptra-coverage) +
(package(caliptra-drivers) - test(test_doe_when_debug_locked) - test(test_ecc384_sign_validation_failure) - test(test_csrng_runtime_health_failure)) +
package(caliptra-error) +
(package(caliptra-hw-model) - test(tests::test_axi) - test(tests::test_mbox) - test(tests::test_mbox_negative) - binary_id(caliptra-hw-model::model_tests) - test(tests::test_negative_soc_mgr_mbox_users)) +
package(caliptra-hw-model-types) +
package(caliptra-image-crypto) +
package(caliptra-image-elf) +
package(caliptra-image-types) +
package(caliptra-lms-types) +
package(caliptra-size-history) +
package(caliptra-systemrdl) +
package(caliptra-verilated) +
package(caliptra-x509) +
package(caliptra-ureg) +
package(caliptra-ureg-codegen) +
package(caliptra-ureg-schema) +
package(caliptra-ureg-systemrdl)
"""
failure-output = "immediate-final"
fail-fast = false
slow-timeout = { period = "30s", terminate-after = 6 }
retries = 3 # the fpga subsystem is a bit flaky with typically 1 test randomly failing out of 100-200

[[profile.fpga-subsystem.overrides]]
filter = 'test(test_rt_journey_pcr_validation)'
slow-timeout = { period = "30s", terminate-after = 10 }

[profile.fpga-subsystem.junit]
path = "/tmp/junit.xml"
store-success-output = true
store-failure-output = true

# TODO(#2369): Remove the extra filters after fixing the broken tests
# test(test_csrng_runtime_health_failure): entropy on FPGA seems to be behaving a bit differently and does not fail the test immediately, as expected
[profile.fpga-core]
default-filter = """
not (package(/caliptra-emu-.*/) |
package(caliptra-builder) |
package(caliptra-cfi-derive) |
package(caliptra-file-header-fix) |
package(compliance-test) |
test(test_sign_validation_failure) |
test(test_activate_firmware::test_activate_fw_id_not_in_manifest) |
test(test_activate_firmware::test_activate_invalid_fw_id) |
test(test_activate_firmware::test_activate_mcu_fw_success) |
test(test_activate_firmware::test_activate_mcu_soc_fw_success) |
test(test_activate_firmware::test_activate_soc_fw_success) |
test(test_activate_firmware::test_invalid_exec_bit_in_manifest) |
test(test_authorize_and_stash::test_authorize_from_load_address) |
test(test_authorize_and_stash::test_authorize_from_load_address_incorrect_digest) |
test(test_authorize_and_stash::test_authorize_from_staging_address) |
test(test_authorize_and_stash::test_authorize_from_staging_address_incorrect_digest) |
test(test_csrng_runtime_health_failure) |
test(test_debug_unlock::test_dbg_unlock_prod_wrong_public_keys) |
test(test_fe_programming::test_fe_programming_cmd) |
test(test_fips::test_fips_shutdown) |
test(test_lms::test_lms_verify_cmd) |
test(test_lms::test_lms_verify_failure) |
test(test_lms::test_lms_verify_invalid_key_lms_type) |
test(test_lms::test_lms_verify_invalid_lmots_type) |
test(test_lms::test_lms_verify_invalid_sig_lms_type) |
test(test_rtalias::test_boot_status_reporting) |
binary_id(caliptra-test::fips_test_suite) |
test(test_update_reset::test_update_reset_verify_image_failure) |
test(test_debug_unlock::test_dbg_unlock_prod_unlock_levels_success) |
test(test_debug_unlock::test_dbg_unlock_prod_unlock_levels_failure))
"""
failure-output = "immediate-final"
fail-fast = false
slow-timeout = { period = "30s", terminate-after = 6 }

[profile.fpga-core.junit]
path = "/tmp/junit.xml"
store-success-output = true
store-failure-output = true

[profile.nightly]
failure-output = "immediate-final"
fail-fast = false
slow-timeout = { period = "30s", terminate-after = 6 }

[[profile.nightly.overrides]]
filter = 'test(test_generate_csr_envelop_stress)'
slow-timeout = { period = "30s", terminate-after = 140 }
slow-timeout = { period = "30s", terminate-after = 180 }

[[profile.nightly.overrides]]
filter = 'test(test_binaries_are_identical)'
slow-timeout = { period = "30s", terminate-after = 30 }

[[profile.nightly.overrides]]
filter = 'test(test_stress_update)'
slow-timeout = { period = "30s", terminate-after = 17 }
slow-timeout = { period = "30s", terminate-after = 100 }

[[profile.nightly.overrides]]
filter = 'test(test_pl0_pl1_reallocation_range)'
slow-timeout = { period = "30s", terminate-after = 24 }

[profile.nightly.junit]
path = "/tmp/junit.xml"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-test-verilator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
push:
branches: ["main"]
pull_request:
merge_group:

workflow_call:
workflow_dispatch:
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
push:
branches: ["main"]
pull_request:
merge_group:

workflow_call:
workflow_dispatch:
Expand Down Expand Up @@ -33,10 +34,6 @@ jobs:
run: |
echo "Build-Test: release_ref=$(git rev-parse HEAD)"
- name: Pull dpe submodule
run: |
git submodule update --init dpe
- name: Install required packages
run: |
sudo apt-get update -qy && sudo apt-get install libftdi1-dev libusb-1.0-0-dev golang-1.21-go
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Code Coverage

on:
push:
branches: ["main"]
pull_request:
workflow_dispatch:

jobs:
analyze:
runs-on: ubuntu-24.04

env:
CARGO_INCREMENTAL: 0
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
PR_TITLE: ${{github.event.pull_request.title}}
PR_BASE_COMMIT: ${{github.event.pull_request.base.sha}}
GIT_AUTHOR_NAME: ${{github.event.pull_request.user.login}}
GIT_AUTHOR_EMAIL: ${{github.event.pull_request.user.id}}+${{github.event.pull_request.user.login}}@users.noreply.github.com
GIT_COMMITTER_NAME: ${{github.event.pull_request.user.login}}
GIT_COMMITTER_EMAIL: ${{github.event.pull_request.user.id}}+${{github.event.pull_request.user.login}}@users.noreply.github.com

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- name: Configure actions-cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
core.exportVariable('ACTIONS_CACHE_SERVICE_V2', 'on');

- name: Run code coverage analysis (look at workflow "Summary" tab for results)
run: |
cargo install rustfilt
./ci.sh build_fw test > coverage.txt || true
sed -i -n '/coverage files found$/,$p' coverage.txt

echo '# Code Coverage' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat coverage.txt | rustfilt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
73 changes: 49 additions & 24 deletions .github/workflows/fpga-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,57 +19,66 @@ on:
- cron: '13 13 * * 2,4'

workflow_call:
inputs:
branch:
default: ${{ github.sha }}
type: string
workflow_dispatch:

jobs:
build_kernel:
runs-on: [e2-standard-32, vck190-tools]
strategy:
matrix:
image_variant: [core-2.0, core-2.1, subsystem-2.0, subsystem-2.1]
image_variant: [core, subsystem]
include:
- bitstream_hash: cb66e3117cab78bf503cfb15a5e1c4c6fc895dc810ad49b78a9de18180837f47
image_variant: core-2.0
- bitstream_name: xsa_core2p0_865bf243.xsa
image_variant: core-2.0
- bitstream_hash: e9b08c20a75e5294b660bddecdd2897677c4c63d2d9806180123b229f78631d4
image_variant: core-2.1
- bitstream_name: xsa_core2p1_85dadbc6.xsa
image_variant: core-2.1
- bitstream_hash: 71b0ffd91dab7344a110d03b98b95c314a31f5763e5f56819c3d657de908c5cf
image_variant: subsystem-2.0
- bitstream_name: xsa_ss2p0_24c0ea0b.xsa
image_variant: subsystem-2.0
- bitstream_hash: 4f27c7d21898cb6df2145d03eae07be86b98e925173eb5b7df280e813db9c179
image_variant: subsystem-2.1
- bitstream_name: xsa_ss2p1_e845cd0e.xsa
image_variant: subsystem-2.1
- bitstream_hash: e5cf1d375502dc9105becaa16c1c996a65ed1dcf153a688c7f098d51e66ba6ae
image_variant: core
- bitstream_name: xsa_core2p0_5d069408.xsa
image_variant: core
- bitstream_hash: 8fade301b2d2d4864a8586b5fea2cf8a80a76102afc711a940f66d7df79e30b3
image_variant: subsystem
- bitstream_name: xsa_ss2p0_b9f8a767.xsa
image_variant: subsystem
env:
IMAGE_VARIANT: ${{ matrix.image_variant }}
BITSTREAM_NAME: ${{ matrix.bitstream_name }}
BITSTREAM_SHA256: ${{ matrix.bitstream_hash }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
ref: ${{ inputs.branch }}

- name: Cache Kernel output
id: cache-kernel
uses: actions/cache@v4
with:
path: |
/tmp/vck190-kernel-${{ matrix.image_variant }}.tar.gz
/tmp/io-module-${{ matrix.image_variant }}.ko
key: kernel-${{ matrix.image_variant }}-${{ matrix.bitstream_hash }}

- name: Install pre-requisites
if: steps.cache-kernel.outputs.cache-hit != 'true'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt install gcc libncurses-dev zlib1g:i386 zlib1g-dev net-tools xterm autoconf libtool texinfo gcc-multilib build-essential device-tree-compiler xvfb apt-transport-https ca-certificates gnupg curl -y

- name: Mount FPGA tools
if: steps.cache-kernel.outputs.cache-hit != 'true'
run: |
echo "Starting work"
sudo mkdir /vck190-tools
sudo mount UUID=249f0fea-68c1-4e14-af09-5294e50e20b1 /vck190-tools/

- name: Build Kernel
if: steps.cache-kernel.outputs.cache-hit != 'true'
run: |
echo "Building kernel for bitstream variant ${IMAGE_VARIANT}"
source /vck190-tools/petalinux-tool/settings.sh

sudo scp /vck190-tools/caliptra-bitstreams/20250826/${BITSTREAM_NAME} /tmp/system.xsa
curl "https://storage.googleapis.com/caliptra-github-ci-bitstreams/v0/20251201/${BITSTREAM_NAME}" -o /tmp/system.xsa

if ! (echo "${BITSTREAM_SHA256} /tmp/system.xsa" | sudo sha256sum -c); then
echo "Bitstream does not match expected hash."
Expand All @@ -80,7 +89,7 @@ jobs:

pushd hw/fpga

if [[ "$IMAGE_VARIANT" == "subsystem-2.0" || "$IMAGE_VARIANT" == "subsystem-2.1" ]]; then
if [[ "$IMAGE_VARIANT" == "subsystem" ]]; then
export BUILD_SS=true
fi

Expand Down Expand Up @@ -110,16 +119,18 @@ jobs:
retention-days: 1

build_sd_image:
runs-on: ubuntu-22.04
runs-on: [e2-standard-4, big-disk]
needs: [build_kernel]
strategy:
matrix:
image_variant: [core-2.0, core-2.1, subsystem-2.0, subsystem-2.1]
image_variant: [core, subsystem]
env:
IMAGE_VARIANT: ${{ matrix.image_variant }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
ref: ${{ inputs.branch }}

- name: 'Download kernel artifact'
uses: actions/download-artifact@v4
Expand All @@ -138,11 +149,25 @@ jobs:
sudo apt-get update
sudo apt-get -y install debootstrap binfmt-support qemu-user-static u-boot-tools gcc-aarch64-linux-gnu
rustup target add aarch64-unknown-linux-gnu
cargo +1.88 install cross --git https://github.com/cross-rs/cross --root /tmp/cross

- name: Build SD image
- name: Build SD images
run: |
# Build Dev image
cd ci-tools/fpga-image
sudo KERNEL_ARCHIVE=/tmp/vck190-kernel/vck190-kernel-${IMAGE_VARIANT}.tar.gz KERNEL_MODULE_ARCHIVE=/tmp/vck190-kmod/io-module-${IMAGE_VARIANT}.ko bash build.sh
sudo PATH="$PATH:/tmp/cross/bin" BUILD_DEV_IMAGE=true KERNEL_ARCHIVE=/tmp/vck190-kernel/vck190-kernel-${IMAGE_VARIANT}.tar.gz KERNEL_MODULE_ARCHIVE=/tmp/vck190-kmod/io-module-${IMAGE_VARIANT}.ko bash build.sh
# Save Dev image for upload
sudo mv out/image.img dev-image.img
sudo rm -rf out/
# Now build CI image
sudo PATH="$PATH:/tmp/cross/bin" BUILD_DEV_IMAGE=false KERNEL_ARCHIVE=/tmp/vck190-kernel/vck190-kernel-${IMAGE_VARIANT}.tar.gz KERNEL_MODULE_ARCHIVE=/tmp/vck190-kmod/io-module-${IMAGE_VARIANT}.ko bash build.sh

- name: 'Upload dev-image as artifact'
uses: actions/upload-artifact@v4
with:
name: caliptra-fpga-image-${{ matrix.image_variant }}-dev
path: ci-tools/fpga-image/dev-image.img
retention-days: 90

- name: 'Upload image as artifact'
uses: actions/upload-artifact@v4
Expand Down
Loading