Skip to content

Commit 00a0837

Browse files
authored
Merge pull request #6707 from JacobBarthelmeh/xilinx
use flush instead of invalidate
2 parents 0e1706c + c3ebfd1 commit 00a0837

4 files changed

Lines changed: 21 additions & 21 deletions

File tree

wolfcrypt/src/ecc.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5603,7 +5603,7 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key,
56035603

56045604
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->privKey), key->dp->size);
56055605

5606-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(key->keyRaw),
5606+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->keyRaw),
56075607
2 * key->dp->size);
56085608

56095609
err = XSecure_EllipticGenerateKey(&(key->xSec.cinst),
@@ -5615,7 +5615,7 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key,
56155615
err = WC_HW_E;
56165616
}
56175617

5618-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(key->keyRaw),
5618+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->keyRaw),
56195619
2 * key->dp->size);
56205620

56215621
#ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
@@ -6326,7 +6326,7 @@ static int wc_ecc_sign_hash_hw(const byte* in, word32 inlen,
63266326
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->privKey), keysize);
63276327
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(K), keysize);
63286328

6329-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(out), keysize * 2);
6329+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(out), keysize * 2);
63306330

63316331
err = XSecure_EllipticGenerateSign(&(key->xSec.cinst),
63326332
xil_curve_type[key->dp->id],
@@ -6339,7 +6339,7 @@ static int wc_ecc_sign_hash_hw(const byte* in, word32 inlen,
63396339
err = WC_HW_E;
63406340
}
63416341

6342-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(out), keysize * 2);
6342+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(out), keysize * 2);
63436343
mp_reverse(&out[0], keysize);
63446344
mp_reverse(&out[keysize], keysize);
63456345

wolfcrypt/src/port/xilinx/xil-aesgcm.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static WC_INLINE int setup(Aes* aes,
151151
byte *aad_buf = NULL;
152152
int err;
153153

154-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)aes->keyInit,
154+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)aes->keyInit,
155155
sizeof(aes->keyInit));
156156

157157
if (XSecure_AesWriteKey(&(aes->xSec.cinst), aes->kup, aes->xKeySize,
@@ -164,7 +164,7 @@ static WC_INLINE int setup(Aes* aes,
164164
XMEMCPY(iv_, iv, AEAD_NONCE_SZ);
165165
piv = iv_;
166166
}
167-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)piv, AEAD_NONCE_SZ);
167+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)piv, AEAD_NONCE_SZ);
168168

169169
if (init(&(aes->xSec.cinst), aes->kup, aes->xKeySize, XIL_CAST_U64(piv))) {
170170
WOLFSSL_XIL_MSG("Failed to init");
@@ -195,7 +195,7 @@ static WC_INLINE int setup(Aes* aes,
195195
XMEMCPY((void* )aad, authIn, authInSz);
196196
}
197197

198-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)aad, authInSz);
198+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)aad, authInSz);
199199

200200
if (XSecure_AesUpdateAad(&(aes->xSec.cinst), XIL_CAST_U64(authIn),
201201
authInSz)) {
@@ -296,9 +296,9 @@ int wc_AesGcmEncrypt( Aes* aes, byte* out,
296296
out_aligned = out;
297297
}
298298

299-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)in_aligned, sz);
300-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz);
301-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, sizeof(tag));
299+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)in_aligned, sz);
300+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz);
301+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, sizeof(tag));
302302

303303
if (XSecure_AesEncryptUpdate(&(aes->xSec.cinst), XIL_CAST_U64(in_aligned),
304304
XIL_CAST_U64(out_aligned), sz, TRUE)) {
@@ -313,8 +313,8 @@ int wc_AesGcmEncrypt( Aes* aes, byte* out,
313313
ret = WC_HW_E;
314314
ForceZero(authTag, authTagSz);
315315
} else {
316-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz);
317-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, sizeof(tag));
316+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz);
317+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, sizeof(tag));
318318

319319
if (aes->aadStyle == SW_AAD) {
320320
ret = handle_aad(aes, out_aligned, sz, iv, authTag, authIn,
@@ -411,8 +411,8 @@ int wc_AesGcmDecrypt( Aes* aes, byte* out,
411411
out_aligned = out;
412412
}
413413

414-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)in_aligned, sz);
415-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz);
414+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)in_aligned, sz);
415+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz);
416416

417417
if (aes->aadStyle == HW_ENGINE_AAD) {
418418
/* Use the originally provided tag */
@@ -441,14 +441,14 @@ int wc_AesGcmDecrypt( Aes* aes, byte* out,
441441
goto error_out;
442442
}
443443

444-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, AES_GCM_AUTH_SZ);
444+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, AES_GCM_AUTH_SZ);
445445

446446
if (XSecure_AesDecryptFinal(&(aes->xSec.cinst), XIL_CAST_U64(tag))) {
447447
WOLFSSL_XIL_MSG("DecryptFinal failed");
448448
ret = WC_HW_E;
449449
} else {
450-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz);
451-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)buf, sizeof(buf));
450+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz);
451+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)buf, sizeof(buf));
452452

453453
if (aes->aadStyle == SW_AAD) {
454454
if (ConstantCompare(authTag, real_tag, authTagSz) != 0) {

wolfcrypt/src/port/xilinx/xil-sha3.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ int wc_Sha3_384_Update(wc_Sha3* sha, const byte* data, word32 len)
7474
if (sha == NULL || (data == NULL && len > 0)) {
7575
return BAD_FUNC_ARG;
7676
}
77-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)data, len);
77+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)data, len);
7878
XSecure_Sha3Update(&(sha->xSec.cinst), XIL_CAST_U64(data), len);
7979

8080
return 0;
@@ -91,7 +91,7 @@ int wc_Sha3_384_Final(wc_Sha3* sha, byte* out)
9191
if (sha == NULL || out == NULL) {
9292
return BAD_FUNC_ARG;
9393
}
94-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, WC_SHA3_384_DIGEST_SIZE);
94+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, WC_SHA3_384_DIGEST_SIZE);
9595
XSecure_Sha3Finish(&(sha->xSec.cinst), XIL_CAST_U64(out));
9696

9797
return wc_InitSha3_384(sha, NULL, INVALID_DEVID);

wolfcrypt/src/rsa.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2121,7 +2121,7 @@ static int wc_RsaFunctionSync(const byte* in, word32 inLen, byte* out,
21212121
XIL_CAST_U64(out)) != XST_SUCCESS) {
21222122
ret = BAD_STATE_E;
21232123
}
2124-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, inLen);
2124+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, inLen);
21252125
#else
21262126
if (XSecure_RsaPrivateDecrypt(&rsa, (u8*)in, inLen, out) !=
21272127
XST_SUCCESS) {
@@ -2149,7 +2149,7 @@ static int wc_RsaFunctionSync(const byte* in, word32 inLen, byte* out,
21492149
WOLFSSL_MSG("RSA public operation failed");
21502150
ret = BAD_STATE_E;
21512151
}
2152-
WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, inLen);
2152+
WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, inLen);
21532153
#elif defined(WOLFSSL_XILINX_CRYPTO_OLD)
21542154
if (XSecure_RsaDecrypt(&(key->xRsa), in, out) != XST_SUCCESS) {
21552155
ret = BAD_STATE_E;

0 commit comments

Comments
 (0)