<p>Richard Spiegel has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/28742">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">vendorcode/amd/pi/00670F00/Lib: Remove folder<br><br>Now that the last dependency was resolved, remove AmdLib folder.<br><br>BUG=b:112525011<br>TEST=Build and boot grunt.<br><br>Change-Id: Ibd9a20bc358742520138b9b01f76d7fd2fac92ab<br>Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com><br>---<br>D src/vendorcode/amd/pi/00670F00/Lib/amdlib.c<br>D src/vendorcode/amd/pi/00670F00/Lib/amdlib.h<br>M src/vendorcode/amd/pi/00670F00/Proc/Fch/FchPlatform.h<br>3 files changed, 0 insertions(+), 776 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/42/28742/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c</span><br><span>deleted file mode 100644</span><br><span>index 8a4113f..0000000</span><br><span>--- a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c</span><br><span>+++ /dev/null</span><br><span>@@ -1,573 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/* $NoKeywords:$ */</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * @file</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * AMD Library</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Contains interface to the AMD AGESA library</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @xrefitem bom "File Content Label" "Release Content"</span><br><span style="color: hsl(0, 100%, 40%);">- * @e project:      AGESA</span><br><span style="color: hsl(0, 100%, 40%);">- * @e sub-project:  Lib</span><br><span style="color: hsl(0, 100%, 40%);">- * @e \$Revision: 48409 $   @e \$Date: 2011-03-08 11:19:40 -0600 (Tue, 08 Mar 2011) $</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- ******************************************************************************</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (c) 2008 - 2011, Advanced Micro Devices, Inc.</span><br><span style="color: hsl(0, 100%, 40%);">- *               2013 - 2014, Sage Electronic Engineering, LLC</span><br><span style="color: hsl(0, 100%, 40%);">- * All rights reserved.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Redistribution and use in source and binary forms, with or without</span><br><span style="color: hsl(0, 100%, 40%);">- * modification, are permitted provided that the following conditions are met:</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Redistributions of source code must retain the above copyright</span><br><span style="color: hsl(0, 100%, 40%);">- *       notice, this list of conditions and the following disclaimer.</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Redistributions in binary form must reproduce the above copyright</span><br><span style="color: hsl(0, 100%, 40%);">- *       notice, this list of conditions and the following disclaimer in the</span><br><span style="color: hsl(0, 100%, 40%);">- *       documentation and/or other materials provided with the distribution.</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Neither the name of Advanced Micro Devices, Inc. nor the names of</span><br><span style="color: hsl(0, 100%, 40%);">- *       its contributors may be used to endorse or promote products derived</span><br><span style="color: hsl(0, 100%, 40%);">- *       from this software without specific prior written permission.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND</span><br><span style="color: hsl(0, 100%, 40%);">- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span><br><span style="color: hsl(0, 100%, 40%);">- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span><br><span style="color: hsl(0, 100%, 40%);">- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY</span><br><span style="color: hsl(0, 100%, 40%);">- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span><br><span style="color: hsl(0, 100%, 40%);">- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span><br><span style="color: hsl(0, 100%, 40%);">- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span><br><span style="color: hsl(0, 100%, 40%);">- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span><br><span style="color: hsl(0, 100%, 40%);">- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span><br><span style="color: hsl(0, 100%, 40%);">- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span><br><span style="color: hsl(0, 100%, 40%);">- ******************************************************************************</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <AGESA.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <cpuRegisters.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include "amdlib.h"</span><br><span style="color: hsl(0, 100%, 40%);">-CODE_GROUP (G1_PEICC)</span><br><span style="color: hsl(0, 100%, 40%);">-RDATA_GROUP (G1_PEICC)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#if !defined(AMDLIB_OPTIMIZE)</span><br><span style="color: hsl(0, 100%, 40%);">-       #define AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-BOOLEAN</span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-GetPciMmioAddress (</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT64            *MmioAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT32            *MmioSize,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-CpuidRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN        UINT32      CpuidFcnAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  OUT       CPUID_DATA  *Value</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT8</span><br><span style="color: hsl(0, 100%, 40%);">-ReadNumberOfCpuCores(</span><br><span style="color: hsl(0, 100%, 40%);">-  void</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT8</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  return __inbyte (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT16</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  return __inword (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT32</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  return __indword (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT8 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  __outbyte (Address, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  __outword (Address, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   __outdword (Address, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-UINT64 SetFsBase (</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 hwcr;</span><br><span style="color: hsl(0, 100%, 40%);">-  hwcr = __readmsr (0xC0010015);</span><br><span style="color: hsl(0, 100%, 40%);">-  __writemsr (0xC0010015, hwcr | 1 << 17);</span><br><span style="color: hsl(0, 100%, 40%);">-  __writemsr (0xC0000100, address);</span><br><span style="color: hsl(0, 100%, 40%);">-  return hwcr;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-RestoreHwcr (</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64</span><br><span style="color: hsl(0, 100%, 40%);">-  value</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  __writemsr (0xC0010015, value);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT8</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT8 dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((Address >> 32) == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-    return *(volatile UINT8 *) (UINTN) Address;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-  dataRead = __readfsbyte (0);</span><br><span style="color: hsl(0, 100%, 40%);">-  RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">-  return dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT16</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT16 dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((Address >> 32) == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-    return *(volatile UINT16 *) (UINTN) Address;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-  dataRead = __readfsword (0);</span><br><span style="color: hsl(0, 100%, 40%);">-  RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">-  return dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-UINT32</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32 dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((Address >> 32) == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-    return *(volatile UINT32 *) (UINTN) Address;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-  dataRead = __readfsdword (0);</span><br><span style="color: hsl(0, 100%, 40%);">-  RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">-  return dataRead;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT8 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((Address >> 32) == 0){</span><br><span style="color: hsl(0, 100%, 40%);">-    *(volatile UINT8 *) (UINTN) Address = Data;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  else {</span><br><span style="color: hsl(0, 100%, 40%);">-    UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-    hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-    __writefsbyte (0, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-    RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- if ((Address >> 32) == 0){</span><br><span style="color: hsl(0, 100%, 40%);">-   *(volatile UINT16 *) (UINTN) Address = Data;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- else {</span><br><span style="color: hsl(0, 100%, 40%);">-   UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-   hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-   __writefsword (0, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-   RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((Address >> 32) == 0){</span><br><span style="color: hsl(0, 100%, 40%);">-    *(volatile UINT32 *) (UINTN) Address = Data;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  else {</span><br><span style="color: hsl(0, 100%, 40%);">-    UINT64 hwcrSave;</span><br><span style="color: hsl(0, 100%, 40%);">-    hwcrSave = SetFsBase (Address);</span><br><span style="color: hsl(0, 100%, 40%);">-    __writefsdword (0, Data);</span><br><span style="color: hsl(0, 100%, 40%);">-    RestoreHwcr (hwcrSave);</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMsrRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 MsrAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT64 *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *ConfigPtr</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  *Value = __readmsr (MsrAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AMDLIB_OPTIMIZE</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMsrWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 MsrAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *ConfigPtr</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  __writemsr (MsrAddress, *Value);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Read IO port</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] IoAddress     IO port address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to save data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  switch (AccessWidth) {</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT8 *) Value = ReadIo8 (IoAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT16 *) Value = ReadIo16 (IoAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT32 *) Value = ReadIo32 (IoAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  default:</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT (FALSE);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Write IO port</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] IoAddress     IO port address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  switch (AccessWidth) {</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-    WriteIo8 (IoAddress, *(UINT8 *) Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-    WriteIo16 (IoAddress, *(UINT16 *) Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-    WriteIo32 (IoAddress, *(UINT32 *) Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  default:</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT (FALSE);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Read memory/MMIO</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] MemAddress    Memory address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  switch (AccessWidth) {</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT8 *) Value = Read64Mem8 (MemAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT16 *) Value = Read64Mem16 (MemAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-    *(UINT32 *) Value = Read64Mem32 (MemAddress);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  default:</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT (FALSE);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Write memory/MMIO</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] MemAddress    Memory address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  switch (AccessWidth) {</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth8:</span><br><span style="color: hsl(0, 100%, 40%);">-    Write64Mem8 (MemAddress, *((UINT8 *) Value));</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth16:</span><br><span style="color: hsl(0, 100%, 40%);">-    Write64Mem16 (MemAddress, *((UINT16 *) Value));</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-  case AccessS3SaveWidth32:</span><br><span style="color: hsl(0, 100%, 40%);">-    Write64Mem32 (MemAddress, *((UINT32 *) Value));</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  default:</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT (FALSE);</span><br><span style="color: hsl(0, 100%, 40%);">-    break;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Read PCI config space</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] PciAddress    Pci address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32 LegacyPciAccess;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32 MMIOSize;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 RMWrite;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 RMWritePrevious;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 MMIOAddress;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  ASSERT (PciAddress.AddressValue != ILLEGAL_SBDFO);</span><br><span style="color: hsl(0, 100%, 40%);">-  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, NULL)) {</span><br><span style="color: hsl(0, 100%, 40%);">-    // We need to convert our "portable" PCI address into a "real" PCI access</span><br><span style="color: hsl(0, 100%, 40%);">-    LegacyPciAccess = ((1 << 31) + (PciAddress.Address.Register & 0xFC) + (PciAddress.Address.Function << 8) + (PciAddress.Address.Device << 11) + (PciAddress.Address.Bus << 16) + ((PciAddress.Address.Register & 0xF00) << (24 - 8)));</span><br><span style="color: hsl(0, 100%, 40%);">-    if (PciAddress.Address.Register <= 0xFF) {</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    } else {</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      RMWrite = RMWritePrevious | 0x0000400000000000;</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrWrite (NB_CFG, &RMWrite, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    }</span><br><span style="color: hsl(0, 100%, 40%);">-    //IDS_HDT_CONSOLE (LIB_PCI_RD, "~PCI RD %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-  } else {</span><br><span style="color: hsl(0, 100%, 40%);">-    // Setup the MMIO address</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT ((MMIOAddress + MMIOSize) > (MMIOAddress + (PciAddress.AddressValue & 0x0FFFFFFF)));</span><br><span style="color: hsl(0, 100%, 40%);">-    MMIOAddress += (PciAddress.AddressValue & 0x0FFFFFFF);</span><br><span style="color: hsl(0, 100%, 40%);">-    LibAmdMemRead (AccessWidth, MMIOAddress, Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    //IDS_HDT_CONSOLE (LIB_PCI_RD, "~MMIO RD %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Write PCI config space</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] PciAddress    Pci address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Value         Pointer to data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32 LegacyPciAccess;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32 MMIOSize;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 RMWrite;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 RMWritePrevious;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64 MMIOAddress;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  ASSERT (PciAddress.AddressValue != ILLEGAL_SBDFO);</span><br><span style="color: hsl(0, 100%, 40%);">-  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, NULL)) {</span><br><span style="color: hsl(0, 100%, 40%);">-    // We need to convert our "portable" PCI address into a "real" PCI access</span><br><span style="color: hsl(0, 100%, 40%);">-    LegacyPciAccess = ((1 << 31) + (PciAddress.Address.Register & 0xFC) + (PciAddress.Address.Function << 8) + (PciAddress.Address.Device << 11) + (PciAddress.Address.Bus << 16) + ((PciAddress.Address.Register & 0xF00) << (24 - 8)));</span><br><span style="color: hsl(0, 100%, 40%);">-    if (PciAddress.Address.Register <= 0xFF) {</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    } else {</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      RMWrite = RMWritePrevious | 0x0000400000000000;</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrWrite (NB_CFG, &RMWrite, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    }</span><br><span style="color: hsl(0, 100%, 40%);">-    //IDS_HDT_CONSOLE (LIB_PCI_WR, "~PCI WR %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    //printk(BIOS_DEBUG, "~PCI WR %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    //printk(BIOS_DEBUG, "LibAmdPciWrite\n");</span><br><span style="color: hsl(0, 100%, 40%);">-  } else {</span><br><span style="color: hsl(0, 100%, 40%);">-    // Setup the MMIO address</span><br><span style="color: hsl(0, 100%, 40%);">-    ASSERT ((MMIOAddress + MMIOSize) > (MMIOAddress + (PciAddress.AddressValue & 0x0FFFFFFF)));</span><br><span style="color: hsl(0, 100%, 40%);">-    MMIOAddress += (PciAddress.AddressValue & 0x0FFFFFFF);</span><br><span style="color: hsl(0, 100%, 40%);">-    LibAmdMemWrite (AccessWidth, MMIOAddress, Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-    //IDS_HDT_CONSOLE (LIB_PCI_WR, "~MMIO WR %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    //printk(BIOS_DEBUG, "~MMIO WR %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);</span><br><span style="color: hsl(0, 100%, 40%);">-    //printk(BIOS_DEBUG, "LibAmdPciWrite mmio\n");</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Get MMIO base address for PCI accesses</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[out] MmioAddress   PCI MMIO base address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[out] MmioSize      Size of region in bytes</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in]  StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @retval    TRUE          MmioAddress/MmioSize are valid</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-BOOLEAN</span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-GetPciMmioAddress (</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT64            *MmioAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT32            *MmioSize,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  BOOLEAN MmioIsEnabled;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  EncodedSize;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT64  LocalMsrRegister;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  MmioIsEnabled = FALSE;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdMsrRead (MSR_MMIO_Cfg_Base, &LocalMsrRegister, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-  if ((LocalMsrRegister & BIT0) != 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-    *MmioAddress = LocalMsrRegister & 0xFFFFFFFFFFF00000;</span><br><span style="color: hsl(0, 100%, 40%);">-    EncodedSize = (UINT32) ((LocalMsrRegister & 0x3C) >> 2);</span><br><span style="color: hsl(0, 100%, 40%);">-    *MmioSize = ((1 << EncodedSize) * 0x100000);</span><br><span style="color: hsl(0, 100%, 40%);">-    MmioIsEnabled = TRUE;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-  return MmioIsEnabled;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span>diff --git a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h</span><br><span>deleted file mode 100644</span><br><span>index fc97213..0000000</span><br><span>--- a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h</span><br><span>+++ /dev/null</span><br><span>@@ -1,202 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/* $NoKeywords:$ */</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * @file</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * AMD Library</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Contains interface to the AMD AGESA library</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @xrefitem bom "File Content Label" "Release Content"</span><br><span style="color: hsl(0, 100%, 40%);">- * @e project:      AGESA</span><br><span style="color: hsl(0, 100%, 40%);">- * @e sub-project:  Lib</span><br><span style="color: hsl(0, 100%, 40%);">- * @e \$Revision: 85030 $   @e \$Date: 2012-12-26 00:20:10 -0600 (Wed, 26 Dec 2012) $</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- ******************************************************************************</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc.</span><br><span style="color: hsl(0, 100%, 40%);">- *               2013 - 2014, Sage Electronic Engineering, LLC</span><br><span style="color: hsl(0, 100%, 40%);">- * All rights reserved.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Redistribution and use in source and binary forms, with or without</span><br><span style="color: hsl(0, 100%, 40%);">- * modification, are permitted provided that the following conditions are met:</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Redistributions of source code must retain the above copyright</span><br><span style="color: hsl(0, 100%, 40%);">- *       notice, this list of conditions and the following disclaimer.</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Redistributions in binary form must reproduce the above copyright</span><br><span style="color: hsl(0, 100%, 40%);">- *       notice, this list of conditions and the following disclaimer in the</span><br><span style="color: hsl(0, 100%, 40%);">- *       documentation and/or other materials provided with the distribution.</span><br><span style="color: hsl(0, 100%, 40%);">- *     * Neither the name of Advanced Micro Devices, Inc. nor the names of</span><br><span style="color: hsl(0, 100%, 40%);">- *       its contributors may be used to endorse or promote products derived</span><br><span style="color: hsl(0, 100%, 40%);">- *       from this software without specific prior written permission.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND</span><br><span style="color: hsl(0, 100%, 40%);">- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span><br><span style="color: hsl(0, 100%, 40%);">- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span><br><span style="color: hsl(0, 100%, 40%);">- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY</span><br><span style="color: hsl(0, 100%, 40%);">- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span><br><span style="color: hsl(0, 100%, 40%);">- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span><br><span style="color: hsl(0, 100%, 40%);">- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span><br><span style="color: hsl(0, 100%, 40%);">- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span><br><span style="color: hsl(0, 100%, 40%);">- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span><br><span style="color: hsl(0, 100%, 40%);">- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span><br><span style="color: hsl(0, 100%, 40%);">- ******************************************************************************</span><br><span style="color: hsl(0, 100%, 40%);">- **/</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#ifndef _AMD_LIB_H_</span><br><span style="color: hsl(0, 100%, 40%);">-#define _AMD_LIB_H_</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <agesa_headers.h></span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define IOCF8 0xCF8</span><br><span style="color: hsl(0, 100%, 40%);">-#define IOCFC 0xCFC</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// Reg Values for ReadCpuReg and WriteCpuReg</span><br><span style="color: hsl(0, 100%, 40%);">-#define    CR4_REG  0x04</span><br><span style="color: hsl(0, 100%, 40%);">-#define    DR0_REG  0x10</span><br><span style="color: hsl(0, 100%, 40%);">-#define    DR1_REG  0x11</span><br><span style="color: hsl(0, 100%, 40%);">-#define    DR2_REG  0x12</span><br><span style="color: hsl(0, 100%, 40%);">-#define    DR3_REG  0x13</span><br><span style="color: hsl(0, 100%, 40%);">-#define    DR7_REG  0x17</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// PROTOTYPES FOR amdlib32.asm</span><br><span style="color: hsl(0, 100%, 40%);">-UINT8</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT16</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT32</span><br><span style="color: hsl(0, 100%, 40%);">-ReadIo32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT8 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WriteIo32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT8</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT16</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-UINT32</span><br><span style="color: hsl(0, 100%, 40%);">-Read64Mem32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem8 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT8 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem16 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-Write64Mem32 (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 Address,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 Data</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// MSR</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMsrRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 MsrAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   UINT64 *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMsrWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 MsrAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// IO</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// Memory or MMIO</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// PCI</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciWrite (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-// CPUID</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdCpuidRead (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT32 CpuidFcnAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-     OUT   CPUID_DATA *Value,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-#endif // _AMD_LIB_H_</span><br><span>diff --git a/src/vendorcode/amd/pi/00670F00/Proc/Fch/FchPlatform.h b/src/vendorcode/amd/pi/00670F00/Proc/Fch/FchPlatform.h</span><br><span>index 118473c..2d5de64 100644</span><br><span>--- a/src/vendorcode/amd/pi/00670F00/Proc/Fch/FchPlatform.h</span><br><span>+++ b/src/vendorcode/amd/pi/00670F00/Proc/Fch/FchPlatform.h</span><br><span>@@ -108,7 +108,6 @@</span><br><span> #endif</span><br><span> </span><br><span> #include "Fch.h"</span><br><span style="color: hsl(0, 100%, 40%);">-#include "amdlib.h"</span><br><span> #include "FchCommonCfg.h"</span><br><span> #include "AmdFch.h"</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28742">change 28742</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/28742"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ibd9a20bc358742520138b9b01f76d7fd2fac92ab </div>
<div style="display:none"> Gerrit-Change-Number: 28742 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Richard Spiegel <richard.spiegel@silverbackltd.com> </div>