X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FRuntimeDxe%2FCrc32.c;fp=MdeModulePkg%2FUniversal%2FRuntimeDxe%2FCrc32.c;h=0000000000000000000000000000000000000000;hb=37e65dba1ed1e84003d6cc72930841267b3ddb7a;hp=910738eb5215772e45cb03396270b00e5a112ca0;hpb=f2abdc918bc19de53fe612458bf6c26298b65c1c;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/RuntimeDxe/Crc32.c b/MdeModulePkg/Universal/RuntimeDxe/Crc32.c deleted file mode 100644 index 910738eb52..0000000000 --- a/MdeModulePkg/Universal/RuntimeDxe/Crc32.c +++ /dev/null @@ -1,150 +0,0 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - Crc32.c - -Abstract: - - CalculateCrc32 Boot Services as defined in DXE CIS. - - This Boot Services is in the Runtime Driver because this service is - also required by SetVirtualAddressMap() when the EFI System Table and - EFI Runtime Services Table are converted from physical address to - virtual addresses. This requires that the 32-bit CRC be recomputed. - -Revision History: - ---*/ - -// -// The package level header files this module uses -// -#include - -UINT32 mCrcTable[256]; - -EFI_STATUS -EFIAPI -RuntimeDriverCalculateCrc32 ( - IN VOID *Data, - IN UINTN DataSize, - OUT UINT32 *CrcOut - ) -/*++ - -Routine Description: - - Calculate CRC32 for target data - -Arguments: - - Data - The target data. - DataSize - The target data size. - CrcOut - The CRC32 for target data. - -Returns: - - EFI_SUCCESS - The CRC32 for target data is calculated successfully. - EFI_INVALID_PARAMETER - Some parameter is not valid, so the CRC32 is not - calculated. - ---*/ -{ - UINT32 Crc; - UINTN Index; - UINT8 *Ptr; - - if (Data == NULL || DataSize == 0 || CrcOut == NULL) { - return EFI_INVALID_PARAMETER; - } - - Crc = 0xffffffff; - for (Index = 0, Ptr = Data; Index < DataSize; Index++, Ptr++) { - Crc = (Crc >> 8) ^ mCrcTable[(UINT8) Crc ^ *Ptr]; - } - - *CrcOut = Crc ^ 0xffffffff; - return EFI_SUCCESS; -} - -STATIC -UINT32 -ReverseBits ( - UINT32 Value - ) -/*++ - -Routine Description: - - Reverse bits for 32bit data. - -Arguments: - - Value - the data to be reversed. - -Returns: - - UINT32 data reversed. - ---*/ -{ - UINTN Index; - UINT32 NewValue; - - NewValue = 0; - for (Index = 0; Index < 32; Index++) { - if (Value & (1 << Index)) { - NewValue = NewValue | (1 << (31 - Index)); - } - } - - return NewValue; -} - -VOID -RuntimeDriverInitializeCrc32Table ( - VOID - ) -/*++ - -Routine Description: - - Initialize CRC32 table. - -Arguments: - - None. - -Returns: - - None. - ---*/ -{ - UINTN TableEntry; - UINTN Index; - UINT32 Value; - - for (TableEntry = 0; TableEntry < 256; TableEntry++) { - Value = ReverseBits ((UINT32) TableEntry); - for (Index = 0; Index < 8; Index++) { - if (Value & 0x80000000) { - Value = (Value << 1) ^ 0x04c11db7; - } else { - Value = Value << 1; - } - } - - mCrcTable[TableEntry] = ReverseBits (Value); - } -}