Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
binaryPI: Remove FieldAccessors.[ch]
SAGE brought these in outside AGESA specifications and they had some ill semantics. They were already removed from StoneyRidge.
Change-Id: I59d0c450583b2ff58031c127aae881d1f3799338 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- M src/vendorcode/amd/pi/00630F01/AMD.h M src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h M src/vendorcode/amd/pi/00660F01/AMD.h M src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h M src/vendorcode/amd/pi/00730F01/AMD.h M src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h 9 files changed, 6 insertions(+), 568 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/37174/1
diff --git a/src/vendorcode/amd/pi/00630F01/AMD.h b/src/vendorcode/amd/pi/00630F01/AMD.h index f70b128..2de5461 100644 --- a/src/vendorcode/amd/pi/00630F01/AMD.h +++ b/src/vendorcode/amd/pi/00630F01/AMD.h @@ -159,8 +159,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000, + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000, } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c index 2bc9399..fa6c276 100644 --- a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c @@ -48,7 +48,6 @@ #include <FchCommonCfg.h> #include <Fch.h> #include <FchDef.h> -#include <FieldAccessors.h>
CONST UINT32 ImageSignature = IMAGE_SIGNATURE; CONST UINT32 ModuleSignature = MODULE_SIGNATURE; @@ -511,78 +510,3 @@ { ((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0; } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - ASSERT(module); - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - ASSERT(Dispatcher); - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - ASSERT(AGESA_SUCCESS == status); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h deleted file mode 100644 index bfbccbe..0000000 --- a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,111 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -#include "AGESA.h" - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */ diff --git a/src/vendorcode/amd/pi/00660F01/AMD.h b/src/vendorcode/amd/pi/00660F01/AMD.h index 54abf80..990261b 100644 --- a/src/vendorcode/amd/pi/00660F01/AMD.h +++ b/src/vendorcode/amd/pi/00660F01/AMD.h @@ -168,8 +168,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000 + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000 } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c index cb2f7f6..a4eef5a 100644 --- a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c @@ -42,7 +42,6 @@ // TODO This list needs to be pruned of anything that is not API #include "AGESA.h" #include "agesawrapper.h" -#include "FieldAccessors.h" #include "AcpiLib.h" #include "FchCommonCfg.h" #include "Fch.h" @@ -401,75 +400,3 @@ Dispatcher = module->ModuleDispatcher; Dispatcher(FchDataPtr); } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h deleted file mode 100644 index 2d860c5..0000000 --- a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValueDispatch ( - IN OUT AMD_ACCESSOR_PARAMS *AccessorParams - ); - -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValueDispatch ( - IN OUT AMD_ACCESSOR_PARAMS *AccessorParams - ); - -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */ diff --git a/src/vendorcode/amd/pi/00730F01/AMD.h b/src/vendorcode/amd/pi/00730F01/AMD.h index 13fc29a..81612b5 100644 --- a/src/vendorcode/amd/pi/00730F01/AMD.h +++ b/src/vendorcode/amd/pi/00730F01/AMD.h @@ -159,8 +159,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000, + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000, } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c index f233542..7b1a98a 100644 --- a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c @@ -42,7 +42,6 @@ // TODO This list needs to be pruned of anything that is not API #include "AGESA.h" #include <agesawrapper.h> -#include "FieldAccessors.h" #include "AcpiLib.h" #include "FchCommonCfg.h" #include "Fch.h" @@ -510,75 +509,3 @@ { ((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0; } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h deleted file mode 100644 index d50e8fc..0000000 --- a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,111 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -#include "AGESA.h" - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */
Michał Żygowski has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... File src/vendorcode/amd/pi/00630F01/AMD.h:
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... PS1, Line 162: AMD_SET_VALUE_invalid = 0x00081000, Why do you leave these?
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... File src/vendorcode/amd/pi/00630F01/AMD.h:
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... PS1, Line 162: AMD_SET_VALUE_invalid = 0x00081000,
Why do you leave these?
We should keep track of them as reserved values. SAGE re-enumerated this entire table, but we cannot go back to original AGESA values without rolling out new blob build.
Michał Żygowski has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
Patch Set 1: Code-Review+2
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... File src/vendorcode/amd/pi/00630F01/AMD.h:
https://review.coreboot.org/c/coreboot/+/37174/1/src/vendorcode/amd/pi/00630... PS1, Line 162: AMD_SET_VALUE_invalid = 0x00081000,
We should keep track of them as reserved values. […]
Ack
Marshall Dawson has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
Patch Set 1: Code-Review+2
Kyösti Mälkki has submitted this change. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch] ......................................................................
binaryPI: Remove FieldAccessors.[ch]
SAGE brought these in outside AGESA specifications and they had some ill semantics. They were already removed from StoneyRidge.
Change-Id: I59d0c450583b2ff58031c127aae881d1f3799338 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/37174 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Michał Żygowski michal.zygowski@3mdeb.com Reviewed-by: Marshall Dawson marshalldawson3rd@gmail.com --- M src/vendorcode/amd/pi/00630F01/AMD.h M src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h M src/vendorcode/amd/pi/00660F01/AMD.h M src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h M src/vendorcode/amd/pi/00730F01/AMD.h M src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c D src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h 9 files changed, 6 insertions(+), 568 deletions(-)
Approvals: build bot (Jenkins): Verified Marshall Dawson: Looks good to me, approved Michał Żygowski: Looks good to me, approved
diff --git a/src/vendorcode/amd/pi/00630F01/AMD.h b/src/vendorcode/amd/pi/00630F01/AMD.h index f70b128..2de5461 100644 --- a/src/vendorcode/amd/pi/00630F01/AMD.h +++ b/src/vendorcode/amd/pi/00630F01/AMD.h @@ -159,8 +159,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000, + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000, } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c index 2bc9399..fa6c276 100644 --- a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c @@ -48,7 +48,6 @@ #include <FchCommonCfg.h> #include <Fch.h> #include <FchDef.h> -#include <FieldAccessors.h>
CONST UINT32 ImageSignature = IMAGE_SIGNATURE; CONST UINT32 ModuleSignature = MODULE_SIGNATURE; @@ -511,78 +510,3 @@ { ((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0; } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - ASSERT(module); - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - ASSERT(Dispatcher); - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - ASSERT(AGESA_SUCCESS == status); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h deleted file mode 100644 index bfbccbe..0000000 --- a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,111 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -#include "AGESA.h" - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */ diff --git a/src/vendorcode/amd/pi/00660F01/AMD.h b/src/vendorcode/amd/pi/00660F01/AMD.h index 54abf80..990261b 100644 --- a/src/vendorcode/amd/pi/00660F01/AMD.h +++ b/src/vendorcode/amd/pi/00660F01/AMD.h @@ -168,8 +168,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000 + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000 } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c index cb2f7f6..a4eef5a 100644 --- a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c @@ -42,7 +42,6 @@ // TODO This list needs to be pruned of anything that is not API #include "AGESA.h" #include "agesawrapper.h" -#include "FieldAccessors.h" #include "AcpiLib.h" #include "FchCommonCfg.h" #include "Fch.h" @@ -401,75 +400,3 @@ Dispatcher = module->ModuleDispatcher; Dispatcher(FchDataPtr); } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h deleted file mode 100644 index 2d860c5..0000000 --- a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValueDispatch ( - IN OUT AMD_ACCESSOR_PARAMS *AccessorParams - ); - -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValueDispatch ( - IN OUT AMD_ACCESSOR_PARAMS *AccessorParams - ); - -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */ diff --git a/src/vendorcode/amd/pi/00730F01/AMD.h b/src/vendorcode/amd/pi/00730F01/AMD.h index 13fc29a..81612b5 100644 --- a/src/vendorcode/amd/pi/00730F01/AMD.h +++ b/src/vendorcode/amd/pi/00730F01/AMD.h @@ -159,8 +159,8 @@ FCH_INIT_LATE = 0x00043000, FCH_INIT_S3_EARLY_RESTORE = 0x00044000, FCH_INIT_S3_LATE_RESTORE = 0x00045000, - AMD_SET_VALUE = 0x00081000, - AMD_GET_VALUE = 0x00082000, + AMD_SET_VALUE_invalid = 0x00081000, + AMD_GET_VALUE_invalid = 0x00082000, } AGESA_STRUCT_NAME;
/* ResetType constant values */ diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c index f233542..7b1a98a 100644 --- a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c @@ -42,7 +42,6 @@ // TODO This list needs to be pruned of anything that is not API #include "AGESA.h" #include <agesawrapper.h> -#include "FieldAccessors.h" #include "AcpiLib.h" #include "FchCommonCfg.h" #include "Fch.h" @@ -510,75 +509,3 @@ { ((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0; } - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_SET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - return status; -} - -/********************************************************************** - * Interface call: AmdGetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ) -{ - AGESA_STATUS status = AGESA_UNSUPPORTED; - - MODULE_ENTRY Dispatcher = NULL; - const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier); - - AMD_ACCESSOR_PARAMS AccessorParams = {}; - - if (!module) return status; - Dispatcher = module->ModuleDispatcher; - - AccessorParams.StdHeader.AltImageBasePtr = 0; - AccessorParams.StdHeader.CalloutPtr = NULL; - AccessorParams.StdHeader.Func = AMD_GET_VALUE; - AccessorParams.StdHeader.ImageBasePtr = 0; - - AccessorParams.AllocationMethod = ByHost; - AccessorParams.FieldName = name; - AccessorParams.FieldValue = *value; - AccessorParams.FieldSize = size; - - status = Dispatcher(&AccessorParams); - - *value = AccessorParams.FieldValue; - size = AccessorParams.FieldSize; - - return status; -} diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h deleted file mode 100644 index d50e8fc..0000000 --- a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h +++ /dev/null @@ -1,111 +0,0 @@ -/***************************************************************************** - * - * Copyright (c) 2014, Sage Electronic Engineering, LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Advanced Micro Devices, Inc. nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ***************************************************************************/ -#ifndef _FIELDACCESSORS_H_ -#define _FIELDACCESSORS_H_ - -#include "AGESA.h" - -/// AGESA value name -typedef enum { - AMD_GLOBAL_USER_OPTIONS = 0x00020000, - AMD_GLOBAL_NUM_SOCKETS = 0x00020001, - AMD_GLOBAL_NUM_MODULES = 0x00020002, -} AGESA_FIELD_NAME; - -typedef AGESA_STATUS (*SETTER_ENTRY) ( - IN OUT VOID* value, - IN UINT32 size - ); - -typedef AGESA_STATUS (*GETTER_ENTRY) ( - IN OUT VOID** value, - IN UINT32 size - ); - -/// Accessor Interface. -typedef struct { - IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header - IN AGESA_FIELD_NAME FieldName; ///< The service to init - IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data - IN OUT VOID *Struct; ///< The struct for the service. - IN OUT UINT32 FieldSize; ///< The size of the data value. - IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure. -} AMD_ACCESSOR_PARAMS; - - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdGetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID** value, - IN UINT32 size - ); - -/********************************************************************** - * Interface call: AmdSetValue - **********************************************************************/ -AGESA_STATUS -AmdSetValue ( - IN CONST AGESA_FIELD_NAME name, - IN OUT VOID* value, - IN UINT32 size - ); - -/** - * Dispatch Table. - * - * The push high dispatcher uses this table to find what entries are currently in the build image. - */ -typedef struct { - UINT32 FunctionId; - SETTER_ENTRY SetValueEntryPoint; - GETTER_ENTRY GetValueEntryPoint; -} ACCESSOR_DISPATCH_TABLE; - -AGESA_STATUS -GetUserOptions( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumSockets( - IN OUT VOID** value, - IN UINT32 size - ); - -AGESA_STATUS -GetNumModules( - IN OUT VOID** value, - IN UINT32 size - ); - -#endif /* _FIELDACCESSORS_H_ */