Add stm32H5 TrustZone wolfHSM Port#348
Conversation
4a42e8f to
e14742d
Compare
bigbrett
left a comment
There was a problem hiding this comment.
@aidangarske thanks for this! I'm little unclear whether any of this stm32H5 specific or is just a generic TZ-M compatible transport? In the docs you say
The transport itself is target-agnostic; the STM32H5-specific glue (NSC veneer,
whFlashCbflash adapter, secure-side server init, NS test exerciser) lives in the wolfBoot port.
If this is the case then I don't think you need any mention of STM32H5 in any of this? Unless I'm misunderstanding. If this is meant to be a generic trustzone M transport then I think having under port/tzm or something like that is better, with no mentions of STM32H5 at all.
LMK if I'm misunderstanding
e14742d to
16cfc43
Compare
|
@aidangarske reverting to draft after our conversation yesterday |
c8bce36 to
e878a2b
Compare
e878a2b to
3abe76e
Compare
ae382bf to
5b3ec25
Compare
bigbrett
left a comment
There was a problem hiding this comment.
Nice! A few nits and a question that might require a change, depending on the answer
b23f948 to
866fa9c
Compare
Description
port/stmicro/stm32-tz/wh_transport_nsc.{c,h}: a portablesynchronous TrustZone non-secure-callable bridge transport for
ARMv8-M Cortex-M targets. Client
Sendinvokes a host-suppliedveneer (
wcs_wolfhsm_transmit) inline and caches the response;client
Recvconsumes the cached response on the first call.Server-side callbacks consume the request the host's veneer parked
in a static context and write the response back into the non-secure
caller's buffer.
adapter, secure-side server init, NS test exerciser) lives in the
matching wolfBoot PR.
STM32_TZ_NSC=1build flag intest/Makefilecompiles thetransport into the host test build and pulls in a new unit test
test/wh_test_transport_nsc.ccovering BADARGS, NOTREADY, happy-path round trip, and the
request_pending/rsp_sizestatemachine for both callback tables.
.github/workflows/build-and-test.yml:STM32_TZ_NSC=1 ASAN=1build + run.docs/src/chapter08.md.Notes
WOLFCRYPT_TZ_WOLFHSM=1for STM32H5,which is the first consumer of this transport. here
Test plan
STM32_TZ_NSC=1 ASAN=1build +make run(CI)