]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c
UefiCpuPkg/SmmCpuFeaturesLib: Move multi-instance function decl to header
[mirror_edk2.git] / UefiCpuPkg / Library / SmmCpuFeaturesLib / SmmStm.c
index 03937dcbe2bc59d7a1ee5c30221135950654a5e2..b5aad41fdb6474ab69f5e1b9b5133fb0de120a12 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   SMM STM support functions\r
 \r
-  Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/SmmServicesTableLib.h>\r
 #include <Library/TpmMeasurementLib.h>\r
-#include <Register/Cpuid.h>\r
-#include <Register/ArchitecturalMsr.h>\r
-#include <Register/SmramSaveStateMap.h>\r
+#include <Register/Intel/Cpuid.h>\r
+#include <Register/Intel/ArchitecturalMsr.h>\r
+#include <Register/Intel/SmramSaveStateMap.h>\r
 \r
 #include <Protocol/MpService.h>\r
 \r
+#include "CpuFeaturesLib.h"\r
 #include "SmmStm.h"\r
 \r
 #define TXT_EVTYPE_BASE                  0x400\r
@@ -116,7 +111,6 @@ UINTN  mMsegSize = 0;
 \r
 BOOLEAN  mStmConfigurationTableInitialized = FALSE;\r
 \r
-\r
 /**\r
   The constructor function\r
 \r
@@ -138,6 +132,11 @@ SmmCpuFeaturesLibStmConstructor (
   EFI_HOB_GUID_TYPE       *GuidHob;\r
   EFI_SMRAM_DESCRIPTOR    *SmramDescriptor;\r
 \r
+  //\r
+  // Initialize address fixup\r
+  //\r
+  SmmCpuFeaturesLibStmSmiEntryFixupAddress ();\r
+\r
   //\r
   // Call the common constructor function\r
   //\r
@@ -326,8 +325,8 @@ SmmCpuFeaturesInstallSmiHandler (
   Psd->SmmSmiHandlerRsp = (UINTN)SmiStack + StackSize - sizeof(UINTN);\r
   Psd->SmmCr3           = Cr3;\r
 \r
-  DEBUG((DEBUG_ERROR, "CpuSmmStmExceptionStackSize - %x\n", PcdGet32(PcdCpuSmmStmExceptionStackSize)));\r
-  DEBUG((DEBUG_ERROR, "Pages - %x\n", EFI_SIZE_TO_PAGES(PcdGet32(PcdCpuSmmStmExceptionStackSize))));\r
+  DEBUG((DEBUG_INFO, "CpuSmmStmExceptionStackSize - %x\n", PcdGet32(PcdCpuSmmStmExceptionStackSize)));\r
+  DEBUG((DEBUG_INFO, "Pages - %x\n", EFI_SIZE_TO_PAGES(PcdGet32(PcdCpuSmmStmExceptionStackSize))));\r
   Psd->StmProtectionExceptionHandler.SpeRsp = (UINT64)(UINTN)AllocatePages (EFI_SIZE_TO_PAGES (PcdGet32 (PcdCpuSmmStmExceptionStackSize)));\r
   Psd->StmProtectionExceptionHandler.SpeRsp += EFI_PAGES_TO_SIZE (EFI_SIZE_TO_PAGES (PcdGet32 (PcdCpuSmmStmExceptionStackSize)));\r
 \r
@@ -735,7 +734,7 @@ ValidateResource (
   Resource = ResourceList;\r
 \r
   for (Index = 0; Index < Count; Index++) {\r
-    DEBUG ((DEBUG_ERROR, "ValidateResource (%d) - RscType(%x)\n", Index, Resource->Header.RscType));\r
+    DEBUG ((DEBUG_INFO, "ValidateResource (%d) - RscType(%x)\n", Index, Resource->Header.RscType));\r
     //\r
     // Validate resource.\r
     //\r
@@ -782,7 +781,7 @@ ValidateResource (
         break;\r
 \r
       case PCI_CFG_RANGE:\r
-        DEBUG ((DEBUG_ERROR, "ValidateResource - PCI (0x%02x, 0x%08x, 0x%02x, 0x%02x)\n", Resource->PciCfg.OriginatingBusNumber, Resource->PciCfg.LastNodeIndex, Resource->PciCfg.PciDevicePath[0].PciDevice, Resource->PciCfg.PciDevicePath[0].PciFunction));\r
+        DEBUG ((DEBUG_INFO, "ValidateResource - PCI (0x%02x, 0x%08x, 0x%02x, 0x%02x)\n", Resource->PciCfg.OriginatingBusNumber, Resource->PciCfg.LastNodeIndex, Resource->PciCfg.PciDevicePath[0].PciDevice, Resource->PciCfg.PciDevicePath[0].PciFunction));\r
         if (Resource->Header.Length != sizeof (STM_RSC_PCI_CFG_DESC) + (sizeof(STM_PCI_DEVICE_PATH_NODE) * Resource->PciCfg.LastNodeIndex)) {\r
           return FALSE;\r
         }\r
@@ -915,7 +914,7 @@ AddPiResource (
     }\r
 \r
     //\r
-    // Copy EndResource for intialization\r
+    // Copy EndResource for initialization\r
     //\r
     mStmResourcesPtr = (UINT8 *)(UINTN)NewResource;\r
     mStmResourceTotalSize = NewResourceSize;\r
@@ -1238,7 +1237,7 @@ LoadMonitor (
 /**\r
   This function return BIOS STM resource.\r
   Produced by SmmStm.\r
-  Comsumed by SmmMpService when Init.\r
+  Consumed by SmmMpService when Init.\r
 \r
   @return BIOS STM resource\r
 \r