aspeed/hace: Support AST2600 HACE
commit5cd7d8564a8b563da724b9e6264c967f0a091afa
authorSteven Lee <steven_lee@aspeedtech.com>
Mon, 2 May 2022 15:03:04 +0000 (2 17:03 +0200)
committerCédric Le Goater <clg@kaod.org>
Mon, 2 May 2022 15:03:04 +0000 (2 17:03 +0200)
treea1258eeba63e0ee45c388d23d12084e436797db6
parent1877069c9d2ad4d08d72aa41edff156c0dc65bf0
aspeed/hace: Support AST2600 HACE

The aspeed ast2600 accumulative mode is described in datasheet
ast2600v10.pdf section 25.6.4:
 1. Allocating and initiating accumulative hash digest write buffer
    with initial state.
    * Since QEMU crypto/hash api doesn't provide the API to set initial
      state of hash library, and the initial state is already set by
      crypto library (gcrypt/glib/...), so skip this step.
 2. Calculating accumulative hash digest.
    (a) When receiving the last accumulative data, software need to add
        padding message at the end of the accumulative data. Padding
        message described in specific of MD5, SHA-1, SHA224, SHA256,
        SHA512, SHA512/224, SHA512/256.
        * Since the crypto library (gcrypt/glib) already pad the
          padding message internally.
        * This patch is to remove the padding message which fed byguest
          machine driver.

Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220426021120.28255-3-steven_lee@aspeedtech.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/misc/aspeed_hace.c
include/hw/misc/aspeed_hace.h