Re: [PATCH v5 13/14] crypto: allwinner: add sun8i-ce ECDSA verifier

Simon Glass <[email protected]>
Newsgroups gmane.comp.boot-loaders.u-boot
Message-ID <CAFLszTiG+KRm3HQ0WJjXmYB_V5NbzM_dRz=H6sgr7o1PGwq8SA@mail.gmail.com>
On 2026-07-20T04:13:44, James Hilliard <[email protected]> wrote:
> crypto: allwinner: add sun8i-ce ECDSA verifier
>
> The H6 and H616 Crypto Engines include an ECC engine which can verify
> ECDSA signatures. Add a UCLASS_ECDSA child for the sun8i-ce parent so FIT
> signature verification can use the hardware block from U-Boot proper and
> SPL.
>
> The CE takes explicit curve parameters for each operation. Provide tables
> for the curves accepted by U-Boot's FIT ECDSA parser: secp224r1,
> prime256v1, secp384r1 and secp521r1. Derive each curve's a = p - 3
> parameter from p instead of storing duplicate constants. Make each curve
> independently selectable for U-Boot proper and SPL. SRAM-constrained
> builds can keep only the curves they need. The task input layout follows
> the ECC verify buffer order used by Allwinner's CE implementation.
>
> The CE input buffer uses fixed-width curve fields. Reuse the parameter
> packing logic for the message digest as well, so wider digests are
> truncated to the leftmost curve-width bytes according to ECDSA rules.
> Map the private input and result through the parent's cacheline-safe DMA
> objects. Round result storage to complete cachelines while keeping the
> descriptor output curve-sized. Submit ECC work on the dedicated asymmetric
> completion channel. After retirement, unmap the result and input exactly
> once before inspecting the result.
>
> Signed-off-by: James Hilliard <[email protected]>
>
> drivers/crypto/allwinner/sun8i-ce/Kconfig          |  94 +++++
>  drivers/crypto/allwinner/sun8i-ce/Makefile         |   1 +
>  drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c  |   6 +
>  drivers/crypto/allwinner/sun8i-ce/sun8i-ce-ecdsa.c | 382 +++++++++++++++++++++
>  drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h       |   3 +
>  5 files changed, 486 insertions(+)

Reviewed-by: Simon Glass <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.