-
Notifications
You must be signed in to change notification settings - Fork 25
add DMA by offset feature, SHM POSIX example, and support for args with benchmarking #158
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
Conversation
3359523 to
912cd14
Compare
billphipps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the refactoring to provide a single client/server example that has both transports included. We need to rework the config so there's a shared configuration header file that both the client and server apps can include. Need to split the wh_posix_*.c files into server and client versions (probably just move the contents back into their respective .c files). I'll chat with you about this.
|
@JacobBarthelmeh OK if we mark this as draft until it is ready for final review and CI is passing? |
fa5a043 to
98a1c72
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for SHM (Shared Memory) POSIX DMA transport to wolfHSM, enabling pass-by-reference communication between client and server through shared memory segments with optimized memory allocation.
- Implements DMA transport layer with static memory management for improved performance
- Adds client/server configuration infrastructure for multiple transport types (TCP, SHM, DMA)
- Enhances POSIX examples to support configurable transport types with command-line options
Reviewed Changes
Copilot reviewed 34 out of 36 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| wolfhsm/wh_server.h | Adds IsDmaTransport function declaration |
| wolfhsm/wh_client.h | Adds DMA-related types, callbacks, and function declarations |
| src/wh_server.c | Implements DMA transport detection and auto-configuration |
| src/wh_client_dma.c | New file implementing DMA address processing and validation |
| src/wh_client_crypto.c | Updates SHA256 DMA function with proper address translation |
| src/wh_client.c | Adds DMA transport detection and auto-configuration |
| port/posix/posix_transport_dma.h | New header defining DMA transport interface |
| port/posix/posix_transport_dma.c | New implementation of DMA transport with static memory |
| examples/posix/ | Updated POSIX examples with multi-transport support and configuration |
| benchmark/ | Enhanced benchmark suite with transport type selection |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
c7748aa to
a2fd02b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 39 out of 41 changed files in this pull request and generated 8 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
Run git-clang-format |
708033a to
53a1f4b
Compare
bigbrett
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JacobBarthelmeh Great additions from a functionality standpoint!! I think from a layout/organization perspective there is still some work to be done. Here is a first round of review comments that I think should be addressed.
…ns that are intentionally not checked
…posix + shm + dma
705fee7 to
b5d1b53
Compare
billphipps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Thank you!
This PR adds support for SHM (Shared Memory) POSIX DMA transport to wolfHSM, enabling pass-by-reference communication between client and server through shared memory segments with optimized memory allocation.
Implements DMA transport layer with static memory management for improved performance
Adds client/server configuration infrastructure for multiple transport types (TCP, SHM, DMA)
Enhances POSIX examples to support configurable transport types with command-line options