aboutsummaryrefslogtreecommitdiff
path: root/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib')
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbCommonLib.h58
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.c609
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.h195
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.c130
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.h65
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.c159
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.h69
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.c122
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.h66
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.c125
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.h73
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.c410
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.h150
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.c156
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.h73
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.c152
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.h73
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.c310
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.h225
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/Makefile.inc8
20 files changed, 0 insertions, 3228 deletions
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbCommonLib.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbCommonLib.h
deleted file mode 100644
index ea4eb86267..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbCommonLib.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * GNB register access services.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 49526 $ @e \$Date: 2011-03-25 00:52:37 +0800 (Fri, 25 Mar 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBCOMMONLIB_H_
-#define _GNBCOMMONLIB_H_
-
-#include "GnbLib.h"
-#include "GnbLibCpuAcc.h"
-#include "GnbLibHeap.h"
-#include "GnbLibIoAcc.h"
-#include "GnbLibMemAcc.h"
-#include "GnbLibPci.h"
-#include "GnbLibPciAcc.h"
-#include "GnbLibStall.h"
-#include "GnbTable.h"
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.c
deleted file mode 100644
index 27ed1b823e..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.c
+++ /dev/null
@@ -1,609 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * GNB register access services.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 49047 $ @e \$Date: 2011-03-16 15:27:08 +0800 (Wed, 16 Mar 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "AGESA.h"
-#include "Ids.h"
-#include "amdlib.h"
-#include "cpuFamilyTranslation.h"
-#include "cpuServices.h"
-#include "Gnb.h"
-#include "GnbLib.h"
-#include "GnbLibIoAcc.h"
-#include "GnbLibPciAcc.h"
-#include "GnbLibMemAcc.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIB_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-extern GNB_SERVICE *ServiceTable;
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-VOID
-GnbLibPciIndirectReadField (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT8 FieldOffset,
- IN UINT8 FieldWidth,
- OUT UINT32 *Value,
- IN VOID *Config
- );
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read GNB indirect registers
- *
- *
- *
- * @param[in] Address PCI address of indirect register
- * @param[in] IndirectAddress Offset of indirect register
- * @param[in] Width Width
- * @param[out] Value Pointer to value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibPciIndirectRead (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *Config
- )
-{
- UINT32 IndexOffset;
- IndexOffset = LibAmdAccessWidth (Width);
- GnbLibPciWrite (Address, Width, &IndirectAddress, Config);
- GnbLibPciRead (Address + IndexOffset, Width, Value, Config);
-}
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read GNB indirect registers field
- *
- *
- *
- * @param[in] Address PCI address of indirect register
- * @param[in] IndirectAddress Offset of indirect register
- * @param[in] FieldOffset Field offset
- * @param[in] FieldWidth Field width
- * @param[out] Value Pointer to value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibPciIndirectReadField (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT8 FieldOffset,
- IN UINT8 FieldWidth,
- OUT UINT32 *Value,
- IN VOID *Config
- )
-{
- UINT32 Mask;
- GnbLibPciIndirectRead (Address, IndirectAddress, AccessWidth32, Value, Config);
- Mask = (1 << FieldWidth) - 1;
- *Value = (*Value >> FieldOffset) & Mask;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write GNB indirect registers
- *
- *
- *
- * @param[in] Address PCI address of indirect register
- * @param[in] IndirectAddress Offset of indirect register
- * @param[in] Width Width
- * @param[in] Value Pointer to value
- * @param[in] Config Pointer to standard header
- */
-
-VOID
-GnbLibPciIndirectWrite (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *Config
- )
-{
- UINT32 IndexOffset;
- IndexOffset = LibAmdAccessWidth (Width);
- GnbLibPciWrite (Address, Width, &IndirectAddress, Config);
- GnbLibPciWrite (Address + IndexOffset, Width, Value, Config);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write GNB indirect registers field
- *
- *
- *
- * @param[in] Address PCI address of indirect register
- * @param[in] IndirectAddress Offset of indirect register
- * @param[in] FieldOffset Field offset
- * @param[in] FieldWidth Field width
- * @param[in] Value Pointer to value
- * @param[in] S3Save Save for S3 (TRUE/FALSE)
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibPciIndirectWriteField (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT8 FieldOffset,
- IN UINT8 FieldWidth,
- IN UINT32 Value,
- IN BOOLEAN S3Save,
- IN VOID *Config
- )
-{
- UINT32 Data;
- UINT32 Mask;
- GnbLibPciIndirectRead (Address, IndirectAddress, AccessWidth32, &Data, Config);
- Mask = (1 << FieldWidth) - 1;
- Data &= (~(Mask << FieldOffset));
- Data |= ((Value & Mask) << FieldOffset);
- GnbLibPciIndirectWrite (Address, IndirectAddress, S3Save ? AccessS3SaveWidth32 : AccessWidth32, &Data, Config);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read/Modify/Write GNB indirect registers field
- *
- *
- *
- * @param[in] Address PCI address of indirect register
- * @param[in] IndirectAddress Offset of indirect register
- * @param[in] Width Width
- * @param[in] Mask And Mask
- * @param[in] Value Or Value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibPciIndirectRMW (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- )
-{
- UINT32 Data;
- GnbLibPciIndirectRead (
- Address,
- IndirectAddress,
- (Width >= AccessS3SaveWidth8) ? (Width - (AccessS3SaveWidth8 - AccessWidth8)) : Width,
- &Data,
- Config
- );
- Data = (Data & Mask) | Value;
- GnbLibPciIndirectWrite (Address, IndirectAddress, Width, &Data, Config);
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read/Modify/Write PCI registers
- *
- *
- *
- * @param[in] Address PCI address
- * @param[in] Width Access width
- * @param[in] Mask AND Mask
- * @param[in] Value OR Value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibPciRMW (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- )
-{
- UINT32 Data;
- GnbLibPciRead (Address, Width, &Data, Config);
- Data = (Data & Mask) | Value;
- GnbLibPciWrite (Address, Width, &Data, Config);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read/Modify/Write I/O registers
- *
- *
- *
- * @param[in] Address I/O Port
- * @param[in] Width Access width
- * @param[in] Mask AND Mask
- * @param[in] Value OR Mask
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibIoRMW (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- )
-{
- UINT32 Data;
- GnbLibIoRead (Address, Width, &Data, Config);
- Data = (Data & Mask) | Value;
- GnbLibIoWrite (Address, Width, &Data, Config);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Indirect IO block read
- *
- *
- *
- * @param[in] IndexPort Index Port
- * @param[in] DataPort Data Port
- * @param[in] Width Access width
- * @param[in] IndexAddress Index Address
- * @param[in] Count Count
- * @param[in] Buffer Buffer
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibIndirectIoBlockRead (
- IN UINT16 IndexPort,
- IN UINT16 DataPort,
- IN ACCESS_WIDTH Width,
- IN UINT32 IndexAddress,
- IN UINT32 Count,
- IN VOID *Buffer,
- IN VOID *Config
- )
-{
- UINT32 Index;
- for (Index = IndexAddress; Index < (IndexAddress + Count); Index++) {
- GnbLibIoWrite (IndexPort, Width, &Index, Config);
- GnbLibIoRead (DataPort, Width, Buffer, Config);
- Buffer = (VOID *) ((UINT8 *) Buffer + LibAmdAccessWidth (Width));
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Get IOAPIC ID
- *
- *
- *
- * @param[in] IoApicBaseAddress IO APIC base address
- * @param[in] Config Pointer to standard header
- */
-UINT8
-GnbLiGetIoapicId (
- IN UINT64 IoApicBaseAddress,
- IN VOID *Config
- )
-{
- UINT32 Value;
- Value = 0x0;
- GnbLibMemWrite (IoApicBaseAddress, AccessWidth32, &Value, Config);
- GnbLibMemRead (IoApicBaseAddress + 0x10, AccessWidth32, &Value, Config);
- return (UINT8) (Value >> 24);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read/Modify/Write MMIO registers
- *
- *
- *
- * @param[in] Address Physical address
- * @param[in] Width Access width
- * @param[in] Mask AND Mask
- * @param[in] Value OR Value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibMemRMW (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- )
-{
- UINT32 Data;
- GnbLibMemRead (Address, Width, &Data, Config);
- Data = (Data & Mask) | Value;
- GnbLibMemWrite (Address, Width, &Data, Config);
-}
-/*----------------------------------------------------------------------------------------*/
-/**
- * Get number of sockets
- *
- *
- *
- * @param[in] StdHeader Standard configuration header
- * @retval Total number of socket on platform
- */
-
-UINT32
-GnbGetNumberOfSockets (
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- return GetPlatformNumberOfSockets ();
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Get number of Silicons on the socket
- *
- *
- *
- * @param[in] SiliconId Socket ID
- * @param[in] StdHeader Standard configuration header
- * @retval Number of silicons/modules in device in socket
- */
-
-UINT32
-GnbGetNumberOfSiliconsOnSocket (
- IN UINT32 SiliconId,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- return 1;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Get PCI Address
- *
- *
- *
- * @param[in] SocketId Socket ID
- * @param[in] SiliconId Silicon device Id
- * @param[in] StdHeader Standard configuration header
- * @retval PCI address of GNB for a given socket/silicon.
- */
-
-PCI_ADDR
-GnbGetPciAddress (
- IN UINT32 SocketId,
- IN UINT32 SiliconId,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- PCI_ADDR Gnb;
- Gnb.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0);
- return Gnb;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Check if anything plugged in socket
- *
- *
- *
- * @param[in] SocketId Socket ID
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE CPU present in socket.
- */
-
-BOOLEAN
-GnbIsDevicePresentInSocket (
- IN UINT32 SocketId,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- return IsProcessorPresent (SocketId, StdHeader);
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Claculate power of number
- *
- *
- *
- * @param[in] Value Number
- * @param[in] Power Power
- */
-
-UINT32
-GnbLibPowerOf (
- IN UINT32 Value,
- IN UINT32 Power
- )
-{
- UINT32 Result;
- if (Power == 0) {
- return 1;
- }
- Result = Value;
- while ((--Power) > 0) {
- Result *= Value;
- }
- return Result;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Search buffer for pattern
- *
- *
- * @param[in] Buf1 Pointer to source buffer which will be subject of search
- * @param[in] Buf1Length Length of the source buffer
- * @param[in] Buf2 Pointer to pattern buffer
- * @param[in] Buf2Length Length of the pattern buffer
- * @retval Pointer on first accurance of Buf2 in Buf1 or NULL
- */
-
-VOID*
-GnbLibFind (
- IN UINT8 *Buf1,
- IN UINTN Buf1Length,
- IN UINT8 *Buf2,
- IN UINTN Buf2Length
- )
-{
- UINT8 *CurrentBuf1Ptr;
- CurrentBuf1Ptr = Buf1;
- while (CurrentBuf1Ptr < (Buf1 + Buf1Length - Buf2Length)) {
- UINT8 *SourceBufPtr;
- UINT8 *PatternBufPtr;
- UINTN PatternBufLength;
- SourceBufPtr = CurrentBuf1Ptr;
- PatternBufPtr = Buf2;
- PatternBufLength = Buf2Length;
- while ((*SourceBufPtr++ == *PatternBufPtr++) && (PatternBufLength-- != 0));
- if (PatternBufLength == 0) {
- return CurrentBuf1Ptr;
- }
- CurrentBuf1Ptr++;
- }
- return NULL;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Dump buffer to HDTOUT
- *
- *
- * @param[in] Buffer Buffer pointer
- * @param[in] Count Count of data elements
- * @param[in] DataWidth DataWidth 1 - Byte; 2 - Word; 3 - DWORD; 4 - QWORD
- * @param[in] LineWidth Number of data item per line
- */
-VOID
-GnbLibDebugDumpBuffer (
- IN VOID *Buffer,
- IN UINT32 Count,
- IN UINT8 DataWidth,
- IN UINT8 LineWidth
- )
-{
- UINT32 Index;
- UINT32 DataItemCount;
- ASSERT (LineWidth != 0);
- ASSERT (DataWidth >= 1 && DataWidth <= 4);
- DataItemCount = 0;
- for (Index = 0; Index < Count; ) {
- switch (DataWidth) {
- case 1:
- IDS_HDT_CONSOLE (GNB_TRACE, "%02x ", *((UINT8 *) Buffer + Index));
- Index += 1;
- break;
- case 2:
- IDS_HDT_CONSOLE (GNB_TRACE, "%04x ", *(UINT16 *) ((UINT8 *) Buffer + Index));
- Index += 2;
- break;
- case 3:
- IDS_HDT_CONSOLE (GNB_TRACE, "%08x ", *(UINT32 *) ((UINT8 *) Buffer + Index));
- Index += 4;
- break;
- case 4:
- IDS_HDT_CONSOLE (GNB_TRACE, "%08x%08", *(UINT32 *) ((UINT8 *) Buffer + Index), *(UINT32 *) ((UINT8 *) Buffer + Index + 4));
- Index += 8;
- break;
- default:
- IDS_HDT_CONSOLE (GNB_TRACE, "ERROR! Incorrect Data Width\n");
- return;
- }
- if (++DataItemCount >= LineWidth) {
- IDS_HDT_CONSOLE (GNB_TRACE, "\n");
- DataItemCount = 0;
- }
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Dump buffer to HDTOUT
- *
- *
- * @param[in] ServiceId Service ID
- * @param[in] SocketId Socket ID
- * @param[in] ServiceProtocol Service protocol
- * @param[in] StdHeader Standard Configuration Header
- */
-AGESA_STATUS
-GnbLibLocateService (
- IN GNB_SERVICE_ID ServiceId,
- IN UINT8 SocketId,
- IN VOID **ServiceProtocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- GNB_SERVICE *SeviceEntry;
- CPU_LOGICAL_ID LogicalId;
- SeviceEntry = ServiceTable;
- GetLogicalIdOfSocket (SocketId, &LogicalId, StdHeader);
- while (SeviceEntry != NULL) {
- if (SeviceEntry->ServiceId == ServiceId && (LogicalId.Family & SeviceEntry->Family) != 0) {
- *ServiceProtocol = SeviceEntry->ServiceProtocol;
- return AGESA_SUCCESS;
- }
- SeviceEntry = SeviceEntry->NextService;
- }
- return AGESA_UNSUPPORTED;
-}
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.h
deleted file mode 100644
index 5db06ef31e..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLib.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * GNB register access services.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 47656 $ @e \$Date: 2011-02-25 02:39:38 +0800 (Fri, 25 Feb 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBLIB_H_
-#define _GNBLIB_H_
-
-#define IOC_WRITE_ENABLE 0x80
-
-typedef AGESA_STATUS (F_GNB_REGISTER_ACCESS) (
- UINT8 RegisterSpaceType,
- UINT32 Address,
- VOID *Value,
- UINT32 Flags,
- AMD_CONFIG_PARAMS *StdHeader
-);
-
-typedef F_GNB_REGISTER_ACCESS *PF_GNB_REGISTER_ACCESS;
-
-/// Register Read/Write protocol
-typedef struct {
- PF_GNB_REGISTER_ACCESS Read; ///< Read Register
- PF_GNB_REGISTER_ACCESS Write; ///< Write Register
-} GNB_REGISTER_PROTOCOL;
-
-VOID
-GnbLibPciIndirectWrite (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *Config
- );
-
-VOID
-GnbLibPciIndirectRead (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *Config
- );
-
-VOID
-GnbLibPciIndirectRMW (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- );
-
-VOID
-GnbLibPciIndirectWriteField (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT8 FieldOffset,
- IN UINT8 FieldWidth,
- IN UINT32 Value,
- IN BOOLEAN S3Save,
- IN VOID *Config
- );
-
-
-VOID
-GnbLibPciRMW (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- );
-
-VOID
-GnbLibIoRMW (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- );
-
-UINT32
-GnbGetNumberOfSockets (
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-UINT32
-GnbGetNumberOfSiliconsOnSocket (
- IN UINT32 SiliconId,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-BOOLEAN
-GnbIsDevicePresentInSocket (
- IN UINT32 SocketId,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-PCI_ADDR
-GnbGetPciAddress (
- IN UINT32 SocketId,
- IN UINT32 SiliconId,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-UINT32
-GnbLibPowerOf (
- IN UINT32 Value,
- IN UINT32 Power
- );
-
-VOID*
-GnbLibFind (
- IN UINT8 *Buf1,
- IN UINTN Buf1Length,
- IN UINT8 *Buf2,
- IN UINTN Buf2Length
- );
-
-VOID
-GnbLibIndirectIoBlockRead (
- IN UINT16 IndexPort,
- IN UINT16 DataPort,
- IN ACCESS_WIDTH Width,
- IN UINT32 IndexAddress,
- IN UINT32 Count,
- IN VOID *Buffer,
- IN VOID *Config
- );
-
-UINT8
-GnbLiGetIoapicId (
- IN UINT64 IoApicBaseAddress,
- IN VOID *Config
- );
-
-VOID
-GnbLibDebugDumpBuffer (
- IN VOID *Buffer,
- IN UINT32 Count,
- IN UINT8 DataWidth,
- IN UINT8 LineWidth
- );
-
-AGESA_STATUS
-GnbLibLocateService (
- IN GNB_SERVICE_ID ServiceId,
- IN UINT8 SocketId,
- IN VOID **ServiceProtocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.c
deleted file mode 100644
index bb15e6eb7e..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access various CPU registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "Porting.h"
-#include "AMD.h"
-#include "GnbLibPciAcc.h"
-#include "GnbLibCpuAcc.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBCPUACC_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read CPU (DCT) indirect registers
- *
- *
- *
- * @param[in] Address PCI address of DCT register
- * @param[in] IndirectAddress Offset of DCT register
- * @param[out] Value Pointer to value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibCpuPciIndirectRead (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- OUT UINT32 *Value,
- IN VOID *Config
- )
-{
- UINT32 OffsetRegisterValue;
- GnbLibPciWrite (Address, AccessWidth32, &IndirectAddress, Config);
- do {
- GnbLibPciRead (Address , AccessWidth32, &OffsetRegisterValue, Config);
- } while ((OffsetRegisterValue & BIT31) == 0);
- GnbLibPciRead (Address + 4, AccessWidth32, Value, Config);
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write CPU (DCT) indirect registers
- *
- *
- *
- * @param[in] Address PCI address of DCT register
- * @param[in] IndirectAddress Offset of DCT register
- * @param[in] Value Pointer to value
- * @param[in] Config Pointer to standard header
- */
-VOID
-GnbLibCpuPciIndirectWrite (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT32 *Value,
- IN VOID *Config
- )
-{
- UINT32 OffsetRegisterValue;
- OffsetRegisterValue = IndirectAddress | BIT30;
- GnbLibPciWrite (Address + 4, AccessWidth32, Value, Config);
- GnbLibPciWrite (Address, AccessWidth32, &IndirectAddress, Config);
- do {
- GnbLibPciRead (Address , AccessWidth32, &OffsetRegisterValue, Config);
- } while ((OffsetRegisterValue & BIT31) == 0);
-}
-
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.h
deleted file mode 100644
index 5eda42405b..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibCpuAcc.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access various CPU registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _CPUACCLIB_H_
-#define _CPUACCLIB_H_
-
-VOID
-GnbLibCpuPciIndirectWrite (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- IN UINT32 *Value,
- IN VOID *Config
- );
-
-VOID
-GnbLibCpuPciIndirectRead (
- IN UINT32 Address,
- IN UINT32 IndirectAddress,
- OUT UINT32 *Value,
- IN VOID *Config
- );
-
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.c
deleted file mode 100644
index bfef4143e2..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access heap.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 49532 $ @e \$Date: 2011-03-25 02:54:43 +0800 (Fri, 25 Mar 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "Porting.h"
-#include "AMD.h"
-#include "amdlib.h"
-#include "heapManager.h"
-#include "GnbLibPciAcc.h"
-#include "GnbLibHeap.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBHEAP_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Allocates space for a new buffer in the heap
- *
- *
- * @param[in] Handle Buffer handle
- * @param[in] Length Buffer length
- * @param[in] StdHeader Standard configuration header
- *
- * @retval NULL Buffer allocation fail
- *
- */
-
-VOID *
-GnbAllocateHeapBuffer (
- IN UINT32 Handle,
- IN UINTN Length,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- AGESA_STATUS Status;
- ALLOCATE_HEAP_PARAMS AllocHeapParams;
-
- AllocHeapParams.RequestedBufferSize = (UINT32) Length;
- AllocHeapParams.BufferHandle = Handle;
- AllocHeapParams.Persist = HEAP_SYSTEM_MEM;
- Status = HeapAllocateBuffer (&AllocHeapParams, StdHeader);
- if (Status != AGESA_SUCCESS) {
- return NULL;
- }
- return AllocHeapParams.BufferPtr;
-}
-
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Allocates space for a new buffer in the heap and clear it
- *
- *
- * @param[in] Handle Buffer handle
- * @param[in] Length Buffer length
- * @param[in] StdHeader Standard configuration header
- *
- * @retval NULL Buffer allocation fail
- *
- */
-
-VOID *
-GnbAllocateHeapBufferAndClear (
- IN UINT32 Handle,
- IN UINTN Length,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- VOID *Buffer;
- Buffer = GnbAllocateHeapBuffer (Handle, Length, StdHeader);
- if (Buffer != NULL) {
- LibAmdMemFill (Buffer, 0x00, Length, StdHeader);
- }
- return Buffer;
-}
-
-/*---------------------------------------------------------------------------------------*/
-/**
- * Locates a previously allocated buffer on the heap.
- *
- *
- * @param[in] Handle Buffer handle
- * @param[in] StdHeader Standard configuration header
- *
- * @retval NULL Buffer handle not found
- *
- */
-
-VOID *
-GnbLocateHeapBuffer (
- IN UINT32 Handle,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- AGESA_STATUS Status;
- LOCATE_HEAP_PTR LocHeapParams;
- LocHeapParams.BufferHandle = Handle;
- Status = HeapLocateBuffer (&LocHeapParams, StdHeader);
- if (Status != AGESA_SUCCESS) {
- return NULL;
- }
- return LocHeapParams.BufferPtr;
-}
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.h
deleted file mode 100644
index 186e3f7354..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibHeap.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access heap.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 49532 $ @e \$Date: 2011-03-25 02:54:43 +0800 (Fri, 25 Mar 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBHEAPLIB_H_
-#define _GNBHEAPLIB_H_
-
-VOID *
-GnbAllocateHeapBuffer (
- IN UINT32 Handle,
- IN UINTN Length,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID *
-GnbLocateHeapBuffer (
- IN UINT32 Handle,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID *
-GnbAllocateHeapBufferAndClear (
- IN UINT32 Handle,
- IN UINTN Length,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.c
deleted file mode 100644
index 1d6be12461..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
-* Service procedure to access I/O registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "Porting.h"
-#include "AMD.h"
-#include "amdlib.h"
-#include "GnbLibIoAcc.h"
-#include "S3SaveState.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBIOACC_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-/*----------------------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------------------*/
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write I/O Port
- *
- *
- *
- * @param[in] Address Physical Address
- * @param[in] Width Access width
- * @param[in] Value Pointer to value
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibIoWrite (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *StdHeader
- )
-{
- if (Width >= AccessS3SaveWidth8) {
- S3_SAVE_IO_WRITE (StdHeader, Address, Width, Value);
- }
- LibAmdIoWrite (Width, Address, Value, StdHeader);
-}
-/**
- * Read IO port
- *
- *
- *
- * @param[in] Address Physical Address
- * @param[in] Width Access width
- * @param[out] Value Pointer to value
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibIoRead (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *StdHeader
- )
-{
- LibAmdIoRead (Width, Address, Value, StdHeader);
-}
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.h
deleted file mode 100644
index ebfd248434..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibIoAcc.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access I/O registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _IOACCLIB_H_
-#define _IOACCLIB_H_
-
-
-VOID
-GnbLibIoWrite (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *StdHeader
- );
-
-VOID
-GnbLibIoRead (
- IN UINT16 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *StdHeader
- );
-
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.c
deleted file mode 100644
index db2f717e07..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access MMIO registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "Porting.h"
-#include "AMD.h"
-#include "amdlib.h"
-#include "GnbLibMemAcc.h"
-#include "S3SaveState.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBMEMACC_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write Memory/MMIO registers
- *
- *
- *
- * @param[in] Address Physical Address
- * @param[in] Width Access width
- * @param[in] Value Pointer to value
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibMemWrite (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *StdHeader
- )
-{
- if (Width >= AccessS3SaveWidth8) {
- S3_SAVE_MEM_WRITE (StdHeader, Address, Width, Value);
- }
- LibAmdMemWrite (Width, Address, Value, StdHeader);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read Memory/MMIO registers
- *
- *
- *
- * @param[in] Address Physical Address
- * @param[in] Width Access width
- * @param[out] Value Pointer to value
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibMemRead (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *StdHeader
- )
-{
- LibAmdMemRead (Width, Address, Value, StdHeader);
-}
-
-
-
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.h
deleted file mode 100644
index a9a448d2da..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibMemAcc.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access MMIO registers.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _MEMACCLIB_H_
-#define _MEMACCLIB_H_
-
-VOID
-GnbLibMemWrite (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN VOID *StdHeader
- );
-
-VOID
-GnbLibMemRead (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN VOID *StdHeader
- );
-
-VOID
-GnbLibMemRMW (
- IN UINT64 Address,
- IN ACCESS_WIDTH Width,
- IN UINT32 Mask,
- IN UINT32 Value,
- IN VOID *Config
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.c
deleted file mode 100644
index ef3c865e90..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Various PCI service routines.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 49526 $ @e \$Date: 2011-03-25 00:52:37 +0800 (Fri, 25 Mar 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-
-#include "AGESA.h"
-#include "amdlib.h"
-#include "Gnb.h"
-#include "GnbLibPciAcc.h"
-#include "GnbLibPci.h"
-#include "GnbLib.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBPCI_FILECODE
-
-UINT16
-GnbLibFindPcieExtendedCapability (
- IN UINT32 Address,
- IN UINT16 ExtendedCapabilityId,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Check if device present
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE Device is present
- * @retval FALSE Device is not present
- */
-
-BOOLEAN
-GnbLibPciIsDevicePresent (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT32 DeviceId;
- GnbLibPciRead (Address, AccessWidth32, &DeviceId, StdHeader);
- if (DeviceId == 0xffffffff) {
- return FALSE;
- } else {
- return TRUE;
- }
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Check if device is bridge
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE Device is a bridge
- * @retval FALSE Device is not a bridge
- */
-
-BOOLEAN
-GnbLibPciIsBridgeDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT8 Header;
- GnbLibPciRead (Address | 0xe, AccessWidth8, &Header, StdHeader);
- if ((Header & 0x7f) == 1) {
- return TRUE;
- } else {
- return FALSE;
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Check if device is multifunction
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE Device is a multifunction device.
- * @retval FALSE Device is a single function device.
- *
- */
-BOOLEAN
-GnbLibPciIsMultiFunctionDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT8 Header;
- GnbLibPciRead (Address | 0xe, AccessWidth8, &Header, StdHeader);
- if ((Header & 0x80) != 0) {
- return TRUE;
- } else {
- return FALSE;
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Check if device is PCIe device
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE Device is a PCIe device
- * @retval FALSE Device is not a PCIe device
- *
- */
-
-BOOLEAN
-GnbLibPciIsPcieDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- if (GnbLibFindPciCapability (Address, PCIE_CAP_ID, StdHeader) != 0 ) {
- return TRUE;
- } else {
- return FALSE;
- }
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Find PCI capability pointer
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] CapabilityId PCI capability ID
- * @param[in] StdHeader Standard configuration header
- * @retval Register address of capability pointer
- *
- */
-
-UINT8
-GnbLibFindPciCapability (
- IN UINT32 Address,
- IN UINT8 CapabilityId,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT8 CapabilityPtr;
- UINT8 CurrentCapabilityId;
- CapabilityPtr = 0x34;
- if (!GnbLibPciIsDevicePresent (Address, StdHeader)) {
- return 0;
- }
- while (CapabilityPtr != 0) {
- GnbLibPciRead (Address | CapabilityPtr, AccessWidth8 , &CapabilityPtr, StdHeader);
- if (CapabilityPtr != 0) {
- GnbLibPciRead (Address | CapabilityPtr , AccessWidth8 , &CurrentCapabilityId, StdHeader);
- if (CurrentCapabilityId == CapabilityId) {
- break;
- }
- CapabilityPtr++;
- }
- }
- return CapabilityPtr;
-}
-/*----------------------------------------------------------------------------------------*/
-/*
- * Find PCIe extended capability pointer
- *
- *
- *
- * @param[in] Address PCI address (as described in PCI_ADDR)
- * @param[in] ExtendedCapabilityId Extended PCIe capability ID
- * @param[in] StdHeader Standard configuration header
- * @retval Register address of extended capability pointer
- *
- */
-
-
-UINT16
-GnbLibFindPcieExtendedCapability (
- IN UINT32 Address,
- IN UINT16 ExtendedCapabilityId,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT16 CapabilityPtr;
- UINT32 ExtendedCapabilityIdBlock;
- if (GnbLibPciIsPcieDevice (Address, StdHeader)) {
- GnbLibPciRead (Address | 0x100 , AccessWidth32 , &ExtendedCapabilityIdBlock, StdHeader);
- if ((ExtendedCapabilityIdBlock != 0) && ((UINT16)ExtendedCapabilityIdBlock != 0xffff)) {
- do {
- CapabilityPtr = (UINT16) ((ExtendedCapabilityIdBlock >> 20) & 0xfff);
- if ((UINT16)ExtendedCapabilityIdBlock == ExtendedCapabilityId) {
- return CapabilityPtr;
- }
- GnbLibPciRead (Address | CapabilityPtr , AccessWidth32 , &ExtendedCapabilityIdBlock, StdHeader);
- } while (((ExtendedCapabilityIdBlock >> 20) & 0xfff) != 0);
- }
- }
- return 0;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Scan range of device on PCI bus.
- *
- *
- *
- * @param[in] Start Start address to start scan from
- * @param[in] End End address of scan
- * @param[in] ScanData Supporting data
- *
- */
-/*----------------------------------------------------------------------------------------*/
-VOID
-GnbLibPciScan (
- IN PCI_ADDR Start,
- IN PCI_ADDR End,
- IN GNB_PCI_SCAN_DATA *ScanData
- )
-{
- UINTN Bus;
- UINTN Device;
- UINTN LastDevice;
- UINTN Function;
- UINTN LastFunction;
- PCI_ADDR PciDevice;
- SCAN_STATUS Status;
-
- for (Bus = Start.Address.Bus; Bus <= End.Address.Bus; Bus++) {
- Device = (Bus == Start.Address.Bus) ? Start.Address.Device : 0x00;
- LastDevice = (Bus == End.Address.Bus) ? End.Address.Device : 0x1F;
- for ( ; Device <= LastDevice; Device++) {
- if ((Bus == Start.Address.Bus) && (Device == Start.Address.Device)) {
- Function = Start.Address.Function;
- } else {
- Function = 0x0;
- }
- PciDevice.AddressValue = MAKE_SBDFO (0, Bus, Device, Function, 0);
- if (!GnbLibPciIsDevicePresent (PciDevice.AddressValue, ScanData->StdHeader)) {
- continue;
- }
- if (GnbLibPciIsMultiFunctionDevice (PciDevice.AddressValue, ScanData->StdHeader)) {
- if ((Bus == End.Address.Bus) && (Device == End.Address.Device)) {
- LastFunction = Start.Address.Function;
- } else {
- LastFunction = 0x7;
- }
- } else {
- LastFunction = 0x0;
- }
- for ( ; Function <= LastFunction; Function++) {
- PciDevice.AddressValue = MAKE_SBDFO (0, Bus, Device, Function, 0);
- if (GnbLibPciIsDevicePresent (PciDevice.AddressValue, ScanData->StdHeader)) {
- Status = ScanData->GnbScanCallback (PciDevice, ScanData);
- if ((Status & SCAN_SKIP_FUNCTIONS) != 0) {
- Function = LastFunction + 1;
- }
- if ((Status & SCAN_SKIP_DEVICES) != 0) {
- Device = LastDevice + 1;
- }
- if ((Status & SCAN_SKIP_BUSES) != 0) {
- Bus = End.Address.Bus + 1;
- }
- }
- }
- }
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Scan all subordinate buses
- *
- *
- * @param[in] Bridge PCI bridge address
- * @param[in,out] ScanData Scan configuration data
- *
- */
-VOID
-GnbLibPciScanSecondaryBus (
- IN PCI_ADDR Bridge,
- IN OUT GNB_PCI_SCAN_DATA *ScanData
- )
-{
- PCI_ADDR StartRange;
- PCI_ADDR EndRange;
- UINT8 SecondaryBus;
- GnbLibPciRead (Bridge.AddressValue | 0x19, AccessWidth8, &SecondaryBus, ScanData->StdHeader);
- if (SecondaryBus != 0) {
- StartRange.AddressValue = MAKE_SBDFO (0, SecondaryBus, 0, 0, 0);
- EndRange.AddressValue = MAKE_SBDFO (0, SecondaryBus, 0x1f, 0x7, 0);
- GnbLibPciScan (StartRange, EndRange, ScanData);
- }
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Get PCIe device type
- *
- *
- *
- * @param[in] Device PCI address of device.
- * @param[in] StdHeader Northbridge configuration structure pointer.
- *
- * @retval PCIE_DEVICE_TYPE
- */
- /*----------------------------------------------------------------------------------------*/
-
-PCIE_DEVICE_TYPE
-GnbLibGetPcieDeviceType (
- IN PCI_ADDR Device,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT8 PcieCapPtr;
- UINT8 Value;
-
- PcieCapPtr = GnbLibFindPciCapability (Device.AddressValue, PCIE_CAP_ID, StdHeader);
- if (PcieCapPtr != 0) {
- GnbLibPciRead (Device.AddressValue | (PcieCapPtr + 0x2) , AccessWidth8, &Value, StdHeader);
- return Value >> 4;
- }
- return PcieNotPcieDevice;
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Save config space area
- *
- *
- *
- * @param[in] Address PCI address of device.
- * @param[in] StartRegisterAddress Start register address.
- * @param[in] EndRegisterAddress End register address.
- * @param[in] Width Acess width.
- * @param[in] StdHeader Standard header.
- *
- */
- /*----------------------------------------------------------------------------------------*/
-
-VOID
-GnbLibS3SaveConfigSpace (
- IN UINT32 Address,
- IN UINT16 StartRegisterAddress,
- IN UINT16 EndRegisterAddress,
- IN ACCESS_WIDTH Width,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT16 Index;
- UINT16 Delta;
- UINT16 Length;
- Length = (StartRegisterAddress < EndRegisterAddress) ? (EndRegisterAddress - StartRegisterAddress) : (StartRegisterAddress - EndRegisterAddress);
- Delta = LibAmdAccessWidth (Width);
- for (Index = 0; Index <= Length; Index = Index + Delta) {
- GnbLibPciRMW (
- Address | ((StartRegisterAddress < EndRegisterAddress) ? (StartRegisterAddress + Index) : (StartRegisterAddress - Index)),
- Width,
- 0xffffffff,
- 0x0,
- StdHeader
- );
- }
-}
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.h
deleted file mode 100644
index 4d824ed555..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPci.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Various PCI service routines.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBLIBPCI_H_
-#define _GNBLIBPCI_H_
-
-#define PCIE_CAP_ID 0x10
-#define IOMMU_CAP_ID 0x0F
-
-/// PCIe device type
-typedef enum {
- PcieDeviceEndPoint, ///< Endpoint
- PcieDeviceLegacyEndPoint, ///< Legacy endpoint
- PcieDeviceRootComplex = 4, ///< Root complex
- PcieDeviceUpstreamPort, ///< Upstream port
- PcieDeviceDownstreamPort, ///< Downstream Port
- PcieDevicePcieToPcix, ///< PCIe to PCI/PCIx bridge
- PcieDevicePcixToPcie, ///< PCI/PCIx to PCIe bridge
- PcieNotPcieDevice = 0xff ///< unknown device
-} PCIE_DEVICE_TYPE;
-
-typedef UINT32 SCAN_STATUS;
-
-#define SCAN_SKIP_FUNCTIONS 0x1
-#define SCAN_SKIP_DEVICES 0x2
-#define SCAN_SKIP_BUSES 0x4
-#define SCAN_SUCCESS 0x0
-
-// Forward declaration needed for multi-structure mutual references
-AGESA_FORWARD_DECLARATION (GNB_PCI_SCAN_DATA);
-
-typedef SCAN_STATUS (*GNB_SCAN_CALLBACK) (
- IN PCI_ADDR Device,
- IN OUT GNB_PCI_SCAN_DATA *ScanData
- );
-
-///Scan supporting data
-typedef struct _GNB_PCI_SCAN_DATA {
- GNB_SCAN_CALLBACK GnbScanCallback; ///< Callback for each found device
- AMD_CONFIG_PARAMS *StdHeader; ///< Standard configuration header
-} UnusedName;
-
-#define PCIE_CAP_ID 0x10
-#define PCIE_LINK_CAP_REGISTER 0x0C
-#define PCIE_LINK_CTRL_REGISTER 0x10
-#define PCIE_DEVICE_CAP_REGISTER 0x04
-#define PCIE_ASPM_L1_SUPPORT_CAP BIT11
-
-BOOLEAN
-GnbLibPciIsDevicePresent (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-BOOLEAN
-GnbLibPciIsBridgeDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-BOOLEAN
-GnbLibPciIsMultiFunctionDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-BOOLEAN
-GnbLibPciIsPcieDevice (
- IN UINT32 Address,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-UINT8
-GnbLibFindPciCapability (
- IN UINT32 Address,
- IN UINT8 CapabilityId,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibPciScan (
- IN PCI_ADDR Start,
- IN PCI_ADDR End,
- IN GNB_PCI_SCAN_DATA *ScanData
- );
-
-VOID
-GnbLibPciScanSecondaryBus (
- IN PCI_ADDR Bridge,
- IN OUT GNB_PCI_SCAN_DATA *ScanData
- );
-
-PCIE_DEVICE_TYPE
-GnbLibGetPcieDeviceType (
- IN PCI_ADDR Device,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibS3SaveConfigSpace (
- IN UINT32 Address,
- IN UINT16 StartRegisterAddress,
- IN UINT16 EndRegisterAddress,
- IN ACCESS_WIDTH Width,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.c
deleted file mode 100644
index a1758d0bf1..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access PCI config space registers
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "Porting.h"
-#include "AMD.h"
-#include "amdlib.h"
-#include "GnbLibPciAcc.h"
-#include "S3SaveState.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBPCIACC_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Write PCI registers
- *
- *
- *
- * @param[in] Address PCI address (as presented in PCI_ADDR.AddressValue)
- * @param[in] Width Access width
- * @param[in] Value Pointer to value
- * @param[in] StdHeader Pointer to standard header
- */
-VOID
-GnbLibPciWrite (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- PCI_ADDR PciAddress;
- PciAddress.AddressValue = Address;
- if (Width >= AccessS3SaveWidth8) {
- S3_SAVE_PCI_WRITE (StdHeader, PciAddress, Width, Value);
- }
- LibAmdPciWrite (Width, PciAddress, Value, StdHeader);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Read PCI registers
- *
- *
- *
- * @param[in] Address PCI address (as presented in PCI_ADDR.AddressValue)
- * @param[in] Width Access width
- * @param[out] Value Pointer to value
- * @param[in] StdHeader Pointer to standard header
- */
-
-VOID
-GnbLibPciRead (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- PCI_ADDR PciAddress;
- PciAddress.AddressValue = Address;
- LibAmdPciRead (Width, PciAddress, Value, StdHeader);
-}
-
-
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Poll PCI reg
- *
- *
- *
- * @param[in] Address PCI address (as presented in PCI_ADDR.AddressValue)
- * @param[in] Width Access width
- * @param[in] Data Data to compare
- * @param[in] DataMask AND mask
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibPciPoll (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Data,
- IN VOID *DataMask,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- PCI_ADDR PciAddress;
- PciAddress.AddressValue = Address;
- if (Width >= AccessS3SaveWidth8) {
- S3_SAVE_PCI_POLL (StdHeader, PciAddress, Width, Data, DataMask, 0xffffffff);
- }
- LibAmdPciPoll (Width, PciAddress, Data, DataMask, 0xffffffff, StdHeader);
-}
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.h
deleted file mode 100644
index d2680f8117..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibPciAcc.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access PCI config space registers
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 17:16:51 +0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBLIBPCIACC_H_
-#define _GNBLIBPCIACC_H_
-
-VOID
-GnbLibPciWrite (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Value,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibPciRead (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- OUT VOID *Value,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibPciPoll (
- IN UINT32 Address,
- IN ACCESS_WIDTH Width,
- IN VOID *Data,
- IN VOID *DataMask,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.c
deleted file mode 100644
index c3f76ed992..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Various PCI service routines.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 01:16:51 -0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-
-#include "AGESA.h"
-#include "amdlib.h"
-#include "S3SaveState.h"
-#include "Gnb.h"
-#include "GnbLib.h"
-#include "GnbLibStall.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBLIBSTALL_FILECODE
-
-
-
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Stall and save to script table
- *
- *
- *
- * @param[in] Microsecond Stall time
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibStallS3Save (
- IN UINT32 Microsecond,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- S3_SAVE_DISPATCH (StdHeader, GnbLibStallS3Script_ID, sizeof (Microsecond), &Microsecond);
- GnbLibStall (Microsecond, StdHeader);
-}
-
-
-/*----------------------------------------------------------------------------------------*/
-/*
- * Stall
- *
- *
- *
- * @param[in] Microsecond Stall time
- * @param[in] StdHeader Standard configuration header
- */
-
-VOID
-GnbLibStall (
- IN UINT32 Microsecond,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT32 TimeStampStart;
- UINT32 TimeStampDelta;
- UINT32 TimeStampCurrent;
-
- TimeStampStart = GnbLibTimeStamp (StdHeader);
- do {
- TimeStampCurrent = GnbLibTimeStamp (StdHeader);
- TimeStampDelta = ((TimeStampCurrent > TimeStampStart) ? (TimeStampCurrent - TimeStampStart) : (0xffffffffull - TimeStampStart + TimeStampCurrent));
- } while (TimeStampDelta < Microsecond);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Stall S3 scrept
- *
- *
- *
- * @param[in] StdHeader Standard configuration header
- * @param[in] ContextLength Context Length (not used)
- * @param[in] Context Context pointer (not used)
- */
-VOID
-GnbLibStallS3Script (
- IN AMD_CONFIG_PARAMS *StdHeader,
- IN UINT16 ContextLength,
- IN VOID* Context
- )
-{
- GnbLibStall (* ((UINT32*) Context), StdHeader);
-}
-/*----------------------------------------------------------------------------------------*/
-/*
- * Time stamp in us
- *
- *
- *
- * @param[in] StdHeader Standard configuration header
- * @retval TRUE Device is a bridge
- * @retval FALSE Device is not a bridge
- */
-
-UINT32
-GnbLibTimeStamp (
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT32 TimeStamp;
- GnbLibPciIndirectRead (
- MAKE_SBDFO (0, 0, 0, 0, 0xE0),
- 0x13080F0,
- AccessWidth32,
- &TimeStamp,
- StdHeader
- );
- return TimeStamp;
-}
-
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.h
deleted file mode 100644
index ad39c2f8c2..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbLibStall.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Various PCI service routines.
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 01:16:51 -0800 (Wed, 22 Dec 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBLIBSTALL_H_
-#define _GNBLIBSTALL_H_
-
-VOID
-GnbLibStallS3Save (
- IN UINT32 Microsecond,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibStall (
- IN UINT32 Microsecond,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-UINT32
-GnbLibTimeStamp (
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-VOID
-GnbLibStallS3Script (
- IN AMD_CONFIG_PARAMS *StdHeader,
- IN UINT16 ContextLength,
- IN VOID* Context
- );
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.c b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.c
deleted file mode 100644
index 7de0d95a37..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access PCI config space registers
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 39623 $ @e \$Date: 2010-10-13 13:37:42 -0700 (Wed, 13 Oct 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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.
-* ***************************************************************************
-*
-*/
-
-/*----------------------------------------------------------------------------------------
- * M O D U L E S U S E D
- *----------------------------------------------------------------------------------------
- */
-#include "AGESA.h"
-#include "Ids.h"
-#include "amdlib.h"
-#include "cpuFamilyTranslation.h"
-#include "Gnb.h"
-#include "GnbLib.h"
-#include "GnbLibStall.h"
-#include "GnbTable.h"
-#include "Filecode.h"
-#define FILECODE PROC_GNB_MODULES_GNBCOMMONLIB_GNBTABLE_FILECODE
-/*----------------------------------------------------------------------------------------
- * D E F I N I T I O N S A N D M A C R O S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * T Y P E D E F S A N D S T R U C T U R E S
- *----------------------------------------------------------------------------------------
- */
-
-
-/*----------------------------------------------------------------------------------------
- * P R O T O T Y P E S O F L O C A L F U N C T I O N S
- *----------------------------------------------------------------------------------------
- */
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Process table
- *
- *
- *
- * @param[in] Table Table pointer
- * @param[in] Property Property
- * @param[in] Flags Flags
- * @param[in] Protocol Register access protocol
- * @param[in] StdHeader Standard configuration header
- */
-AGESA_STATUS
-GnbProcessTable (
- IN GNB_TABLE *Table,
- IN UINT32 Property,
- IN UINT32 Flags,
- IN GNB_REGISTER_PROTOCOL *Protocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- return GnbProcessTableExt (0, 0, Table, Property, Flags, Protocol, StdHeader);
-}
-
-/*----------------------------------------------------------------------------------------*/
-/**
- * Process table
- *
- * @param[in] Socket Socket
- * @param[in] Module Module
- * @param[in] Table Table pointer
- * @param[in] Property Property
- * @param[in] Flags Flags
- * @param[in] Protocol Register access protocol
- * @param[in] StdHeader Standard configuration header
- */
-
-AGESA_STATUS
-GnbProcessTableExt (
- IN UINT32 Socket,
- IN UINT8 Module,
- IN GNB_TABLE *Table,
- IN UINT32 Property,
- IN UINT32 Flags,
- IN GNB_REGISTER_PROTOCOL *Protocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- )
-{
- UINT8 *EntryPointer;
- UINT64 Data;
- UINT64 Temp;
- UINT64 Mask;
- UINT32 WriteAccFlags;
- CPU_LOGICAL_ID LogicalId;
- IDS_HDT_CONSOLE (GNB_TRACE, "GnbProcessTableExt Enter\n");
- IDS_HDT_CONSOLE (GNB_TRACE, " Property - 0x%08x\n", Property);
- GetLogicalIdOfSocket (Socket, &LogicalId, StdHeader);
- EntryPointer = (UINT8 *) Table;
- WriteAccFlags = 0;
- if ((Flags & GNB_TABLE_FLAGS_FORCE_S3_SAVE) != 0) {
- WriteAccFlags |= GNB_REG_ACC_FLAG_S3SAVE;
- }
- while (*EntryPointer != GnbEntryTerminate) {
- Data = 0;
- Temp = 0;
- switch (*EntryPointer) {
- case GnbEntryWr:
- Protocol->Write (
- ((GNB_TABLE_ENTRY_WR*) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_WR*) EntryPointer)->Address,
- &((GNB_TABLE_ENTRY_WR*) EntryPointer)->Value,
- WriteAccFlags,
- StdHeader
- );
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_WR);
- break;
- case GnbEntryPropertyWr:
- if ((Property & ((GNB_TABLE_ENTRY_PROPERTY_WR *) EntryPointer)->Property) != 0) {
- Protocol->Write (
- ((GNB_TABLE_ENTRY_PROPERTY_WR *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_PROPERTY_WR *) EntryPointer)->Address,
- &((GNB_TABLE_ENTRY_PROPERTY_WR *) EntryPointer)->Value,
- WriteAccFlags,
- StdHeader
- );
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_PROPERTY_WR);
- break;
- case GnbEntryFullWr:
- if ((Property & ((GNB_TABLE_ENTRY_FULL_WR*) EntryPointer)->Property) != 0) {
- if ((LogicalId.Revision & ((GNB_TABLE_ENTRY_FULL_WR*) EntryPointer)->Revision) != 0) {
- Protocol->Write (
- ((GNB_TABLE_ENTRY_FULL_WR*) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_FULL_WR*) EntryPointer)->Address,
- &((GNB_TABLE_ENTRY_FULL_WR*) EntryPointer)->Value,
- WriteAccFlags,
- StdHeader
- );
- }
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_FULL_WR);
- break;
- case GnbEntryRmw:
- Protocol->Read (
- ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->Address,
- &Data,
- 0,
- StdHeader
- );
- Data = (Data & (~ (UINT64) ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->AndMask)) | ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->OrMask;
- Protocol->Write (
- ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_RMW*) EntryPointer)->Address,
- &Data,
- WriteAccFlags,
- StdHeader
- );
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_RMW);
- break;
- case GnbEntryPropertyRmw:
- if ((Property & ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->Property) != 0) {
- Protocol->Read (
- ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->Address,
- &Data,
- 0,
- StdHeader
- );
- Data = (Data & (~ (UINT64) ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->AndMask)) | ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->OrMask;
- Protocol->Write (
- ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_PROPERTY_RMW *) EntryPointer)->Address,
- &Data,
- WriteAccFlags,
- StdHeader
- );
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_PROPERTY_RMW);
- break;
- case GnbEntryFullRmw:
- if ((Property & ((GNB_TABLE_ENTRY_FULL_WR *) EntryPointer)->Property) != 0) {
- if ((LogicalId.Revision & ((GNB_TABLE_ENTRY_FULL_WR *) EntryPointer)->Revision) != 0) {
- Protocol->Read (
- ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->Address,
- &Data,
- 0,
- StdHeader
- );
- Data = (Data & (~ (UINT64) ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->AndMask)) | ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->OrMask;
- Protocol->Write (
- ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_FULL_RMW *) EntryPointer)->Address,
- &Data,
- WriteAccFlags,
- StdHeader
- );
- }
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_FULL_RMW);
- break;
- case GnbEntryPoll:
- do {
- Protocol->Read (
- ((GNB_TABLE_ENTRY_POLL *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_POLL *) EntryPointer)->Address,
- &Data,
- 0,
- StdHeader
- );
- } while ((Data & ((GNB_TABLE_ENTRY_POLL*) EntryPointer)->AndMask) != ((GNB_TABLE_ENTRY_POLL*) EntryPointer)->CompareValue);
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_POLL);
- break;
- case GnbEntryPropertyPoll:
- if ((Property & ((GNB_TABLE_ENTRY_PROPERTY_POLL *) EntryPointer)->Property) != 0) {
- do {
- Protocol->Read (
- ((GNB_TABLE_ENTRY_PROPERTY_POLL *) EntryPointer)->RegisterSpaceType,
- ((GNB_TABLE_ENTRY_PROPERTY_POLL *) EntryPointer)->Address,
- &Data,
- 0,
- StdHeader
- );
- } while ((Data & ((GNB_TABLE_ENTRY_PROPERTY_POLL *) EntryPointer)->AndMask) != ((GNB_TABLE_ENTRY_PROPERTY_POLL *) EntryPointer)->CompareValue);
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_PROPERTY_POLL);
- break;
- case GnbEntryCopy:
- Protocol->Read (
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->SrcRegisterSpaceType,
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->SrcAddress,
- &Data,
- 0,
- StdHeader
- );
- Mask = (1ull << ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->SrcFieldWidth) - 1;
- Data = (Data >> ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->SrcFieldOffset) & Mask;
- Protocol->Read (
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestRegisterSpaceType,
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestAddress,
- &Temp,
- 0,
- StdHeader
- );
- Mask = (1ull << ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestFieldWidth) - 1;
- Temp = Temp & ( ~ (Mask << ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestFieldOffset));
- Temp = Temp | ((Data & Mask) << ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestFieldOffset);
- Protocol->Write (
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestRegisterSpaceType,
- ((GNB_TABLE_ENTRY_COPY*) EntryPointer)->DestAddress,
- &Temp,
- WriteAccFlags,
- StdHeader
- );
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_COPY);
- break;
- case GnbEntryStall:
- if ((WriteAccFlags & GNB_TABLE_FLAGS_FORCE_S3_SAVE) != 0) {
- GnbLibStallS3Save (((GNB_TABLE_ENTRY_STALL*) EntryPointer)->Microsecond, StdHeader);
- } else {
- GnbLibStall (((GNB_TABLE_ENTRY_STALL*) EntryPointer)->Microsecond, StdHeader);
- }
- EntryPointer = EntryPointer + sizeof (GNB_TABLE_ENTRY_STALL);
- break;
- default:
- ASSERT (FALSE);
- IDS_HDT_CONSOLE (NB_MISC, " ERROR!!! Regiter table parse\n");
- return AGESA_ERROR;
- }
- }
- IDS_HDT_CONSOLE (GNB_TRACE, "GnbProcessTableExt Exit\n");
- return AGESA_SUCCESS;
-}
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.h
deleted file mode 100644
index ea12112fe2..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/GnbTable.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Service procedure to access PCI config space registers
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 39623 $ @e \$Date: 2010-10-13 13:37:42 -0700 (Wed, 13 Oct 2010) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 _GNBTABLE_H_
-#define _GNBTABLE_H_
-
-
-#pragma pack (push, 1)
-
-#define GNB_TABLE_FLAGS_FORCE_S3_SAVE 0x00000001
-
-typedef UINT8 GNB_TABLE;
-
-#define __DATA(x) x
-
-#define _DATA32(Data) (__DATA(Data)) & 0xFF, ((__DATA(Data)) >> 8) & 0xFF, ((__DATA(Data)) >> 16) & 0xFF, ((__DATA(Data)) >> 24) & 0xFF
-
-/// Entry type
-typedef enum {
- GnbEntryWr, ///< Write register
- GnbEntryPropertyWr, ///< Write register check property
- GnbEntryFullWr, ///< Write Rgister check revision and property
- GnbEntryRmw, ///< Read Modify Write register
- GnbEntryPropertyRmw, ///< Read Modify Write register check property
- GnbEntryFullRmw, ///< Read Modify Write register check revision and property
- GnbEntryPoll, ///< Poll register
- GnbEntryPropertyPoll, ///< Poll register check property
- GnbEntryCopy, ///< Copy field from one register to another
- GnbEntryStall, ///< Copy field from one register to another
- GnbEntryTerminate = 0xFF ///< Terminate table
-} GNB_TABLE_ENTRY_TYPE;
-
-#define GNB_ENTRY_WR(RegisterSpaceType, Address, Value) \
- GnbEntryWr, RegisterSpaceType, _DATA32 (Address), _DATA32 (Value)
-
-/// Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 Value; ///< Value
-} GNB_TABLE_ENTRY_WR;
-
-#define GNB_ENTRY_PROPERTY_WR(Property, RegisterSpaceType, Address, Value) \
- GnbEntryPropertyWr, _DATA32 (Property), RegisterSpaceType, _DATA32 (Address), _DATA32 (Value)
-
-/// Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Property; ///< Property
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 Value; ///< Value
-} GNB_TABLE_ENTRY_PROPERTY_WR;
-
-
-#define GNB_ENTRY_RMW(RegisterSpaceType, Address, AndMask, OrMask) \
- GnbEntryRmw, RegisterSpaceType, _DATA32 (Address), _DATA32 (AndMask), _DATA32 (OrMask)
-
-/// Read Modify Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 AndMask; ///< And Mask
- UINT32 OrMask; ///< Or Mask
-} GNB_TABLE_ENTRY_RMW;
-
-#define GNB_ENTRY_FULL_WR(Property, Revision, RegisterSpaceType, Address, Value) \
- GnbEntryFullWr, _DATA32 (Property), _DATA64 (Revision), RegisterSpaceType, _DATA32 (Address), _DATA32 (Value)
-
-/// Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Property; ///< Property
- UINT64 Revision; ///< Revision
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 Value; ///< Value
-} GNB_TABLE_ENTRY_FULL_WR;
-
-
-#define GNB_ENTRY_PROPERTY_RMW(Property, RegisterSpaceType, Address, AndMask, OrMask) \
- GnbEntryPropertyRmw, _DATA32 (Property), RegisterSpaceType, _DATA32 (Address), _DATA32 (AndMask), _DATA32 (OrMask)
-
-/// Read Modify Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Property; ///< Property
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 AndMask; ///< End Mask
- UINT32 OrMask; ///< Or Mask
-} GNB_TABLE_ENTRY_PROPERTY_RMW;
-
-#define GNB_ENTRY_FULL_RMW(Property, Revision, RegisterSpaceType, Address, AndMask, OrMask) \
- GnbEntryFullRmw, _DATA32 (Property), _DATA64 (Revision), RegisterSpaceType, _DATA32 (Address), _DATA32 (AndMask), _DATA32 (OrMask)
-
-/// Read Modify Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Property; ///< Property
- UINT64 Revision; ///< Revision
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 AndMask; ///< End Mask
- UINT32 OrMask; ///< Or Mask
-} GNB_TABLE_ENTRY_FULL_RMW;
-
-#define GNB_ENTRY_POLL(RegisterSpaceType, Address, AndMask, CompareValue) \
- GnbEntryPoll, RegisterSpaceType, _DATA32 (Address), _DATA32 (AndMask), _DATA32 (CompareValue)
-/// Poll register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 AndMask; ///< End mask
- UINT32 CompareValue; ///< Compare value
-} GNB_TABLE_ENTRY_POLL;
-
-#define GNB_ENTRY_PROPERTY_POLL(Property, RegisterSpaceType, Address, AndMask, CompareValue) \
- GnbEntryPropertyPoll, _DATA32 (Property), RegisterSpaceType, _DATA32 (Address), _DATA32 (AndMask), _DATA32 (CompareValue)
-/// Poll register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Property; ///< Property
- UINT8 RegisterSpaceType; ///< Register space
- UINT32 Address; ///< Register address
- UINT32 AndMask; ///< End mask
- UINT32 CompareValue; ///< Compare value
-} GNB_TABLE_ENTRY_PROPERTY_POLL;
-
-
-#define GNB_ENTRY_COPY(DestRegSpaceType, DestAddress, DestFieldOffset, DestFieldWidth, SrcRegisterSpaceType, SrcAddress, SrcFieldOffset, SrcFieldWidth) \
- GnbEntryCopy, DestRegSpaceType, _DATA32 (DestAddress), DestFieldOffset, DestFieldWidth, SrcRegisterSpaceType, _DATA32 (SrcAddress), SrcFieldOffset, SrcFieldWidth
-
-/// Copy regster entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT8 DestRegisterSpaceType; ///< Register space
- UINT32 DestAddress; ///< Register address
- UINT8 DestFieldOffset; ///< Field Offset
- UINT8 DestFieldWidth; ///< Field Width
- UINT8 SrcRegisterSpaceType; ///< Register space
- UINT32 SrcAddress; ///< Register address
- UINT8 SrcFieldOffset; ///< Field Offset
- UINT8 SrcFieldWidth; ///< Field Width
-} GNB_TABLE_ENTRY_COPY;
-
-#define GNB_ENTRY_STALL(Microsecond) \
- GnbEntryStall, _DATA32 (Microsecond)
-
-/// Write register entry
-typedef struct {
- UINT8 EntryType; ///< Entry type
- UINT32 Microsecond; ///< Value
-} GNB_TABLE_ENTRY_STALL;
-
-#define GNB_ENTRY_TERMINATE GnbEntryTerminate
-
-AGESA_STATUS
-GnbProcessTableExt (
- IN UINT32 Socket,
- IN UINT8 Module,
- IN GNB_TABLE *Table,
- IN UINT32 Property,
- IN UINT32 Flags,
- IN GNB_REGISTER_PROTOCOL *Protocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-AGESA_STATUS
-GnbProcessTable (
- IN GNB_TABLE *Table,
- IN UINT32 Property,
- IN UINT32 Flags,
- IN GNB_REGISTER_PROTOCOL *Protocol,
- IN AMD_CONFIG_PARAMS *StdHeader
- );
-
-
-#pragma pack (pop)
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/Makefile.inc b/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/Makefile.inc
deleted file mode 100644
index 8965cbed69..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Modules/GnbCommonLib/Makefile.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-libagesa-y += GnbLib.c
-libagesa-y += GnbLibCpuAcc.c
-libagesa-y += GnbLibHeap.c
-libagesa-y += GnbLibIoAcc.c
-libagesa-y += GnbLibMemAcc.c
-libagesa-y += GnbLibPci.c
-libagesa-y += GnbLibPciAcc.c
-libagesa-y += GnbLibStall.c