diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-09-21 12:58:20 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-09-26 09:21:43 +0000 |
commit | e66e39059e037d0fcb2b6ed6c1eae13a17d1a433 (patch) | |
tree | 4d17099104cfccd0560a257f4e60d25224a18c20 /src/vendorcode/amd | |
parent | e52738b42889a8bf6b96fe86b87fbdd73947b367 (diff) | |
download | coreboot-e66e39059e037d0fcb2b6ed6c1eae13a17d1a433.tar.gz coreboot-e66e39059e037d0fcb2b6ed6c1eae13a17d1a433.tar.bz2 coreboot-e66e39059e037d0fcb2b6ed6c1eae13a17d1a433.zip |
AGESA: Allow const PcieComplexList for OemCustomize
It's already implemented like this with binaryPI API header.
That implementation is essentially the same with 'const' qualifier
just being ignored in the build process for PI blob.
For open-source AGESA build, work around -Werror=discarded-qualifier
using a simple but ugly cast.
Change-Id: Ib84eb9aa40f1f4442f7aeaa8c15f6f1cbc6ca295
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/21630
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/vendorcode/amd')
9 files changed, 31 insertions, 10 deletions
diff --git a/src/vendorcode/amd/agesa/f12/AGESA.h b/src/vendorcode/amd/agesa/f12/AGESA.h index d7203643743a..01a9c3f32c18 100644 --- a/src/vendorcode/amd/agesa/f12/AGESA.h +++ b/src/vendorcode/amd/agesa/f12/AGESA.h @@ -1021,7 +1021,7 @@ typedef struct { /// GNB configuration info typedef struct { - IN PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. + IN const PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. * Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST * Example of topology definition for single socket system: * @code diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c index d69a8966453f..62468baafaf8 100644 --- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c +++ b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c @@ -133,7 +133,14 @@ PcieConfigurationInit ( PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; AGESA_STATUS Status; EarlyParamsPtr = (AMD_EARLY_PARAMS *) StdHeader; - PcieComplexList = PcieConfigProcessUserConfig (EarlyParamsPtr->GnbConfig.PcieComplexList, StdHeader); + + /* FIXME: Intentionally discard qualifier const of + * GnbConfig.PcieComplexList here. + */ + PcieComplexList = PcieConfigProcessUserConfig ( + (PCIe_COMPLEX_DESCRIPTOR *)EarlyParamsPtr->GnbConfig.PcieComplexList, + StdHeader); + if (PcieComplexList == NULL) { return AGESA_FATAL; } diff --git a/src/vendorcode/amd/agesa/f14/AGESA.h b/src/vendorcode/amd/agesa/f14/AGESA.h index a2283d14f352..5a87d293cb0a 100644 --- a/src/vendorcode/amd/agesa/f14/AGESA.h +++ b/src/vendorcode/amd/agesa/f14/AGESA.h @@ -876,7 +876,7 @@ typedef struct { /// GNB configuration info typedef struct { - IN PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. + IN const PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. * Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST * Example of topology definition for single socket system: * @code diff --git a/src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c b/src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c index cf5400f191c9..85859d908f2c 100644 --- a/src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c +++ b/src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c @@ -123,7 +123,7 @@ PcieConfigurationInit ( IDS_HDT_CONSOLE (GNB_TRACE, "PcieConfigurationInit Enter\n"); EarlyParamsPtr = (AMD_EARLY_PARAMS *) StdHeader; - ComplexList = EarlyParamsPtr->GnbConfig.PcieComplexList; + ComplexList = (PCIe_COMPLEX_DESCRIPTOR *)EarlyParamsPtr->GnbConfig.PcieComplexList; AgesaStatus = AGESA_SUCCESS; ComplexesDataLength = 0; NumberOfSockets = GnbGetNumberOfSockets (StdHeader); @@ -381,4 +381,4 @@ PcieConfigDebugDump ( SiliconList = PcieLibGetNextDescriptor (SiliconList); } IDS_HDT_CONSOLE (PCIE_MISC, "<-------------- PCIe Config End------------------>\n"); -}
\ No newline at end of file +} diff --git a/src/vendorcode/amd/agesa/f15/AGESA.h b/src/vendorcode/amd/agesa/f15/AGESA.h index fba314934635..ec9785328480 100644 --- a/src/vendorcode/amd/agesa/f15/AGESA.h +++ b/src/vendorcode/amd/agesa/f15/AGESA.h @@ -1144,7 +1144,7 @@ typedef struct { /// GNB configuration info typedef struct { - IN PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. + IN const PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. * Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST * Example of topology definition for single socket system: * @code diff --git a/src/vendorcode/amd/agesa/f15tn/AGESA.h b/src/vendorcode/amd/agesa/f15tn/AGESA.h index 139281025479..21ce58c79198 100644 --- a/src/vendorcode/amd/agesa/f15tn/AGESA.h +++ b/src/vendorcode/amd/agesa/f15tn/AGESA.h @@ -1243,7 +1243,7 @@ typedef struct { /// GNB configuration info typedef struct { - IN PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. + IN const PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. * Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST * Example of topology definition for single socket system: * @code diff --git a/src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c b/src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c index f66fd9b419a8..aee2b20a0922 100644 --- a/src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c +++ b/src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c @@ -215,7 +215,14 @@ PcieConfigurationMap ( IDS_HDT_CONSOLE (GNB_TRACE, "PcieConfigurationMap Enter\n"); AgesaStatus = AGESA_SUCCESS; EarlyParamsPtr = (AMD_EARLY_PARAMS *) StdHeader; - PcieComplexList = PcieConfigProcessUserConfig (EarlyParamsPtr->GnbConfig.PcieComplexList, StdHeader); + + /* FIXME: Intentionally discard qualifier const of + * GnbConfig.PcieComplexList here. + */ + PcieComplexList = PcieConfigProcessUserConfig ( + (PCIe_COMPLEX_DESCRIPTOR *)EarlyParamsPtr->GnbConfig.PcieComplexList, + StdHeader); + GNB_DEBUG_CODE ( if (PcieComplexList != NULL) { PcieUserConfigConfigDump (PcieComplexList); diff --git a/src/vendorcode/amd/agesa/f16kb/AGESA.h b/src/vendorcode/amd/agesa/f16kb/AGESA.h index 6c2f19ccf1df..926289685855 100644 --- a/src/vendorcode/amd/agesa/f16kb/AGESA.h +++ b/src/vendorcode/amd/agesa/f16kb/AGESA.h @@ -1276,7 +1276,7 @@ typedef struct { /// GNB configuration info typedef struct { - IN PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. + IN const PCIe_COMPLEX_DESCRIPTOR *PcieComplexList; /**< Pointer to array of structures describe PCIe topology on each processor package or NULL. * Last element of array must be terminated with DESCRIPTOR_TERMINATE_LIST * Example of topology definition for single socket system: * @code diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c index 5a25844884aa..a54ddfbaf6ae 100644 --- a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbPcieConfig/PcieConfigData.c @@ -214,7 +214,14 @@ PcieConfigurationMap ( IDS_HDT_CONSOLE (GNB_TRACE, "PcieConfigurationMap Enter\n"); AgesaStatus = AGESA_SUCCESS; EarlyParamsPtr = (AMD_EARLY_PARAMS *) StdHeader; - PcieComplexList = PcieConfigProcessUserConfig (EarlyParamsPtr->GnbConfig.PcieComplexList, StdHeader); + + /* FIXME: Intentionally discard qualifier const of + * GnbConfig.PcieComplexList here. + */ + PcieComplexList = PcieConfigProcessUserConfig ( + (PCIe_COMPLEX_DESCRIPTOR *)EarlyParamsPtr->GnbConfig.PcieComplexList, + StdHeader); + GNB_DEBUG_CODE ( if (PcieComplexList != NULL) { PcieUserConfigConfigDump (PcieComplexList); |