Closed
Conversation
Signed-off-by: willieyz <willie.zhao@chelpis.com>
- When EXTRA_MAKEFILE is passed, it will be included at the start of the main Makefile. This can be used to configure builds requiring a large number of flags (e.g., baremetal builds). - `EXTRA_SOURCES` can be passed to compile and link additional sources, e.g., platform files for baremetal builds. Signed-off-by: willieyz <willie.zhao@chelpis.com>
- This commit remove `additional_packages` to get down to max 10 Github limits the number of inputs for a workflow_dispatch event to 10. - We currently have 11 for bench_ec2_any.yml. This removes the additional_packages inputs that is never used in our CI. Signed-off-by: willieyz <willie.zhao@chelpis.com>
`run_acvp` currently does not respect the `EXEC_WRAPPER` preventing running ACVP tests, e.g., on baremetal targets. Signed-off-by: willieyz <willie.zhao@chelpis.com>
- This commits adds a new shell: arm-embedded for baremetal targets. - It includes arm-none-eabi-gcc, qemu, and platform support files from pqmx (currently limited to the MPS3 AN547 Cortex-M55). Signed-off-by: willieyz <willie.zhao@chelpis.com>
- This adds support for testing on the MPS3 AN547 platform in qemu. - Tests can be excuted using `EXTRA_MAKEFILE=test/baremetal/platform/m55-an547/platform.mk --no-auto tests all` - Platform sources (hal, ld script, semihosting) are taken from pqmx. - `baremetal/platform/m55-an547/platform.mk` sets the required flags and other build configuration. - `test/baremetal/platform/m55-an547/exec_wrapper.py` handles passing inputs to the tests (e.g., required for the ACVP tests). Signed-off-by: willieyz <willie.zhao@chelpis.com>
- Adds CI to exercise the MPS3 AN547 (Cortex-M55) baremetal builds. - It includes functional tests, KAT tests, and ACVP tests. Signed-off-by: willieyz <willie.zhao@chelpis.com>
…ported from mldsa-native Signed-off-by: Brendan Moran <brendan.moran@arm.com>
Signed-off-by: Brendan Moran <brendan.moran@arm.com>
Signed-off-by: Brendan Moran <brendan.moran@arm.com>
Signed-off-by: Brendan Moran <brendan.moran@arm.com>
hanno-becker
requested changes
Oct 14, 2025
Contributor
There was a problem hiding this comment.
Thank you @bremoran for starting the integration of this exciting MVE optimization.
In mlkem-native, we split a) clean code (pre-SLOTHY), b) optimized code (post-SLOTHY), and c) 'raw' assembly, removing all traces of macros, aliases, etc. The transition from a->b is obviously by running SLOTHY, and the transition from b->c is via simpasm, essentially assembly+disassembly.
We should follow the same structure here.
I expect it to be a bit of work to adjust simpasm, but as a first step, could you:
- Add the clean / pre-SLOTHY source code in
dev/armv81m_clean/src - Add the optimized / post-SLOTHY source code in
dev/armv81m_opt/src - Add any scripts you use to run SLOTHY to
dev/armv81m_opt/src; it doesn't have to be reproduced in CI yet, but put it in so we can start reviewing and adjusting it to ultimately make it suitable for CI. - Add the optimized / post-SLOTHY source code in
mlkem/src/native/armv81_m(as is the case now) - Extend
autogen(ask @mkannwischer potentially) to synchronizedev/armv81m_optandmlkem/src/native/armv81_mby copy -- @mkannwischer and I will check what needs doing forsimpasmto work with Armv8.1-M+MVE, but we should at least have a synchronization-by-copy to begin with.
Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
Contributor
|
Closing this as various bits and pieces have been extracted into other PRs and rebasing does not seem to be worth it. Please open fresh PRs for parts that are still missing. |
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.
Based on #1220 and on pq-code-package/mldsa-native#462
This PR adds initial support for x4 keccak on armv8.1-m targets.