summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vendorcode/amd/agesa/f14/Config/OptionHtInstall.h5
-rw-r--r--src/vendorcode/amd/agesa/f14/Include/OptionsHt.h11
-rw-r--r--src/vendorcode/amd/agesa/f14/Proc/Common/AmdInitReset.c5
3 files changed, 18 insertions, 3 deletions
diff --git a/src/vendorcode/amd/agesa/f14/Config/OptionHtInstall.h b/src/vendorcode/amd/agesa/f14/Config/OptionHtInstall.h
index 5c44465c33..a90867d090 100644
--- a/src/vendorcode/amd/agesa/f14/Config/OptionHtInstall.h
+++ b/src/vendorcode/amd/agesa/f14/Config/OptionHtInstall.h
@@ -273,7 +273,9 @@
#if (OPTION_FAMILY12H == TRUE) || (OPTION_FAMILY14H == TRUE)
#undef OPTION_HT_INIIT_RESET_ENTRY
+ #undef OPTION_HT_INIIT_RESET_CONSTRUCTOR_ENTRY
#define OPTION_HT_INIIT_RESET_ENTRY NULL
+ #define OPTION_HT_INIIT_RESET_CONSTRUCTOR_ENTRY NULL
#endif
#if ((OPTION_FAMILY10H == TRUE) || (OPTION_FAMILY15H == TRUE))
@@ -292,7 +294,8 @@
};
CONST OPTION_HT_INIT_RESET ROMDATA HtOptionInitReset = {
- OPTION_HT_INIIT_RESET_ENTRY
+ OPTION_HT_INIIT_RESET_ENTRY,
+ OPTION_HT_INIIT_RESET_CONSTRUCTOR_ENTRY
};
#endif
diff --git a/src/vendorcode/amd/agesa/f14/Include/OptionsHt.h b/src/vendorcode/amd/agesa/f14/Include/OptionsHt.h
index ae4ede00df..f3eac1a4a6 100644
--- a/src/vendorcode/amd/agesa/f14/Include/OptionsHt.h
+++ b/src/vendorcode/amd/agesa/f14/Include/OptionsHt.h
@@ -88,11 +88,20 @@ F_OPTION_HT_INIT_RESET (
typedef F_OPTION_HT_INIT_RESET *PF_OPTION_HT_INIT_RESET;
+typedef AGESA_STATUS
+F_OPTION_HT_RESET_CONSTRUCTOR (
+ IN AMD_CONFIG_PARAMS *StdHeader,
+ IN AMD_HT_RESET_INTERFACE *AmdHtResetInterface
+ );
+
+typedef F_OPTION_HT_RESET_CONSTRUCTOR *PF_OPTION_HT_RESET_CONSTRUCTOR;
+
/**
* Provide HT reset initialization build option results
*/
typedef struct {
- PF_OPTION_HT_INIT_RESET HtInitReset; ///< Method: HT reset initialization.
+ PF_OPTION_HT_INIT_RESET HtInitReset; ///< Method: HT reset initialization.
+ PF_OPTION_HT_RESET_CONSTRUCTOR HtResetConstructor; ///< Method: HT reset initialization.
} OPTION_HT_INIT_RESET;
/*----------------------------------------------------------------------------------------
diff --git a/src/vendorcode/amd/agesa/f14/Proc/Common/AmdInitReset.c b/src/vendorcode/amd/agesa/f14/Proc/Common/AmdInitReset.c
index 7b75aad08e..6a465ee858 100644
--- a/src/vendorcode/amd/agesa/f14/Proc/Common/AmdInitReset.c
+++ b/src/vendorcode/amd/agesa/f14/Proc/Common/AmdInitReset.c
@@ -249,7 +249,10 @@ AmdInitResetConstructor (
AmdResetParams->StdHeader = *StdHeader;
AmdInitResetExecutionCacheAllocateInitializer (&AmdResetParams->StdHeader, &AmdResetParams->CacheRegion[0]);
- AmdHtResetConstructor (&AmdResetParams->StdHeader, &AmdResetParams->HtConfig);
+ // Initialize Hyper Transport input structure
+ if (HtOptionInitReset.HtResetConstructor != NULL) {
+ HtOptionInitReset.HtResetConstructor (&AmdResetParams->StdHeader, &AmdResetParams->HtConfig);
+ }
return AGESA_SUCCESS;
}