add DMA by offset feature, SHM POSIX example, and support for args with benchmarking#158
Conversation
3359523 to
912cd14
Compare
billphipps
left a comment
There was a problem hiding this comment.
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.
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.
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.
@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.
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