<p>Martin Roth has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20451">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">vendorcode/amd/pi/Lib/amdlib.c: remove StdHeader references<br><br>Nothing in the amdlib.c file actually uses the StdHeader structure, so<br>remove the asserts verifying that it's not null, and remove references<br>to it from calls.<br><br>For now, I've left it in the parameters for the functions for<br>compatibility, but we might want to remove these at some point as well.<br><br>Change-Id: Ib13e9209c8119fdcc3720470aaa9dcdbde6ac388<br>Signed-off-by: Martin Roth <martinroth@google.com><br>---<br>M src/vendorcode/amd/pi/Lib/amdlib.c<br>1 file changed, 38 insertions(+), 42 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/51/20451/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/vendorcode/amd/pi/Lib/amdlib.c b/src/vendorcode/amd/pi/Lib/amdlib.c<br>index 03ca207..a5f6898 100644<br>--- a/src/vendorcode/amd/pi/Lib/amdlib.c<br>+++ b/src/vendorcode/amd/pi/Lib/amdlib.c<br>@@ -605,9 +605,9 @@<br>   UINT32  TempMask;<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>-  LibAmdIoRead (AccessWidth, IoAddress, &Value, StdHeader);<br>+  LibAmdIoRead (AccessWidth, IoAddress, &Value, NULL);<br>   Value = (Value & (~TempMask)) | TempData;<br>-  LibAmdIoWrite (AccessWidth, IoAddress, &Value, StdHeader);<br>+  LibAmdIoWrite (AccessWidth, IoAddress, &Value, NULL);<br> }<br> <br> /*---------------------------------------------------------------------------------------*/<br>@@ -639,7 +639,7 @@<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>   do {<br>-    LibAmdIoRead (AccessWidth, IoAddress, &Value, StdHeader);<br>+    LibAmdIoRead (AccessWidth, IoAddress, &Value, NULL);<br>   } while (TempData != (Value & TempMask));<br> }<br> <br>@@ -744,9 +744,9 @@<br>   UINT32  TempMask;<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>-  LibAmdMemRead (AccessWidth, MemAddress, &Value, StdHeader);<br>+  LibAmdMemRead (AccessWidth, MemAddress, &Value, NULL);<br>   Value = (Value & (~TempMask)) | TempData;<br>-  LibAmdMemWrite (AccessWidth, MemAddress, &Value, StdHeader);<br>+  LibAmdMemWrite (AccessWidth, MemAddress, &Value, NULL);<br> }<br> <br> /*---------------------------------------------------------------------------------------*/<br>@@ -778,7 +778,7 @@<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>   do {<br>-    LibAmdMemRead (AccessWidth, MemAddress, &Value, StdHeader);<br>+    LibAmdMemRead (AccessWidth, MemAddress, &Value, NULL);<br>   } while (TempData != (Value & TempMask));<br> }<br> <br>@@ -807,28 +807,28 @@<br>   UINT64 RMWritePrevious;<br>   UINT64 MMIOAddress;<br> <br>-  ASSERT (StdHeader != NULL);<br>+<br>   ASSERT (PciAddress.AddressValue != ILLEGAL_SBDFO);<br>-  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, StdHeader)) {<br>+  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, NULL)) {<br>     // We need to convert our "portable" PCI address into a "real" PCI access<br>     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)));<br>     if (PciAddress.Address.Register <= 0xFF) {<br>-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, StdHeader);<br>-      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, StdHeader);<br>+      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);<br>+      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);<br>     } else {<br>-      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, StdHeader);<br>+      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, NULL);<br>       RMWrite = RMWritePrevious | 0x0000400000000000;<br>-      LibAmdMsrWrite (NB_CFG, &RMWrite, StdHeader);<br>-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, StdHeader);<br>-      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, StdHeader);<br>-      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, StdHeader);<br>+      LibAmdMsrWrite (NB_CFG, &RMWrite, NULL);<br>+      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);<br>+      LibAmdIoRead (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);<br>+      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, NULL);<br>     }<br>     //IDS_HDT_CONSOLE (LIB_PCI_RD, "~PCI RD %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);<br>   } else {<br>     // Setup the MMIO address<br>     ASSERT ((MMIOAddress + MMIOSize) > (MMIOAddress + (PciAddress.AddressValue & 0x0FFFFFFF)));<br>     MMIOAddress += (PciAddress.AddressValue & 0x0FFFFFFF);<br>-    LibAmdMemRead (AccessWidth, MMIOAddress, Value, StdHeader);<br>+    LibAmdMemRead (AccessWidth, MMIOAddress, Value, NULL);<br>     //IDS_HDT_CONSOLE (LIB_PCI_RD, "~MMIO RD %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);<br>   }<br> }<br>@@ -858,21 +858,21 @@<br>   UINT64 RMWritePrevious;<br>   UINT64 MMIOAddress;<br> <br>-  ASSERT (StdHeader != NULL);<br>+<br>   ASSERT (PciAddress.AddressValue != ILLEGAL_SBDFO);<br>-  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, StdHeader)) {<br>+  if (!GetPciMmioAddress (&MMIOAddress, &MMIOSize, NULL)) {<br>     // We need to convert our "portable" PCI address into a "real" PCI access<br>     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)));<br>     if (PciAddress.Address.Register <= 0xFF) {<br>-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, StdHeader);<br>-      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, StdHeader);<br>+      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);<br>+      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);<br>     } else {<br>-      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, StdHeader);<br>+      LibAmdMsrRead  (NB_CFG, &RMWritePrevious, NULL);<br>       RMWrite = RMWritePrevious | 0x0000400000000000;<br>-      LibAmdMsrWrite (NB_CFG, &RMWrite, StdHeader);<br>-      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, StdHeader);<br>-      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, StdHeader);<br>-      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, StdHeader);<br>+      LibAmdMsrWrite (NB_CFG, &RMWrite, NULL);<br>+      LibAmdIoWrite (AccessWidth32, IOCF8, &LegacyPciAccess, NULL);<br>+      LibAmdIoWrite (AccessWidth, IOCFC + (UINT16) (PciAddress.Address.Register & 0x3), Value, NULL);<br>+      LibAmdMsrWrite (NB_CFG, &RMWritePrevious, NULL);<br>     }<br>     //IDS_HDT_CONSOLE (LIB_PCI_WR, "~PCI WR %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);<br>     //printk(BIOS_DEBUG, "~PCI WR %08x = %08x\n", LegacyPciAccess, *(UINT32 *)Value);<br>@@ -881,7 +881,7 @@<br>     // Setup the MMIO address<br>     ASSERT ((MMIOAddress + MMIOSize) > (MMIOAddress + (PciAddress.AddressValue & 0x0FFFFFFF)));<br>     MMIOAddress += (PciAddress.AddressValue & 0x0FFFFFFF);<br>-    LibAmdMemWrite (AccessWidth, MMIOAddress, Value, StdHeader);<br>+    LibAmdMemWrite (AccessWidth, MMIOAddress, Value, NULL);<br>     //IDS_HDT_CONSOLE (LIB_PCI_WR, "~MMIO WR %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);<br>     //printk(BIOS_DEBUG, "~MMIO WR %08x = %08x\n", (UINT32) MMIOAddress, *(UINT32 *)Value);<br>     //printk(BIOS_DEBUG, "LibAmdPciWrite mmio\n");<br>@@ -913,9 +913,9 @@<br>   UINT32  TempMask = 0;<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>-  LibAmdPciRead (AccessWidth, PciAddress, &Value, StdHeader);<br>+  LibAmdPciRead (AccessWidth, PciAddress, &Value, NULL);<br>   Value = (Value & (~TempMask)) | TempData;<br>-  LibAmdPciWrite (AccessWidth, PciAddress, &Value, StdHeader);<br>+  LibAmdPciWrite (AccessWidth, PciAddress, &Value, NULL);<br> }<br> <br> /*---------------------------------------------------------------------------------------*/<br>@@ -947,7 +947,7 @@<br>   UINT32  Value;<br>   LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);<br>   do {<br>-    LibAmdPciRead (AccessWidth, PciAddress, &Value, StdHeader);<br>+    LibAmdPciRead (AccessWidth, PciAddress, &Value, NULL);<br>   } while (TempData != (Value & TempMask));<br> }<br> <br>@@ -973,10 +973,8 @@<br>   UINT32  EncodedSize;<br>   UINT64  LocalMsrRegister;<br> <br>-  ASSERT (StdHeader != NULL);<br>-<br>   MmioIsEnabled = FALSE;<br>-  LibAmdMsrRead (MSR_MMIO_Cfg_Base, &LocalMsrRegister, StdHeader);<br>+  LibAmdMsrRead (MSR_MMIO_Cfg_Base, &LocalMsrRegister, NULL);<br>   if ((LocalMsrRegister & BIT0) != 0) {<br>     *MmioAddress = LocalMsrRegister & 0xFFFFFFFFFFF00000;<br>     EncodedSize = (UINT32) ((LocalMsrRegister & 0x3C) >> 2);<br>@@ -1009,7 +1007,7 @@<br> {<br>   ASSERT (Highbit < 32 && Lowbit < 32 && Highbit >= Lowbit && (Address.AddressValue & 3) == 0);<br> <br>-  LibAmdPciRead (AccessWidth32, Address, Value, StdHeader);<br>+  LibAmdPciRead (AccessWidth32, Address, Value, NULL);<br>   *Value >>= Lowbit;  // Shift<br> <br>   // A 1 << 32 == 1 << 0 due to x86 SHL instruction, so skip if that is the case<br>@@ -1053,10 +1051,10 @@<br>     Mask = (UINT32) 0xFFFFFFFF;<br>   }<br> <br>-  LibAmdPciRead (AccessWidth32, Address, &Temp, StdHeader);<br>+  LibAmdPciRead (AccessWidth32, Address, &Temp, NULL);<br>   Temp &= ~(Mask << Lowbit);<br>   Temp |= (*Value & Mask) << Lowbit;<br>-  LibAmdPciWrite (AccessWidth32, Address, &Temp, StdHeader);<br>+  LibAmdPciWrite (AccessWidth32, Address, &Temp, NULL);<br> }<br> <br> /*---------------------------------------------------------------------------------------*/<br>@@ -1093,7 +1091,7 @@<br>   Address->AddressValue = (UINT32) ILLEGAL_SBDFO;<br> <br>   // Verify that the SBDFO points to a valid PCI device SANITY CHECK<br>-  LibAmdPciRead (AccessWidth32, Base, &Temp, StdHeader);<br>+  LibAmdPciRead (AccessWidth32, Base, &Temp, NULL);<br>   if (Temp == 0xFFFFFFFF) {<br>     ASSERT (FALSE);<br>     return; // There is no device at this address<br>@@ -1101,7 +1099,7 @@<br> <br>   // Verify that the device supports a capability list<br>   TempAddress.AddressValue = Base.AddressValue + 0x04;<br>-  LibAmdPciReadBits (TempAddress, 20, 20, &Temp, StdHeader);<br>+  LibAmdPciReadBits (TempAddress, 20, 20, &Temp, NULL);<br>   if (Temp == 0) {<br>     return; // This PCI device does not support capability lists<br>   }<br>@@ -1109,11 +1107,11 @@<br>   if (Offset != 0) {<br>     // If we are continuing on an existing list<br>     TempAddress.AddressValue = Base.AddressValue + Offset;<br>-    LibAmdPciReadBits (TempAddress, 15, 8, &Temp, StdHeader);<br>+    LibAmdPciReadBits (TempAddress, 15, 8, &Temp, NULL);<br>   } else {<br>     // We are starting on a new list<br>     TempAddress.AddressValue = Base.AddressValue + 0x34;<br>-    LibAmdPciReadBits (TempAddress, 7, 0, &Temp, StdHeader);<br>+    LibAmdPciReadBits (TempAddress, 7, 0, &Temp, NULL);<br>   }<br> <br>   if (Temp == 0) {<br>@@ -1152,7 +1150,6 @@<br>   )<br> {<br>   UINT8 *Dest;<br>-  ASSERT (StdHeader != NULL);<br>   Dest = Destination;<br>   while ((FillLength--) != 0) {<br>     *Dest++ = Value;<br>@@ -1179,7 +1176,6 @@<br> {<br>   UINT8 *Dest;<br>   CONST UINT8 *SourcePtr;<br>-  ASSERT (StdHeader != NULL);<br>   Dest = Destination;<br>   SourcePtr = Source;<br>   while ((CopyLength--) != 0) {<br>@@ -1287,7 +1283,7 @@<br>   UINT32      ProcessorPackageType;<br>   CPUID_DATA  CpuId;<br> <br>-  LibAmdCpuidRead (0x80000001, &CpuId, StdHeader);<br>+  LibAmdCpuidRead (0x80000001, &CpuId, NULL);<br>   ProcessorPackageType = (UINT32) (CpuId.EBX_Reg >> 28) & 0xF; // bit 31:28<br>   return (UINT32) (1 << ProcessorPackageType);<br> }<br></pre><p>To view, visit <a href="https://review.coreboot.org/20451">change 20451</a>. To unsubscribe, 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/20451"/><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: Ib13e9209c8119fdcc3720470aaa9dcdbde6ac388 </div>
<div style="display:none"> Gerrit-Change-Number: 20451 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Martin Roth <martinroth@google.com> </div>