summaryrefslogtreecommitdiff
path: root/src/vendorcode/amd
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2016-04-18 14:42:12 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2016-05-12 11:38:18 +0200
commitd867b7d87c5bd86244966ed93881a1b71128dd1c (patch)
tree5b49fe5b8f92a7469ebdf0e98069e62ece003d8e /src/vendorcode/amd
parent898c47c5dc21d220a00adf4ad88b6c64b6e2e2fa (diff)
downloadcoreboot-d867b7d87c5bd86244966ed93881a1b71128dd1c.tar.xz
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@gmail.com> Reviewed-on: https://review.coreboot.org/14395 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/vendorcode/amd')
-rw-r--r--src/vendorcode/amd/agesa/f10/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f10/Lib/amdlib.c85
-rw-r--r--src/vendorcode/amd/agesa/f10/Lib/amdlib.h13
-rw-r--r--src/vendorcode/amd/agesa/f12/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f12/Lib/amdlib.c86
-rw-r--r--src/vendorcode/amd/agesa/f12/Lib/amdlib.h13
-rw-r--r--src/vendorcode/amd/agesa/f14/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f14/Lib/amdlib.c86
-rw-r--r--src/vendorcode/amd/agesa/f14/Lib/amdlib.h13
-rw-r--r--src/vendorcode/amd/agesa/f15/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f15/Lib/amdlib.c86
-rw-r--r--src/vendorcode/amd/agesa/f15/Lib/amdlib.h13
-rw-r--r--src/vendorcode/amd/agesa/f15tn/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f15tn/Lib/amdlib.c86
-rw-r--r--src/vendorcode/amd/agesa/f15tn/Lib/amdlib.h13
-rw-r--r--src/vendorcode/amd/agesa/f16kb/Legacy/Proc/Dispatcher.c23
-rw-r--r--src/vendorcode/amd/agesa/f16kb/Lib/amdlib.c86
-rw-r--r--src/vendorcode/amd/agesa/f16kb/Lib/amdlib.h13
18 files changed, 0 insertions, 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 364a46aec8..4fc75b7eb1 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 860fb540f7..10765720a9 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 1954499940..367db91d24 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 23c2a72b62..f5cc0362db 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 9ce10b635d..ec85f78e32 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 5225dce640..702cde826b 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 10ec224383..ec95fa3cd2 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 24c162a731..b28878b8e9 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 17b2be933f..25f19a3b01 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 adb3ff54d5..149f1fef20 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 90b0272916..cbb84192bb 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 a9a722fa2b..f7a747c755 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 a45b69c28f..59209fe4e5 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 1e2e349b4c..3008db2b02 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 1f14331163..ea15c7b8f0 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 d787dc0448..067fabd44a 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 75354f9cf1..5243f23b0b 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 2da153208f..373ac1fe0d 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