Port Baremetal: Add Cortex-M33 MPS3-AN524 platform support#1579
Merged
mkannwischer merged 2 commits intomainfrom Apr 25, 2026
Merged
Port Baremetal: Add Cortex-M33 MPS3-AN524 platform support#1579mkannwischer merged 2 commits intomainfrom
mkannwischer merged 2 commits intomainfrom
Conversation
a61e82c to
bae13fa
Compare
Contributor
CBMC Results (ML-KEM-512)Full Results (191 proofs)
|
Contributor
CBMC Results (ML-KEM-768)Full Results (191 proofs)
|
aca0c50 to
23ae351
Compare
Contributor
CBMC Results (ML-KEM-1024)Full Results (191 proofs)
|
9510d04 to
6a14b70
Compare
bcf3828 to
1a2628f
Compare
dea3f57 to
21d79d3
Compare
Add bare-metal platform support for Cortex-M33 on MPS3-AN524, tested via qemu (qemu-system-arm -M mps3-an524). Notice that the configuration *_CONFIG_REDUCE_RAM did not implement in mlkem-native, we skip this option during this porting. - Add platform makefile and qemu exec wrapper for M33-AN524 - Platform files are provided by pqmx, see slothy-optimizer/pqmx#116 - Add Cortex-M33 DWT cycle counter support in HAL (distinct from Cortex-M55 PMU-based counting) - Generalize Nix package from m55-an547 to pqmx to serve both M55-AN547 and M33-AN524 platforms - Allow MLD_BUMP_ALLOC_SIZE to be overridden at compile time (we only have a 96 KiB stack) - Add M33 baremetal test to CI matrix Signed-off-by: willieyz <willie.zhao@chelpis.com>
Without +nodsp, GCC's -mcpu=cortex-m33 enables DSP by default and auto-vectorizes poly_ntt into smlabb, which faults under QEMU's mps3-an524 cortex-m33. Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
21d79d3 to
52a895d
Compare
mkannwischer
approved these changes
Apr 25, 2026
Contributor
mkannwischer
left a comment
There was a problem hiding this comment.
Thanks @willieyz. I found the issue - see the last commit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add bare-metal platform support for ARM Cortex-M33 on MPS3-AN524 FPGA. Works on both QEMU (qemu-system-arm -M mps3-an524) and real hardware.