public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-platforms 0/2] Replace individual CRC implementations with BaseLib
@ 2022-03-27  0:59 Pedro Falcato
  2022-03-27  0:59 ` [PATCH edk2-platforms 1/2] Ext4Pkg: Replace the " Pedro Falcato
  2022-03-27  0:59 ` [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib " Pedro Falcato
  0 siblings, 2 replies; 4+ messages in thread
From: Pedro Falcato @ 2022-03-27  0:59 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Michael D Kinney, Isaac Oram, Nate DeSimone,
	Chasel Chiu

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3871

This patch-set replaces the individual CRC16 implementations in Ext4Pkg and WhitleyOpenBoardPkg
with the soon-to-be-merged BaseLib implementation of CalculateCrc16().

These patches should not be merged before the BaseLib one, but also not too long after,
as the BaseLib changes will certainly break these packages' builds.
I encourage the platform maintainers to build and test my changes as I couldn't build them nor
test them (although everything looks good from a bird's eye view).

Also CC'ing the platforms maintainers as I can't review my own patches :)

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>

Pedro Falcato (2):
  Ext4Pkg: Replace the CRC implementations with BaseLib
  WhitleyOpenBoardPkg: Replace BaseCrcLib with BaseLib

 Features/Ext4Pkg/Ext4Dxe/Crc16.c              | 75 -----------------
 Features/Ext4Pkg/Ext4Dxe/Crc32c.c             | 84 -------------------
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h            | 34 +-------
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf          |  2 -
 .../Include/Library/CrcLib.h                  | 42 ----------
 .../AcpiPlatformLibBdat.c                     | 46 +++-------
 .../Library/BaseCrcLib/BaseCrcLib.c           | 71 ----------------
 .../Library/BaseCrcLib/BaseCrcLib.inf         | 23 -----
 .../Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc |  1 -
 9 files changed, 13 insertions(+), 365 deletions(-)
 delete mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
 delete mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf

-- 
2.35.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH edk2-platforms 1/2] Ext4Pkg: Replace the CRC implementations with BaseLib
  2022-03-27  0:59 [PATCH edk2-platforms 0/2] Replace individual CRC implementations with BaseLib Pedro Falcato
@ 2022-03-27  0:59 ` Pedro Falcato
  2022-03-27  0:59 ` [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib " Pedro Falcato
  1 sibling, 0 replies; 4+ messages in thread
From: Pedro Falcato @ 2022-03-27  0:59 UTC (permalink / raw)
  To: devel; +Cc: Leif Lindholm, Michael D Kinney

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3871

Since the existing CRC16/CRC32c implementations have been/will be
a part of BaseLib, use BaseLib and remove the Crc16.c/Crc32c.c.

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com>
---
 Features/Ext4Pkg/Ext4Dxe/Crc16.c     | 75 -------------------------
 Features/Ext4Pkg/Ext4Dxe/Crc32c.c    | 84 ----------------------------
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h   | 34 +----------
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf |  2 -
 4 files changed, 1 insertion(+), 194 deletions(-)
 delete mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
 delete mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c

diff --git a/Features/Ext4Pkg/Ext4Dxe/Crc16.c b/Features/Ext4Pkg/Ext4Dxe/Crc16.c
deleted file mode 100644
index 58d0220e4d30..000000000000
--- a/Features/Ext4Pkg/Ext4Dxe/Crc16.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/** @file
-  CRC16 calculation routines.
-
-  Copyright (c) 2021 Pedro Falcato All rights reserved.
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-**/
-
-#include <Uefi.h>
-
-STATIC CONST UINT16  gCrc16LookupTable[256] =
-{
-  0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
-  0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
-  0x0919, 0x1890, 0x2a0b, 0x3b82, 0x4f3d, 0x5eb4, 0x6c2f, 0x7da6,
-  0x8551, 0x94d8, 0xa643, 0xb7ca, 0xc375, 0xd2fc, 0xe067, 0xf1ee,
-  0x1232, 0x03bb, 0x3120, 0x20a9, 0x5416, 0x459f, 0x7704, 0x668d,
-  0x9e7a, 0x8ff3, 0xbd68, 0xace1, 0xd85e, 0xc9d7, 0xfb4c, 0xeac5,
-  0x1b2b, 0x0aa2, 0x3839, 0x29b0, 0x5d0f, 0x4c86, 0x7e1d, 0x6f94,
-  0x9763, 0x86ea, 0xb471, 0xa5f8, 0xd147, 0xc0ce, 0xf255, 0xe3dc,
-  0x2464, 0x35ed, 0x0776, 0x16ff, 0x6240, 0x73c9, 0x4152, 0x50db,
-  0xa82c, 0xb9a5, 0x8b3e, 0x9ab7, 0xee08, 0xff81, 0xcd1a, 0xdc93,
-  0x2d7d, 0x3cf4, 0x0e6f, 0x1fe6, 0x6b59, 0x7ad0, 0x484b, 0x59c2,
-  0xa135, 0xb0bc, 0x8227, 0x93ae, 0xe711, 0xf698, 0xc403, 0xd58a,
-  0x3656, 0x27df, 0x1544, 0x04cd, 0x7072, 0x61fb, 0x5360, 0x42e9,
-  0xba1e, 0xab97, 0x990c, 0x8885, 0xfc3a, 0xedb3, 0xdf28, 0xcea1,
-  0x3f4f, 0x2ec6, 0x1c5d, 0x0dd4, 0x796b, 0x68e2, 0x5a79, 0x4bf0,
-  0xb307, 0xa28e, 0x9015, 0x819c, 0xf523, 0xe4aa, 0xd631, 0xc7b8,
-  0x48c8, 0x5941, 0x6bda, 0x7a53, 0x0eec, 0x1f65, 0x2dfe, 0x3c77,
-  0xc480, 0xd509, 0xe792, 0xf61b, 0x82a4, 0x932d, 0xa1b6, 0xb03f,
-  0x41d1, 0x5058, 0x62c3, 0x734a, 0x07f5, 0x167c, 0x24e7, 0x356e,
-  0xcd99, 0xdc10, 0xee8b, 0xff02, 0x8bbd, 0x9a34, 0xa8af, 0xb926,
-  0x5afa, 0x4b73, 0x79e8, 0x6861, 0x1cde, 0x0d57, 0x3fcc, 0x2e45,
-  0xd6b2, 0xc73b, 0xf5a0, 0xe429, 0x9096, 0x811f, 0xb384, 0xa20d,
-  0x53e3, 0x426a, 0x70f1, 0x6178, 0x15c7, 0x044e, 0x36d5, 0x275c,
-  0xdfab, 0xce22, 0xfcb9, 0xed30, 0x998f, 0x8806, 0xba9d, 0xab14,
-  0x6cac, 0x7d25, 0x4fbe, 0x5e37, 0x2a88, 0x3b01, 0x099a, 0x1813,
-  0xe0e4, 0xf16d, 0xc3f6, 0xd27f, 0xa6c0, 0xb749, 0x85d2, 0x945b,
-  0x65b5, 0x743c, 0x46a7, 0x572e, 0x2391, 0x3218, 0x0083, 0x110a,
-  0xe9fd, 0xf874, 0xcaef, 0xdb66, 0xafd9, 0xbe50, 0x8ccb, 0x9d42,
-  0x7e9e, 0x6f17, 0x5d8c, 0x4c05, 0x38ba, 0x2933, 0x1ba8, 0x0a21,
-  0xf2d6, 0xe35f, 0xd1c4, 0xc04d, 0xb4f2, 0xa57b, 0x97e0, 0x8669,
-  0x7787, 0x660e, 0x5495, 0x451c, 0x31a3, 0x202a, 0x12b1, 0x0338,
-  0xfbcf, 0xea46, 0xd8dd, 0xc954, 0xbdeb, 0xac62, 0x9ef9, 0x8f70
-};
-
-/**
-   Calculates the CRC16 checksum of the given buffer.
-
-   @param[in]      Buffer        Pointer to the buffer.
-   @param[in]      Length        Length of the buffer, in bytes.
-   @param[in]      InitialValue  Initial value of the CRC.
-
-   @return The CRC16 checksum.
-**/
-UINT16
-CalculateCrc16 (
-  IN CONST VOID  *Buffer,
-  IN UINTN       Length,
-  IN UINT16      InitialValue
-  )
-{
-  CONST UINT8  *Buf;
-  UINT16       Crc;
-
-  Buf = Buffer;
-
-  Crc = ~InitialValue;
-
-  while (Length-- != 0) {
-    Crc = gCrc16LookupTable[(Crc & 0xFF) ^ *(Buf++)] ^ (Crc >> 8);
-  }
-
-  return ~Crc;
-}
diff --git a/Features/Ext4Pkg/Ext4Dxe/Crc32c.c b/Features/Ext4Pkg/Ext4Dxe/Crc32c.c
deleted file mode 100644
index 9601316240d7..000000000000
--- a/Features/Ext4Pkg/Ext4Dxe/Crc32c.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/** @file
-  CRC32c calculation routines.
-
-  Copyright (c) 2021 Pedro Falcato All rights reserved.
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-**/
-
-#include <Uefi.h>
-
-STATIC CONST UINT32  gCrc32cLookupTable[256] = {
-  0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, 0xc79a971f, 0x35f1141c,
-  0x26a1e7e8, 0xd4ca64eb, 0x8ad958cf, 0x78b2dbcc, 0x6be22838, 0x9989ab3b,
-  0x4d43cfd0, 0xbf284cd3, 0xac78bf27, 0x5e133c24, 0x105ec76f, 0xe235446c,
-  0xf165b798, 0x030e349b, 0xd7c45070, 0x25afd373, 0x36ff2087, 0xc494a384,
-  0x9a879fa0, 0x68ec1ca3, 0x7bbcef57, 0x89d76c54, 0x5d1d08bf, 0xaf768bbc,
-  0xbc267848, 0x4e4dfb4b, 0x20bd8ede, 0xd2d60ddd, 0xc186fe29, 0x33ed7d2a,
-  0xe72719c1, 0x154c9ac2, 0x061c6936, 0xf477ea35, 0xaa64d611, 0x580f5512,
-  0x4b5fa6e6, 0xb93425e5, 0x6dfe410e, 0x9f95c20d, 0x8cc531f9, 0x7eaeb2fa,
-  0x30e349b1, 0xc288cab2, 0xd1d83946, 0x23b3ba45, 0xf779deae, 0x05125dad,
-  0x1642ae59, 0xe4292d5a, 0xba3a117e, 0x4851927d, 0x5b016189, 0xa96ae28a,
-  0x7da08661, 0x8fcb0562, 0x9c9bf696, 0x6ef07595, 0x417b1dbc, 0xb3109ebf,
-  0xa0406d4b, 0x522bee48, 0x86e18aa3, 0x748a09a0, 0x67dafa54, 0x95b17957,
-  0xcba24573, 0x39c9c670, 0x2a993584, 0xd8f2b687, 0x0c38d26c, 0xfe53516f,
-  0xed03a29b, 0x1f682198, 0x5125dad3, 0xa34e59d0, 0xb01eaa24, 0x42752927,
-  0x96bf4dcc, 0x64d4cecf, 0x77843d3b, 0x85efbe38, 0xdbfc821c, 0x2997011f,
-  0x3ac7f2eb, 0xc8ac71e8, 0x1c661503, 0xee0d9600, 0xfd5d65f4, 0x0f36e6f7,
-  0x61c69362, 0x93ad1061, 0x80fde395, 0x72966096, 0xa65c047d, 0x5437877e,
-  0x4767748a, 0xb50cf789, 0xeb1fcbad, 0x197448ae, 0x0a24bb5a, 0xf84f3859,
-  0x2c855cb2, 0xdeeedfb1, 0xcdbe2c45, 0x3fd5af46, 0x7198540d, 0x83f3d70e,
-  0x90a324fa, 0x62c8a7f9, 0xb602c312, 0x44694011, 0x5739b3e5, 0xa55230e6,
-  0xfb410cc2, 0x092a8fc1, 0x1a7a7c35, 0xe811ff36, 0x3cdb9bdd, 0xceb018de,
-  0xdde0eb2a, 0x2f8b6829, 0x82f63b78, 0x709db87b, 0x63cd4b8f, 0x91a6c88c,
-  0x456cac67, 0xb7072f64, 0xa457dc90, 0x563c5f93, 0x082f63b7, 0xfa44e0b4,
-  0xe9141340, 0x1b7f9043, 0xcfb5f4a8, 0x3dde77ab, 0x2e8e845f, 0xdce5075c,
-  0x92a8fc17, 0x60c37f14, 0x73938ce0, 0x81f80fe3, 0x55326b08, 0xa759e80b,
-  0xb4091bff, 0x466298fc, 0x1871a4d8, 0xea1a27db, 0xf94ad42f, 0x0b21572c,
-  0xdfeb33c7, 0x2d80b0c4, 0x3ed04330, 0xccbbc033, 0xa24bb5a6, 0x502036a5,
-  0x4370c551, 0xb11b4652, 0x65d122b9, 0x97baa1ba, 0x84ea524e, 0x7681d14d,
-  0x2892ed69, 0xdaf96e6a, 0xc9a99d9e, 0x3bc21e9d, 0xef087a76, 0x1d63f975,
-  0x0e330a81, 0xfc588982, 0xb21572c9, 0x407ef1ca, 0x532e023e, 0xa145813d,
-  0x758fe5d6, 0x87e466d5, 0x94b49521, 0x66df1622, 0x38cc2a06, 0xcaa7a905,
-  0xd9f75af1, 0x2b9cd9f2, 0xff56bd19, 0x0d3d3e1a, 0x1e6dcdee, 0xec064eed,
-  0xc38d26c4, 0x31e6a5c7, 0x22b65633, 0xd0ddd530, 0x0417b1db, 0xf67c32d8,
-  0xe52cc12c, 0x1747422f, 0x49547e0b, 0xbb3ffd08, 0xa86f0efc, 0x5a048dff,
-  0x8ecee914, 0x7ca56a17, 0x6ff599e3, 0x9d9e1ae0, 0xd3d3e1ab, 0x21b862a8,
-  0x32e8915c, 0xc083125f, 0x144976b4, 0xe622f5b7, 0xf5720643, 0x07198540,
-  0x590ab964, 0xab613a67, 0xb831c993, 0x4a5a4a90, 0x9e902e7b, 0x6cfbad78,
-  0x7fab5e8c, 0x8dc0dd8f, 0xe330a81a, 0x115b2b19, 0x020bd8ed, 0xf0605bee,
-  0x24aa3f05, 0xd6c1bc06, 0xc5914ff2, 0x37faccf1, 0x69e9f0d5, 0x9b8273d6,
-  0x88d28022, 0x7ab90321, 0xae7367ca, 0x5c18e4c9, 0x4f48173d, 0xbd23943e,
-  0xf36e6f75, 0x0105ec76, 0x12551f82, 0xe03e9c81, 0x34f4f86a, 0xc69f7b69,
-  0xd5cf889d, 0x27a40b9e, 0x79b737ba, 0x8bdcb4b9, 0x988c474d, 0x6ae7c44e,
-  0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351
-};
-
-/**
-   Calculates the CRC32c checksum of the given buffer.
-
-   @param[in]      Buffer        Pointer to the buffer.
-   @param[in]      Length        Length of the buffer, in bytes.
-   @param[in]      InitialValue  Initial value of the CRC.
-
-   @return The CRC32c checksum.
-**/
-UINT32
-CalculateCrc32c (
-  IN CONST VOID  *Buffer,
-  IN UINTN       Length,
-  IN UINT32      InitialValue
-  )
-{
-  CONST UINT8  *Buf;
-  UINT32       Crc;
-
-  Buf = Buffer;
-  Crc = ~InitialValue;
-
-  while (Length-- != 0) {
-    Crc = gCrc32cLookupTable[(Crc & 0xFF) ^ *(Buf++)] ^ (Crc >> 8);
-  }
-
-  return ~Crc;
-}
diff --git a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
index 1d9a4ac6bad3..fbdffd21f918 100644
--- a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
+++ b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
@@ -1,7 +1,7 @@
 /** @file
   Common header for the driver
 
-  Copyright (c) 2021 Pedro Falcato All rights reserved.
+  Copyright (c) 2021 - 2022 Pedro Falcato All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 **/
 
@@ -929,38 +929,6 @@ Ext4FreeExtentsMap (
   IN EXT4_FILE  *File
   );
 
-/**
-   Calculates the CRC32c checksum of the given buffer.
-
-   @param[in]      Buffer        Pointer to the buffer.
-   @param[in]      Length        Length of the buffer, in bytes.
-   @param[in]      InitialValue  Initial value of the CRC.
-
-   @return The CRC32c checksum.
-**/
-UINT32
-CalculateCrc32c (
-  IN CONST VOID  *Buffer,
-  IN UINTN       Length,
-  IN UINT32      InitialValue
-  );
-
-/**
-   Calculates the CRC16 checksum of the given buffer.
-
-   @param[in]      Buffer        Pointer to the buffer.
-   @param[in]      Length        Length of the buffer, in bytes.
-   @param[in]      InitialValue  Initial value of the CRC.
-
-   @return The CRC16 checksum.
-**/
-UINT16
-CalculateCrc16 (
-  IN CONST VOID  *Buffer,
-  IN UINTN       Length,
-  IN UINT16      InitialValue
-  );
-
 /**
    Calculates the checksum of the given buffer.
    @param[in]      Partition     Pointer to the opened EXT4 partition.
diff --git a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
index 6533de6247dc..12e89bf1fdfc 100644
--- a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
+++ b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
@@ -109,8 +109,6 @@
   Extents.c
   File.c
   Collation.c
-  Crc32c.c
-  Crc16.c
   Ext4Disk.h
   Ext4Dxe.h
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib with BaseLib
  2022-03-27  0:59 [PATCH edk2-platforms 0/2] Replace individual CRC implementations with BaseLib Pedro Falcato
  2022-03-27  0:59 ` [PATCH edk2-platforms 1/2] Ext4Pkg: Replace the " Pedro Falcato
@ 2022-03-27  0:59 ` Pedro Falcato
  2022-03-28  1:51   ` Pedro Falcato
  1 sibling, 1 reply; 4+ messages in thread
From: Pedro Falcato @ 2022-03-27  0:59 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Nate DeSimone, Chasel Chiu

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3871

Delete BaseCrcLib and slightly adjust each CalculateCrc16 call
for the BaseLib CalculateCrc16() interface, as part of an effort to
unify CRC16 implementations.

Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>

Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com>
---
 .../Include/Library/CrcLib.h                  | 42 -----------
 .../AcpiPlatformLibBdat.c                     | 46 ++++--------
 .../Library/BaseCrcLib/BaseCrcLib.c           | 71 -------------------
 .../Library/BaseCrcLib/BaseCrcLib.inf         | 23 ------
 .../Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc |  1 -
 5 files changed, 12 insertions(+), 171 deletions(-)
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
 delete mode 100644 Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf

diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
deleted file mode 100644
index 7ca3b7cabb14..000000000000
--- a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/** @file
-  Interface header file for the CRC library class.
-
-  @copyright
-  Copyright 2016 - 2018 Intel Corporation. <BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-**/
-
-#ifndef _CRC_LIB_H_
-#define _CRC_LIB_H_
-
-#include <Uefi.h>
-
-/**
-  Calculate a 16-bit CRC.
-
-  The algorithm used is MSB-first form of the ITU-T Recommendation V.41, which
-  uses an initial value of 0x0000 and a polynomial of 0x1021. It is the same
-  algorithm used by XMODEM.
-
-  The output CRC location is not updated until the calculation is finished, so
-  it is possible to pass a structure as the data, and the CRC field of the same
-  structure as the output location for the calculated CRC. The CRC field should
-  be set to zero before calling this function. Once the CRC field is updated by
-  this function, running it again over the structure produces a CRC of zero.
-
-  @param[in]  Data              A pointer to the target data.
-  @param[in]  DataSize          The target data size.
-  @param[out] CrcOut            A pointer to the return location of the CRC.
-
-  @retval EFI_SUCCESS           The CRC was calculated successfully.
-  @retval EFI_INVALID_PARAMETER A null pointer was provided.
-**/
-EFI_STATUS
-CalculateCrc16 (
-  IN  VOID    *Data,
-  IN  UINTN   DataSize,
-  OUT UINT16  *CrcOut
-  );
-
-#endif  // _CRC_LIB_H_
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
index 09464b4a11d1..a1780ced39aa 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
@@ -11,9 +11,9 @@
 // Statements that include other files
 //
 #include "AcpiPlatformLibLocal.h"
-#include <Library/CrcLib.h>
 #include <BdatSchema.h>
 #include <Guid/MemoryMapData.h>
+#include <Library/BaseLib.h>
 #include <Library/CompressedVariableLib.h>
 #include <Protocol/DynamicSiLibraryProtocol2.h>
 #include <Protocol/DynamicSiLibraryProtocol2.h>
@@ -287,15 +287,12 @@ CreateBdatHeader (
   // CRC16 value of the BDAT_STRUCTURE
   //
   (*BdatHeaderStructPtr)->BdatHeader.Crc16 = 0;
-  Status = CalculateCrc16 (
+  (*BdatHeaderStructPtr)->BdatHeader.Crc16 = CalculateCrc16 (
     (VOID *)(*BdatHeaderStructPtr),
     BdatSize,
-    &(*BdatHeaderStructPtr)->BdatHeader.Crc16
+    0
   );
-  ASSERT_EFI_ERROR (Status);
-  if (EFI_ERROR (Status)) {
-    (*BdatHeaderStructPtr)->BdatHeader.Crc16 = 0xFFFF;
-  }
+
   (*BdatHeaderStructPtr)->BdatSchemas.SchemaListLength = NumberOfSchema;
   (*BdatHeaderStructPtr)->BdatSchemas.Reserved = 0;
   (*BdatHeaderStructPtr)->BdatSchemas.Reserved1 = 0;
@@ -1088,15 +1085,11 @@ SaveBssaResultsToBdat (
       // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
       //
       BssaSchemaHeaderPtr->Crc16 = 0;
-      Status = CalculateCrc16 (
+      BssaSchemaHeaderPtr->Crc16 = CalculateCrc16 (
         (VOID *) BssaSchemaHeaderPtr,
         sizeof (BDAT_SCHEMA_HEADER_STRUCTURE),
-        &BssaSchemaHeaderPtr->Crc16
+        0
         );
-      ASSERT_EFI_ERROR (Status);
-      if (EFI_ERROR (Status)) {
-        BssaSchemaHeaderPtr->Crc16 = 0xFFFF;
-      }
 
       if (RemainingHobSizeBssaSchema < CurrentHobSize) {
         DEBUG ((DEBUG_WARN, "Not enough space to add complete BIOS SSA result\n"));
@@ -1217,17 +1210,12 @@ SaveEwlToBdat (
   // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
   //
   EwlSchemaHeaderPtr->Crc16 = 0;
-  Status = CalculateCrc16 (
+  EwlSchemaHeaderPtr->Crc16 = CalculateCrc16 (
     (VOID *)EwlSchemaHeaderPtr,
     sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
-    &EwlSchemaHeaderPtr->Crc16
+    0
   );
 
-  ASSERT_EFI_ERROR (Status);
-  if (EFI_ERROR (Status)) {
-    EwlSchemaHeaderPtr->Crc16 = 0xFFFF;
-  }
-
   GuidHob = GetFirstGuidHob (&EWLDataGuid);
   EwlPrivateData = GET_GUID_HOB_DATA (GuidHob);
 
@@ -1334,17 +1322,12 @@ SaveSpdToBdat (
   // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
   //
   SpdSchemaHeaderPtr->Crc16 = 0;
-  Status = CalculateCrc16 (
+  SpdSchemaHeaderPtr->Crc16 = CalculateCrc16 (
     (VOID *)SpdSchemaHeaderPtr,
     sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
-    &SpdSchemaHeaderPtr->Crc16
+    0
   );
 
-  ASSERT_EFI_ERROR (Status);
-  if (EFI_ERROR (Status)) {
-    SpdSchemaHeaderPtr->Crc16 = 0xFFFF;
-  }
-
   Address = Address + sizeof(BDAT_SCHEMA_HEADER_STRUCTURE);
   *SchemaSpaceUsed = *SchemaSpaceUsed + sizeof(BDAT_SCHEMA_HEADER_STRUCTURE);
 
@@ -1483,17 +1466,12 @@ SaveTrainingDataToBdat (
   // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
   //
   SchemaHeaderPtr->Crc16 = 0;
-  Status = CalculateCrc16 (
+  SchemaHeaderPtr->Crc16 = CalculateCrc16 (
     (VOID *)SchemaHeaderPtr,
     sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
-    &SchemaHeaderPtr->Crc16
+    0
   );
 
-  ASSERT_EFI_ERROR (Status);
-  if (EFI_ERROR (Status)) {
-    SchemaHeaderPtr->Crc16 = 0xFFFF;
-  }
-
   GuidHob = GetFirstGuidHob (&TrainingDataGuid);
 
   ASSERT (GuidHob != NULL);
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
deleted file mode 100644
index 3e8fa402add3..000000000000
--- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/** @file
-  Base implementation of the CRC library class.
-
-  @copyright
-  Copyright 2016 - 2018 Intel Corporation. <BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-**/
-
-#include <Base.h>
-#include <Library/CrcLib.h>
-
-/**
-  Calculate a 16-bit CRC.
-
-  The algorithm used is MSB-first form of the ITU-T Recommendation V.41, which
-  uses an initial value of 0x0000 and a polynomial of 0x1021. It is the same
-  algorithm used by XMODEM.
-
-  The output CRC location is not updated until the calculation is finished, so
-  it is possible to pass a structure as the data, and the CRC field of the same
-  structure as the output location for the calculated CRC. The CRC field should
-  be set to zero before calling this function. Once the CRC field is updated by
-  this function, running it again over the structure produces a CRC of zero.
-
-  @param[in]  Data              A pointer to the target data.
-  @param[in]  DataSize          The target data size.
-  @param[out] CrcOut            A pointer to the return location of the CRC.
-
-  @retval EFI_SUCCESS           The CRC was calculated successfully.
-  @retval EFI_INVALID_PARAMETER A null pointer was provided.
-**/
-EFI_STATUS
-CalculateCrc16 (
-  IN  VOID    *Data,
-  IN  UINTN   DataSize,
-  OUT UINT16  *CrcOut
-  )
-{
-  UINT32  Crc;
-  UINTN   Index;
-  UINT8   *Byte;
-
-  if (Data == NULL || CrcOut == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Crc = 0x0000;
-  for (Byte = (UINT8 *) Data; Byte < (UINT8 *) Data + DataSize; Byte++) {
-    //
-    // XOR the next data byte into the CRC.
-    //
-    Crc ^= (UINT16) *Byte << 8;
-    //
-    // Shift out eight bits, feeding back based on the polynomial whenever a
-    // 1 is shifted out of bit 15.
-    //
-    for (Index = 0; Index < 8; Index++) {
-      Crc <<= 1;
-      if (Crc & BIT16) {
-        Crc ^= 0x1021;
-      }
-    }
-  }
-
-  //
-  // Mask and return the 16-bit CRC.
-  //
-  *CrcOut = (UINT16) (Crc & 0xFFFF);
-  return EFI_SUCCESS;
-}
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf b/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
deleted file mode 100644
index 6b404e125959..000000000000
--- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
+++ /dev/null
@@ -1,23 +0,0 @@
-## @file
-# Base implementation of the CRC library class.
-#
-# @copyright
-# Copyright 2016 Intel Corporation. <BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-[Defines]
-  INF_VERSION                   = 0x00010019
-  BASE_NAME                     = BaseCrcLib
-  FILE_GUID                     = F3BE9A28-78A2-4B02-AB26-D27EE85D9256
-  MODULE_TYPE                   = BASE
-  VERSION_STRING                = 1.0
-  LIBRARY_CLASS                 = CrcLib
-
-[Sources]
-  BaseCrcLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  WhitleyOpenBoardPkg/PlatformPkg.dec
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
index 8c4b9cf6ce28..5b9b08feca46 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
@@ -618,7 +618,6 @@
   PciSegmentInfoLib|$(PLATFORM_PKG)/Pci/Library/PciSegmentInfoLibSimple/PciSegmentInfoLibSimple.inf
   PlatformOpromPolicyLib|$(RP_PKG)/Library/PlatformOpromPolicyLibNull/PlatformOpromPolicyLibNull.inf
   VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
-  CrcLib|WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
   PlatformSpecificAcpiTableLib|WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.inf
   BuildAcpiTablesLib|WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.inf
   AcpiPlatformTableLib|WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.inf
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib with BaseLib
  2022-03-27  0:59 ` [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib " Pedro Falcato
@ 2022-03-28  1:51   ` Pedro Falcato
  0 siblings, 0 replies; 4+ messages in thread
From: Pedro Falcato @ 2022-03-28  1:51 UTC (permalink / raw)
  To: edk2-devel-groups-io; +Cc: Isaac Oram, Nate DeSimone, Chasel Chiu

[-- Attachment #1: Type: text/plain, Size: 11444 bytes --]

Hi,

Just wanted to note that this patch set is not mergeable/testable right
now. I'll submit a correct v2 as soon as possible.

Thanks for the understanding,
Pedro

On Sun, Mar 27, 2022 at 12:59 AM Pedro Falcato <pedro.falcato@gmail.com>
wrote:

> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3871
>
> Delete BaseCrcLib and slightly adjust each CalculateCrc16 call
> for the BaseLib CalculateCrc16() interface, as part of an effort to
> unify CRC16 implementations.
>
> Cc: Isaac Oram <isaac.w.oram@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
>
> Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com>
> ---
>  .../Include/Library/CrcLib.h                  | 42 -----------
>  .../AcpiPlatformLibBdat.c                     | 46 ++++--------
>  .../Library/BaseCrcLib/BaseCrcLib.c           | 71 -------------------
>  .../Library/BaseCrcLib/BaseCrcLib.inf         | 23 ------
>  .../Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc |  1 -
>  5 files changed, 12 insertions(+), 171 deletions(-)
>  delete mode 100644
> Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
>  delete mode 100644
> Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
>  delete mode 100644
> Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
>
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
> b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
> deleted file mode 100644
> index 7ca3b7cabb14..000000000000
> --- a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/CrcLib.h
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/** @file
> -  Interface header file for the CRC library class.
> -
> -  @copyright
> -  Copyright 2016 - 2018 Intel Corporation. <BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -**/
> -
> -#ifndef _CRC_LIB_H_
> -#define _CRC_LIB_H_
> -
> -#include <Uefi.h>
> -
> -/**
> -  Calculate a 16-bit CRC.
> -
> -  The algorithm used is MSB-first form of the ITU-T Recommendation V.41,
> which
> -  uses an initial value of 0x0000 and a polynomial of 0x1021. It is the
> same
> -  algorithm used by XMODEM.
> -
> -  The output CRC location is not updated until the calculation is
> finished, so
> -  it is possible to pass a structure as the data, and the CRC field of
> the same
> -  structure as the output location for the calculated CRC. The CRC field
> should
> -  be set to zero before calling this function. Once the CRC field is
> updated by
> -  this function, running it again over the structure produces a CRC of
> zero.
> -
> -  @param[in]  Data              A pointer to the target data.
> -  @param[in]  DataSize          The target data size.
> -  @param[out] CrcOut            A pointer to the return location of the
> CRC.
> -
> -  @retval EFI_SUCCESS           The CRC was calculated successfully.
> -  @retval EFI_INVALID_PARAMETER A null pointer was provided.
> -**/
> -EFI_STATUS
> -CalculateCrc16 (
> -  IN  VOID    *Data,
> -  IN  UINTN   DataSize,
> -  OUT UINT16  *CrcOut
> -  );
> -
> -#endif  // _CRC_LIB_H_
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
> b/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
> index 09464b4a11d1..a1780ced39aa 100644
> ---
> a/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
> +++
> b/Platform/Intel/WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLibBdat.c
> @@ -11,9 +11,9 @@
>  // Statements that include other files
>  //
>  #include "AcpiPlatformLibLocal.h"
> -#include <Library/CrcLib.h>
>  #include <BdatSchema.h>
>  #include <Guid/MemoryMapData.h>
> +#include <Library/BaseLib.h>
>  #include <Library/CompressedVariableLib.h>
>  #include <Protocol/DynamicSiLibraryProtocol2.h>
>  #include <Protocol/DynamicSiLibraryProtocol2.h>
> @@ -287,15 +287,12 @@ CreateBdatHeader (
>    // CRC16 value of the BDAT_STRUCTURE
>    //
>    (*BdatHeaderStructPtr)->BdatHeader.Crc16 = 0;
> -  Status = CalculateCrc16 (
> +  (*BdatHeaderStructPtr)->BdatHeader.Crc16 = CalculateCrc16 (
>      (VOID *)(*BdatHeaderStructPtr),
>      BdatSize,
> -    &(*BdatHeaderStructPtr)->BdatHeader.Crc16
> +    0
>    );
> -  ASSERT_EFI_ERROR (Status);
> -  if (EFI_ERROR (Status)) {
> -    (*BdatHeaderStructPtr)->BdatHeader.Crc16 = 0xFFFF;
> -  }
> +
>    (*BdatHeaderStructPtr)->BdatSchemas.SchemaListLength = NumberOfSchema;
>    (*BdatHeaderStructPtr)->BdatSchemas.Reserved = 0;
>    (*BdatHeaderStructPtr)->BdatSchemas.Reserved1 = 0;
> @@ -1088,15 +1085,11 @@ SaveBssaResultsToBdat (
>        // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
>        //
>        BssaSchemaHeaderPtr->Crc16 = 0;
> -      Status = CalculateCrc16 (
> +      BssaSchemaHeaderPtr->Crc16 = CalculateCrc16 (
>          (VOID *) BssaSchemaHeaderPtr,
>          sizeof (BDAT_SCHEMA_HEADER_STRUCTURE),
> -        &BssaSchemaHeaderPtr->Crc16
> +        0
>          );
> -      ASSERT_EFI_ERROR (Status);
> -      if (EFI_ERROR (Status)) {
> -        BssaSchemaHeaderPtr->Crc16 = 0xFFFF;
> -      }
>
>        if (RemainingHobSizeBssaSchema < CurrentHobSize) {
>          DEBUG ((DEBUG_WARN, "Not enough space to add complete BIOS SSA
> result\n"));
> @@ -1217,17 +1210,12 @@ SaveEwlToBdat (
>    // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
>    //
>    EwlSchemaHeaderPtr->Crc16 = 0;
> -  Status = CalculateCrc16 (
> +  EwlSchemaHeaderPtr->Crc16 = CalculateCrc16 (
>      (VOID *)EwlSchemaHeaderPtr,
>      sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
> -    &EwlSchemaHeaderPtr->Crc16
> +    0
>    );
>
> -  ASSERT_EFI_ERROR (Status);
> -  if (EFI_ERROR (Status)) {
> -    EwlSchemaHeaderPtr->Crc16 = 0xFFFF;
> -  }
> -
>    GuidHob = GetFirstGuidHob (&EWLDataGuid);
>    EwlPrivateData = GET_GUID_HOB_DATA (GuidHob);
>
> @@ -1334,17 +1322,12 @@ SaveSpdToBdat (
>    // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
>    //
>    SpdSchemaHeaderPtr->Crc16 = 0;
> -  Status = CalculateCrc16 (
> +  SpdSchemaHeaderPtr->Crc16 = CalculateCrc16 (
>      (VOID *)SpdSchemaHeaderPtr,
>      sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
> -    &SpdSchemaHeaderPtr->Crc16
> +    0
>    );
>
> -  ASSERT_EFI_ERROR (Status);
> -  if (EFI_ERROR (Status)) {
> -    SpdSchemaHeaderPtr->Crc16 = 0xFFFF;
> -  }
> -
>    Address = Address + sizeof(BDAT_SCHEMA_HEADER_STRUCTURE);
>    *SchemaSpaceUsed = *SchemaSpaceUsed +
> sizeof(BDAT_SCHEMA_HEADER_STRUCTURE);
>
> @@ -1483,17 +1466,12 @@ SaveTrainingDataToBdat (
>    // CRC16 value of the BDAT_SCHEMA_HEADER_STRUCTURE
>    //
>    SchemaHeaderPtr->Crc16 = 0;
> -  Status = CalculateCrc16 (
> +  SchemaHeaderPtr->Crc16 = CalculateCrc16 (
>      (VOID *)SchemaHeaderPtr,
>      sizeof(BDAT_SCHEMA_HEADER_STRUCTURE),
> -    &SchemaHeaderPtr->Crc16
> +    0
>    );
>
> -  ASSERT_EFI_ERROR (Status);
> -  if (EFI_ERROR (Status)) {
> -    SchemaHeaderPtr->Crc16 = 0xFFFF;
> -  }
> -
>    GuidHob = GetFirstGuidHob (&TrainingDataGuid);
>
>    ASSERT (GuidHob != NULL);
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
> b/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
> deleted file mode 100644
> index 3e8fa402add3..000000000000
> --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.c
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -/** @file
> -  Base implementation of the CRC library class.
> -
> -  @copyright
> -  Copyright 2016 - 2018 Intel Corporation. <BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -**/
> -
> -#include <Base.h>
> -#include <Library/CrcLib.h>
> -
> -/**
> -  Calculate a 16-bit CRC.
> -
> -  The algorithm used is MSB-first form of the ITU-T Recommendation V.41,
> which
> -  uses an initial value of 0x0000 and a polynomial of 0x1021. It is the
> same
> -  algorithm used by XMODEM.
> -
> -  The output CRC location is not updated until the calculation is
> finished, so
> -  it is possible to pass a structure as the data, and the CRC field of
> the same
> -  structure as the output location for the calculated CRC. The CRC field
> should
> -  be set to zero before calling this function. Once the CRC field is
> updated by
> -  this function, running it again over the structure produces a CRC of
> zero.
> -
> -  @param[in]  Data              A pointer to the target data.
> -  @param[in]  DataSize          The target data size.
> -  @param[out] CrcOut            A pointer to the return location of the
> CRC.
> -
> -  @retval EFI_SUCCESS           The CRC was calculated successfully.
> -  @retval EFI_INVALID_PARAMETER A null pointer was provided.
> -**/
> -EFI_STATUS
> -CalculateCrc16 (
> -  IN  VOID    *Data,
> -  IN  UINTN   DataSize,
> -  OUT UINT16  *CrcOut
> -  )
> -{
> -  UINT32  Crc;
> -  UINTN   Index;
> -  UINT8   *Byte;
> -
> -  if (Data == NULL || CrcOut == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Crc = 0x0000;
> -  for (Byte = (UINT8 *) Data; Byte < (UINT8 *) Data + DataSize; Byte++) {
> -    //
> -    // XOR the next data byte into the CRC.
> -    //
> -    Crc ^= (UINT16) *Byte << 8;
> -    //
> -    // Shift out eight bits, feeding back based on the polynomial
> whenever a
> -    // 1 is shifted out of bit 15.
> -    //
> -    for (Index = 0; Index < 8; Index++) {
> -      Crc <<= 1;
> -      if (Crc & BIT16) {
> -        Crc ^= 0x1021;
> -      }
> -    }
> -  }
> -
> -  //
> -  // Mask and return the 16-bit CRC.
> -  //
> -  *CrcOut = (UINT16) (Crc & 0xFFFF);
> -  return EFI_SUCCESS;
> -}
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
> b/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
> deleted file mode 100644
> index 6b404e125959..000000000000
> --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -## @file
> -# Base implementation of the CRC library class.
> -#
> -# @copyright
> -# Copyright 2016 Intel Corporation. <BR>
> -#
> -# SPDX-License-Identifier: BSD-2-Clause-Patent
> -##
> -
> -[Defines]
> -  INF_VERSION                   = 0x00010019
> -  BASE_NAME                     = BaseCrcLib
> -  FILE_GUID                     = F3BE9A28-78A2-4B02-AB26-D27EE85D9256
> -  MODULE_TYPE                   = BASE
> -  VERSION_STRING                = 1.0
> -  LIBRARY_CLASS                 = CrcLib
> -
> -[Sources]
> -  BaseCrcLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  WhitleyOpenBoardPkg/PlatformPkg.dec
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> index 8c4b9cf6ce28..5b9b08feca46 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> @@ -618,7 +618,6 @@
>
>  PciSegmentInfoLib|$(PLATFORM_PKG)/Pci/Library/PciSegmentInfoLibSimple/PciSegmentInfoLibSimple.inf
>
>  PlatformOpromPolicyLib|$(RP_PKG)/Library/PlatformOpromPolicyLibNull/PlatformOpromPolicyLibNull.inf
>    VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
> -  CrcLib|WhitleyOpenBoardPkg/Library/BaseCrcLib/BaseCrcLib.inf
>
>  PlatformSpecificAcpiTableLib|WhitleyOpenBoardPkg/Library/PlatformSpecificAcpiTableLibNull/PlatformSpecificAcpiTableLibNull.inf
>
>  BuildAcpiTablesLib|WhitleyOpenBoardPkg/Library/BuildAcpiTablesLib/DxeBuildAcpiTablesLib.inf
>
>  AcpiPlatformTableLib|WhitleyOpenBoardPkg/Library/AcpiPlatformTableLib/AcpiPlatformLib.inf
> --
> 2.35.1
>
>

-- 
Pedro Falcato

[-- Attachment #2: Type: text/html, Size: 13817 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-03-28  1:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-27  0:59 [PATCH edk2-platforms 0/2] Replace individual CRC implementations with BaseLib Pedro Falcato
2022-03-27  0:59 ` [PATCH edk2-platforms 1/2] Ext4Pkg: Replace the " Pedro Falcato
2022-03-27  0:59 ` [PATCH edk2-platforms 2/2] WhitleyOpenBoardPkg: Replace BaseCrcLib " Pedro Falcato
2022-03-28  1:51   ` Pedro Falcato

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox