From a9b1a72a8f3e2aa968180fb7cb76b0441d6bb0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Tue, 18 Jul 2017 16:27:38 +0300 Subject: binaryPI: Remove FieldAccessors.[ch] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/37174 Tested-by: build bot (Jenkins) Reviewed-by: Michał Żygowski Reviewed-by: Marshall Dawson --- src/vendorcode/amd/pi/00630F01/AMD.h | 4 +- src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c | 76 ------------- .../amd/pi/00630F01/binaryPI/FieldAccessors.h | 111 ------------------- src/vendorcode/amd/pi/00660F01/AMD.h | 4 +- src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c | 73 ------------- .../amd/pi/00660F01/binaryPI/FieldAccessors.h | 118 --------------------- src/vendorcode/amd/pi/00730F01/AMD.h | 4 +- src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c | 73 ------------- .../amd/pi/00730F01/binaryPI/FieldAccessors.h | 111 ------------------- 9 files changed, 6 insertions(+), 568 deletions(-) delete mode 100644 src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h delete mode 100644 src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h delete mode 100644 src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h (limited to 'src/vendorcode/amd/pi') diff --git a/src/vendorcode/amd/pi/00630F01/AMD.h b/src/vendorcode/amd/pi/00630F01/AMD.h index f70b128508..2de546136d 100644 --- a/src/vendorcode/amd/pi/00630F01/AMD.h +++ b/src/vendorcode/amd/pi/00630F01/AMD.h @@ -159,8 +159,8 @@ typedef enum { 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 2bc939970f..fa6c276ce2 100644 --- a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c +++ b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c @@ -48,7 +48,6 @@ #include #include #include -#include CONST UINT32 ImageSignature = IMAGE_SIGNATURE; CONST UINT32 ModuleSignature = MODULE_SIGNATURE; @@ -511,78 +510,3 @@ ImcIdle ( { ((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 bfbccbe164..0000000000 --- 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 54abf80af0..990261b32b 100644 --- a/src/vendorcode/amd/pi/00660F01/AMD.h +++ b/src/vendorcode/amd/pi/00660F01/AMD.h @@ -168,8 +168,8 @@ typedef enum { 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 cb2f7f69f5..a4eef5ad86 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 @@ FchInitS3LateRestore ( 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 2d860c5005..0000000000 --- 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 13fc29afeb..81612b555f 100644 --- a/src/vendorcode/amd/pi/00730F01/AMD.h +++ b/src/vendorcode/amd/pi/00730F01/AMD.h @@ -159,8 +159,8 @@ typedef enum { 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 f233542863..7b1a98a7af 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 -#include "FieldAccessors.h" #include "AcpiLib.h" #include "FchCommonCfg.h" #include "Fch.h" @@ -510,75 +509,3 @@ ImcIdle ( { ((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 d50e8fc9cd..0000000000 --- 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_ */ -- cgit v1.2.3