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>
This commit is contained in:
parent
2c3d91c9c8
commit
a9b1a72a8f
|
@ -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 */
|
||||
|
|
|
@ -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 @@ 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;
|
||||
}
|
||||
|
|
|
@ -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_ */
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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_ */
|
|
@ -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 */
|
||||
|
|
|
@ -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 @@ 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;
|
||||
}
|
||||
|
|
|
@ -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_ */
|
Loading…
Reference in New Issue