-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Marvell eHSM crypto engine support to offload AES crypto algorithms #7556
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
base: master
Are you sure you want to change the base?
Conversation
|
|
Add marvell eHSM crypto engine support to offload AES crypto algorithms for CN10K and CN20K platforms, this will be a base for authenc and cipher drvcrypt driver operations. Signed-off-by: Anil Kumar Reddy <[email protected]>
This driver registers the eHSM crypto engine with-in the drvcrypto framework, and uses eHSM service to deliver authentication functionality of AES-GCM. Signed-off-by: Anil Kumar Reddy <[email protected]>
This driver registers the eHSM crypto aes engine with-in the cipher framework, and uses eHSM service to deliver cipher operations. Signed-off-by: Anil Kumar Reddy <[email protected]>
Have combined CN10K and CN20K directories, Thanks for the suggestion. |
|
I don't think my changes are responsible for CI failures. I see in other PR that issue is fixed. May i know how to retry the CI again, thanks. |
|
@anilreddy3 CI is currently unstable ("no space left on device" errors in various jobs). The QEMUv8 Hafnium job is supposedly fixed in master by 3d0429a but now we're seeing more of this failure in the other QEMUv8 jobs (1..4/4). I am investigating. |
|
@etienne-lms @jenswi-linaro Have addressed your review comments and pushed updated patches. Please review further and provide your comments if any, thanks. |
| cmd.opcode = BCM_AES_ZEROIZE; | ||
| estat = ehsm_command(handle, &cmd); | ||
| if (estat != STATUS_SUCCESS) | ||
| return (enum sec_return)estat; |
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.
This is a bit strange. We have enum ehsm_status and enum sec_return, where, from what I understand, the value 0 SEC_NO_ERROR or STATUS_SUCCESS are compatible and mean the same thing. What is this cast supposed to do?
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.
enum ehsm_status contains the error types which truly returned by the eHSM hardware block, whereas enum sec_return contains the other error types related crypto engine like we may return SEC_INVALID_MAILBOX based on the mailbox number check in ehsm_initialize(), and SEC_INVALID_PARAMETER and soon and so forth.
And finally we are combining enum ehsm_status with enum sec_return by typecasting and returning this sec_return error type to upper driver layer.
@jforissier Seems CI reelated issues are fixed, could you please retry CI for this PR, thanks. |
Please rebase onto master and force-push. Simply restarting the jobs would not get the updated CI script. Thanks! |
Marvell eHSM crypto engine support to offload AES crypto algorithms