[coreboot-gerrit] Patch set updated for coreboot: AGESA vendorcode: Drop alternate image dispatcher

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Mon Apr 18 14:36:13 CEST 2016


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14395

-gerrit

commit 24dc28cf7e79d76859d47b92e267819130dbcf3a
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Mon Apr 18 14:42:12 2016 +0300

    AGESA vendorcode: Drop alternate image dispatcher
    
    Not used as we link AGESA into same romstage and ramstage ELF.
    
    Change-Id: Ia427b9c0cc88b870de75df14bba4ca337a28adff
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 .../amd/agesa/f10/Legacy/Proc/Dispatcher.c         | 23 ------
 src/vendorcode/amd/agesa/f10/Lib/amdlib.c          | 85 ---------------------
 src/vendorcode/amd/agesa/f10/Lib/amdlib.h          | 13 ----
 .../amd/agesa/f12/Legacy/Proc/Dispatcher.c         | 23 ------
 src/vendorcode/amd/agesa/f12/Lib/amdlib.c          | 86 ----------------------
 src/vendorcode/amd/agesa/f12/Lib/amdlib.h          | 13 ----
 .../amd/agesa/f14/Legacy/Proc/Dispatcher.c         | 23 ------
 src/vendorcode/amd/agesa/f14/Lib/amdlib.c          | 86 ----------------------
 src/vendorcode/amd/agesa/f14/Lib/amdlib.h          | 13 ----
 .../amd/agesa/f15/Legacy/Proc/Dispatcher.c         | 23 ------
 src/vendorcode/amd/agesa/f15/Lib/amdlib.c          | 86 ----------------------
 src/vendorcode/amd/agesa/f15/Lib/amdlib.h          | 13 ----
 .../amd/agesa/f15tn/Legacy/Proc/Dispatcher.c       | 23 ------
 src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c        | 86 ----------------------
 src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h        | 13 ----
 .../amd/agesa/f16kb/Legacy/Proc/Dispatcher.c       | 23 ------
 src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c        | 86 ----------------------
 src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h        | 13 ----
 18 files changed, 731 deletions(-)

diff --git a/src/vendorcode/amd/agesa/f10/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f10/Legacy/Proc/Dispatcher.c
index 364a46a..4fc75b7 100644
--- a/src/vendorcode/amd/agesa/f10/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f10/Legacy/Proc/Dispatcher.c
@@ -76,19 +76,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINT32 ImageStart;
-  UINT32 ImageEnd;
-  AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -107,21 +99,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *)ImageStart, (VOID *)ImageEnd, 4096, (CHAR8 *)AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) (AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f10/Lib/amdlib.c b/src/vendorcode/amd/agesa/f10/Lib/amdlib.c
index 860fb54..1076572 100644
--- a/src/vendorcode/amd/agesa/f10/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f10/Lib/amdlib.c
@@ -1131,91 +1131,6 @@ LibAmdMemCopy (
   }
 }
 
-/*---------------------------------------------------------------------------------------*/
-/**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-VOID *
-LibAmdLocateImage (
-  IN       VOID *StartAddress,
-  IN       VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CHAR8 ModuleSignature[8]
-  )
-
-{
-  UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  UINT64 *SearchStr;
-  UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
 
 /*---------------------------------------------------------------------------------------*/
 /**
diff --git a/src/vendorcode/amd/agesa/f10/Lib/amdlib.h b/src/vendorcode/amd/agesa/f10/Lib/amdlib.h
index 1954499..367db91 100644
--- a/src/vendorcode/amd/agesa/f10/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f10/Lib/amdlib.h
@@ -298,24 +298,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-VOID *
-LibAmdLocateImage (
-  IN       VOID *StartAddress,
-  IN       VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value
diff --git a/src/vendorcode/amd/agesa/f12/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f12/Legacy/Proc/Dispatcher.c
index 23c2a72..f5cc036 100644
--- a/src/vendorcode/amd/agesa/f12/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f12/Legacy/Proc/Dispatcher.c
@@ -79,19 +79,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINT32 ImageStart;
-  UINT32 ImageEnd;
-  CONST AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -110,21 +102,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *) (intptr_t) ImageStart, (VOID *) (intptr_t) ImageEnd, 4096, (CHAR8 *)AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) ((intptr_t) AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f12/Lib/amdlib.c b/src/vendorcode/amd/agesa/f12/Lib/amdlib.c
index 9ce10b6..ec85f78 100644
--- a/src/vendorcode/amd/agesa/f12/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f12/Lib/amdlib.c
@@ -1137,92 +1137,6 @@ LibAmdMemCopy (
 
 /*---------------------------------------------------------------------------------------*/
 /**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  )
-
-{
-  CONST UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  CONST UINT64 *SearchStr;
-  CONST UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
  * Returns the package type mask for the processor
  *
  *
diff --git a/src/vendorcode/amd/agesa/f12/Lib/amdlib.h b/src/vendorcode/amd/agesa/f12/Lib/amdlib.h
index 5225dce..702cde8 100644
--- a/src/vendorcode/amd/agesa/f12/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f12/Lib/amdlib.h
@@ -329,24 +329,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value
diff --git a/src/vendorcode/amd/agesa/f14/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f14/Legacy/Proc/Dispatcher.c
index 10ec224..ec95fa3 100644
--- a/src/vendorcode/amd/agesa/f14/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f14/Legacy/Proc/Dispatcher.c
@@ -82,19 +82,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINTN ImageStart;
-  UINTN ImageEnd;
-  CONST AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -113,21 +105,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *)ImageStart, (VOID *)ImageEnd, 4096, (CHAR8 *)AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) (AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f14/Lib/amdlib.c b/src/vendorcode/amd/agesa/f14/Lib/amdlib.c
index 24c162a..b28878b 100644
--- a/src/vendorcode/amd/agesa/f14/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f14/Lib/amdlib.c
@@ -1137,92 +1137,6 @@ LibAmdMemCopy (
 
 /*---------------------------------------------------------------------------------------*/
 /**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  )
-
-{
-  CONST UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  CONST UINT64 *SearchStr;
-  CONST UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
  * Returns the package type mask for the processor
  *
  *
diff --git a/src/vendorcode/amd/agesa/f14/Lib/amdlib.h b/src/vendorcode/amd/agesa/f14/Lib/amdlib.h
index 17b2be9..25f19a3 100644
--- a/src/vendorcode/amd/agesa/f14/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f14/Lib/amdlib.h
@@ -331,24 +331,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value
diff --git a/src/vendorcode/amd/agesa/f15/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f15/Legacy/Proc/Dispatcher.c
index adb3ff5..149f1fe 100644
--- a/src/vendorcode/amd/agesa/f15/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f15/Legacy/Proc/Dispatcher.c
@@ -80,19 +80,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINTN ImageStart;
-  UINTN ImageEnd;
-  AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -111,21 +103,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *) /* (UINT64) */ImageStart, (VOID *) /* (UINT64) */ImageEnd, 4096, (CHAR8 *) AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) (/* (UINT64) */ AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f15/Lib/amdlib.c b/src/vendorcode/amd/agesa/f15/Lib/amdlib.c
index 90b0272..cbb8419 100644
--- a/src/vendorcode/amd/agesa/f15/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f15/Lib/amdlib.c
@@ -1158,92 +1158,6 @@ LibAmdMemCopy (
 
 /*---------------------------------------------------------------------------------------*/
 /**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-VOID *
-LibAmdLocateImage (
-  IN       VOID *StartAddress,
-  IN       VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CHAR8 ModuleSignature[8]
-  )
-
-{
-  UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  UINT64 *SearchStr;
-  UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
  * Returns the package type mask for the processor
  *
  *
diff --git a/src/vendorcode/amd/agesa/f15/Lib/amdlib.h b/src/vendorcode/amd/agesa/f15/Lib/amdlib.h
index a9a722f..f7a747c 100644
--- a/src/vendorcode/amd/agesa/f15/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f15/Lib/amdlib.h
@@ -313,24 +313,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-VOID *
-LibAmdLocateImage (
-  IN       VOID *StartAddress,
-  IN       VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value
diff --git a/src/vendorcode/amd/agesa/f15tn/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f15tn/Legacy/Proc/Dispatcher.c
index a45b69c..59209fe 100644
--- a/src/vendorcode/amd/agesa/f15tn/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f15tn/Legacy/Proc/Dispatcher.c
@@ -79,19 +79,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINTN ImageStart;
-  UINTN ImageEnd;
-  CONST AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -110,21 +102,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *) /* (UINT64) */ImageStart, (VOID *) /* (UINT64) */ImageEnd, 4096, (CHAR8 *) AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) (/* (UINT64) */ AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c b/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c
index 1e2e349..3008db2 100644
--- a/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c
@@ -1159,92 +1159,6 @@ LibAmdMemCopy (
 
 /*---------------------------------------------------------------------------------------*/
 /**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  )
-
-{
-  CONST UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  CONST UINT64 *SearchStr;
-  CONST UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
  * Returns the package type mask for the processor
  *
  *
diff --git a/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h b/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h
index 1f14331..ea15c7b 100644
--- a/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h
@@ -299,24 +299,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value
diff --git a/src/vendorcode/amd/agesa/f16kb/Legacy/Proc/Dispatcher.c b/src/vendorcode/amd/agesa/f16kb/Legacy/Proc/Dispatcher.c
index d787dc0..067fabd 100644
--- a/src/vendorcode/amd/agesa/f16kb/Legacy/Proc/Dispatcher.c
+++ b/src/vendorcode/amd/agesa/f16kb/Legacy/Proc/Dispatcher.c
@@ -79,19 +79,11 @@ AmdAgesaDispatcher (
   )
 {
   AGESA_STATUS Status;
-  IMAGE_ENTRY ImageEntry;
   MODULE_ENTRY  ModuleEntry;
   DISPATCH_TABLE *Entry;
-  UINTN ImageStart;
-  UINTN ImageEnd;
-  CONST AMD_IMAGE_HEADER* AltImagePtr;
 
   Status = AGESA_UNSUPPORTED;
-  ImageEntry = NULL;
   ModuleEntry = NULL;
-  ImageStart = 0xFFF00000;
-  ImageEnd = 0xFFFFFFFF;
-  AltImagePtr = NULL;
 
   Entry = (DISPATCH_TABLE *) DispatchTable;
   while (Entry->FunctionId != 0) {
@@ -110,21 +102,6 @@ AmdAgesaDispatcher (
     }
   }
 
-  // 3. If not this image specific function, see if we can find alternative image instead
-  if (Status == AGESA_UNSUPPORTED) {
-    if ((((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0xFFFFFFFF  ) && (((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr != 0)) {
-      ImageStart = ((AMD_CONFIG_PARAMS *)ConfigPtr)->AltImageBasePtr;
-      ImageEnd = ImageStart + 4;
-      // Locate/test image base that matches this component
-      AltImagePtr = LibAmdLocateImage ((VOID *)ImageStart, (VOID *)ImageEnd, 4096, (CHAR8 *) AGESA_ID);
-      if (AltImagePtr != NULL) {
-        //Invoke alternative Image
-        ImageEntry = (IMAGE_ENTRY) ((UINTN) AltImagePtr + AltImagePtr->EntryPointAddress);
-        Status = (*ImageEntry) (ConfigPtr);
-      }
-    }
-  }
-
   return (Status);
 }
 
diff --git a/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c b/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c
index 75354f9..5243f23 100644
--- a/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c
+++ b/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c
@@ -1164,92 +1164,6 @@ LibAmdMemCopy (
 
 /*---------------------------------------------------------------------------------------*/
 /**
- * Verify checksum of binary image (B1/B2/B3)
- *
- *
- * @param[in]   ImagePtr      Pointer to image  start
- * @retval      TRUE          Checksum valid
- * @retval      FALSE         Checksum invalid
- */
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  )
-{
-  // Assume ImagePtr points to the binary start ($AMD)
-  // Checksum is on an even boundary in AMD_IMAGE_HEADER
-
-  UINT16 Sum;
-  UINT32 i;
-
-  Sum = 0;
-
-  i = ((AMD_IMAGE_HEADER*) ImagePtr)->ImageSize;
-
-  while (i > 1) {
-    Sum = Sum + *((UINT16 *)ImagePtr);
-    ImagePtr = (VOID *) ((UINT8 *)ImagePtr + 2);
-    i = i - 2;
-  }
-  if (i > 0) {
-    Sum = Sum + *((UINT8 *) ImagePtr);
-  }
-
-  return (Sum == 0)?TRUE:FALSE;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locate AMD binary image that contain specific module
- *
- *
- * @param[in]   StartAddress    Pointer to start range
- * @param[in]   EndAddress      Pointer to end range
- * @param[in]   Alignment       Image address alignment
- * @param[in]   ModuleSignature Module signature.
- * @retval     NULL  if image not found
- * @retval     pointer to image header
- */
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  )
-
-{
-  CONST UINT8 *CurrentPtr;
-  AMD_MODULE_HEADER *ModuleHeaderPtr;
-  CONST UINT64 *SearchStr;
-  CONST UINT64 *InputStr;
-
-  CurrentPtr = StartAddress;
-  InputStr = (UINT64 *)ModuleSignature;
-
-  // Search from start to end incrementing by alignment
-  while ((CurrentPtr >= (UINT8 *) StartAddress) && (CurrentPtr < (UINT8 *) EndAddress)) {
-    // First find a binary image
-    if (*((UINT32 *) CurrentPtr) == IMAGE_SIGNATURE) {
-      if (LibAmdVerifyImageChecksum (CurrentPtr)) {
-        // If we have a valid image, search module linked list for a match
-        ModuleHeaderPtr = (AMD_MODULE_HEADER*) ((UINT8 *)CurrentPtr + ((AMD_IMAGE_HEADER *) CurrentPtr)->ModuleInfoOffset);
-        while (ModuleHeaderPtr != NULL) {
-          SearchStr = (UINT64 *)&ModuleHeaderPtr->ModuleIdentifier;
-          if (*InputStr == *SearchStr) {
-            return  CurrentPtr;
-          }
-          ModuleHeaderPtr = (AMD_MODULE_HEADER *)ModuleHeaderPtr->NextBlock;
-        }
-      }
-    }
-    CurrentPtr += Alignment;
-  }
-  return NULL;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
  * Returns the package type mask for the processor
  *
  *
diff --git a/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h b/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h
index 2da1532..373ac1f 100644
--- a/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h
+++ b/src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h
@@ -299,24 +299,11 @@ LibAmdMemCopy (
   IN OUT   AMD_CONFIG_PARAMS *StdHeader
   );
 
-CONST VOID *
-LibAmdLocateImage (
-  IN       CONST VOID *StartAddress,
-  IN       CONST VOID *EndAddress,
-  IN       UINT32 Alignment,
-  IN       CONST CHAR8 ModuleSignature[8]
-  );
-
 UINT32
 LibAmdGetPackageType (
   IN       AMD_CONFIG_PARAMS *StdHeader
   );
 
-BOOLEAN
-LibAmdVerifyImageChecksum (
-  IN       CONST VOID *ImagePtr
-  );
-
 UINT8
 LibAmdBitScanReverse (
   IN       UINT32 value



More information about the coreboot-gerrit mailing list