]> git.proxmox.com Git - mirror_edk2.git/commitdiff
do checksum before installing IBFT.
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 24 Jun 2009 09:39:47 +0000 (09:39 +0000)
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 24 Jun 2009 09:39:47 +0000 (09:39 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8649 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.c

index 60a11b2e0d6ecd4cb92ddbe1429c8a8a50a42b88..6d2b184aad9ea1909cdea4c880c75e6b181e09e5 100644 (file)
@@ -448,6 +448,7 @@ IScsiPublishIbft (
   UINTN                                     HandleCount;\r
   EFI_HANDLE                                *HandleBuffer;\r
   UINT8                                     *Heap;\r
+  UINT8                                     Checksum;\r
 \r
   Status = gBS->LocateProtocol (&gEfiAcpiTableProtocolGuid, NULL, (VOID **)&AcpiTableProtocol);\r
   if (EFI_ERROR (Status)) {\r
@@ -481,7 +482,7 @@ IScsiPublishIbft (
   //\r
   // Allocate 4k bytes to hold the ACPI table.\r
   //\r
-  Table = AllocatePool (IBFT_MAX_SIZE);\r
+  Table = AllocateZeroPool (IBFT_MAX_SIZE);\r
   if (Table == NULL) {\r
     return ;\r
   }\r
@@ -496,6 +497,9 @@ IScsiPublishIbft (
   IScsiFillInitiatorSection (Table, &Heap, HandleBuffer[0]);\r
   IScsiFillNICAndTargetSections (Table, &Heap, HandleCount, HandleBuffer);\r
 \r
+  Checksum = CalculateCheckSum8((UINT8 *)Table, Table->Length);\r
+  Table->Checksum = Checksum;\r
+\r
   FreePool (HandleBuffer);\r
 \r
   //\r