|
1 | 1 | /****************************************************************************** |
2 | 2 | * Copyright (c) 2014 - 2021 Xilinx, Inc. All rights reserved. |
3 | | -* Copyright (c) 2022 - 2025 Advanced Micro Devices, Inc. All Rights Reserved. |
| 3 | +* Copyright (c) 2022 - 2024 Advanced Micro Devices, Inc. All Rights Reserved. |
4 | 4 | * SPDX-License-Identifier: MIT |
5 | 5 | *******************************************************************************/ |
6 | 6 |
|
|
54 | 54 | * 4.7 am 11/26/21 Resolved doxygen warnings |
55 | 55 | * 5.2 ng 07/05/23 add SDT support |
56 | 56 | * ss 04/05/24 Fixed doxygen warnings |
57 | | -* 5.6 hj 09/20/25 Change copy API to handle unaligned data in Sha3Update |
58 | 57 | * |
59 | 58 | * @note |
60 | 59 | * |
@@ -599,16 +598,9 @@ static u32 XSecure_Sha3DataUpdate(XSecure_Sha3 *InstancePtr, const u8 *Data, |
599 | 598 | /* Handle Partial data and non dword aligned data address */ |
600 | 599 | if ((PrevPartialLen != 0U) || |
601 | 600 | (((UINTPTR)DataPtr & XCSUDMA_ADDR_LSB_MASK) != 0U)) { |
602 | | - Status = (u32)Xil_SMemCpy((void *)&PartialData[PrevPartialLen], |
603 | | - XSECURE_SHA3_BLOCK_LEN - PrevPartialLen, |
604 | | - (void *)DataPtr, XSECURE_SHA3_BLOCK_LEN - PrevPartialLen, |
605 | | - XSECURE_SHA3_BLOCK_LEN - PrevPartialLen); |
606 | | - if (Status != XST_SUCCESS) { |
607 | | - (void)memset(&InstancePtr->PartialData, 0, |
608 | | - sizeof(InstancePtr->PartialData)); |
609 | | - |
610 | | - goto END; |
611 | | - } |
| 601 | + XSecure_MemCpy((void *)&PartialData[PrevPartialLen], |
| 602 | + (void *)DataPtr, |
| 603 | + XSECURE_SHA3_BLOCK_LEN - PrevPartialLen); |
612 | 604 | DmableData = PartialData; |
613 | 605 | DmableDataLen = XSECURE_SHA3_BLOCK_LEN; |
614 | 606 | DataPtr += XSECURE_SHA3_BLOCK_LEN - PrevPartialLen; |
@@ -640,17 +632,8 @@ static u32 XSecure_Sha3DataUpdate(XSecure_Sha3 *InstancePtr, const u8 *Data, |
640 | 632 | /* Handle remaining data during processing of next data chunk or during |
641 | 633 | data padding */ |
642 | 634 | if(RemainingDataLen > 0U) { |
643 | | - Status = (u32)Xil_SMemCpy((void *)(PartialData + PrevPartialLen), |
644 | | - XSECURE_SHA3_BLOCK_LEN - PrevPartialLen, |
645 | | - (void *)DataPtr, |
646 | | - (RemainingDataLen - PrevPartialLen), |
647 | | - (RemainingDataLen - PrevPartialLen)); |
648 | | - if (Status != XST_SUCCESS) { |
649 | | - (void)memset(&InstancePtr->PartialData, 0, |
650 | | - sizeof(InstancePtr->PartialData)); |
651 | | - |
652 | | - goto END; |
653 | | - } |
| 635 | + XSecure_MemCpy((void *)(PartialData + PrevPartialLen), (void *)DataPtr, |
| 636 | + (RemainingDataLen - PrevPartialLen)); |
654 | 637 | } |
655 | 638 | InstancePtr->PartialLen = RemainingDataLen; |
656 | 639 | (void)memset(&InstancePtr->PartialData[RemainingDataLen], 0, |
|
0 commit comments