Software APIs
mock_hmac.cc
1 // Copyright lowRISC contributors (OpenTitan project).
2 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3 // SPDX-License-Identifier: Apache-2.0
4 
5 #include "sw/device/silicon_creator/lib/drivers/mock_hmac.h"
6 
7 namespace rom_test {
8 extern "C" {
9 void hmac_sha256_configure(bool big_endian_digest) {
10  MockHmac::Instance().sha256_configure(big_endian_digest);
11 }
12 
13 void hmac_sha256_start(void) { MockHmac::Instance().sha256_start(); }
14 
15 void hmac_sha256_init(void) { MockHmac::Instance().sha256_init(); }
16 
17 void hmac_sha256_update(const void *data, size_t len) {
18  MockHmac::Instance().sha256_update(data, len);
19 }
20 
21 void hmac_sha256_update_words(const uint32_t *data, size_t len) {
22  MockHmac::Instance().sha256_update_words(data, len);
23 }
24 
25 void hmac_sha256_process(void) { MockHmac::Instance().sha256_process(); }
26 
27 void hmac_sha256_final_truncated(uint32_t *digest, size_t len) {
28  MockHmac::Instance().sha256_final_truncated(digest, len);
29 }
30 
31 void hmac_sha256_final(hmac_digest_t *digest) {
32  MockHmac::Instance().sha256_final(digest);
33 }
34 
35 void hmac_sha256(const void *data, size_t len, hmac_digest_t *digest) {
36  MockHmac::Instance().sha256(data, len, digest);
37 }
38 
39 void hmac_sha256_save(hmac_context_t *ctx) {
40  MockHmac::Instance().sha256_save(ctx);
41 }
42 
43 void hmac_sha256_restore(const hmac_context_t *ctx) {
44  MockHmac::Instance().sha256_restore(ctx);
45 }
46 } // extern "C"
47 } // namespace rom_test