+++ /dev/null
-/** @file\r
- PCH Smm Library Services that implements both S/W SMI generation and detection.\r
-\r
- Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-**/\r
-\r
-\r
-#include "CommonHeader.h"\r
-\r
-\r
-/**\r
- Triggers a run time or boot time SMI.\r
-\r
- This function triggers a software SMM interrupt and set the APMC status with an 8-bit Data.\r
-\r
- @param Data The value to set the APMC status.\r
-\r
-**/\r
-VOID\r
-InternalTriggerSmi (\r
- IN UINT8 Data\r
- )\r
-{\r
- ASSERT(FALSE);\r
-}\r
-\r
-\r
-/**\r
- Triggers an SMI at boot time.\r
-\r
- This function triggers a software SMM interrupt at boot time.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-TriggerBootServiceSoftwareSmi (\r
- VOID\r
- )\r
-{\r
- ASSERT(FALSE);\r
-}\r
-\r
-\r
-/**\r
- Triggers an SMI at run time.\r
-\r
- This function triggers a software SMM interrupt at run time.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-TriggerRuntimeSoftwareSmi (\r
- VOID\r
- )\r
-{\r
- ASSERT(FALSE);\r
-}\r
-\r
-\r
-/**\r
- Gets the software SMI data.\r
-\r
- This function tests if a software SMM interrupt happens. If a software SMI happens,\r
- it retrieves the SMM data and returns it as a non-negative value; otherwise a negative\r
- value is returned.\r
-\r
- @return Data The data retrieved from SMM data port in case of a software SMI;\r
- otherwise a negative value.\r
-\r
-**/\r
-INTN\r
-InternalGetSwSmiData (\r
- VOID\r
- )\r
-{\r
- ASSERT(FALSE);\r
- return -1;\r
-}\r
-\r
-\r
-/**\r
- Test if a boot time software SMI happened.\r
-\r
- This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and\r
- it was triggered at boot time, it returns TRUE. Otherwise, it returns FALSE.\r
-\r
- @retval TRUE A software SMI triggered at boot time happened.\r
- @retval FLASE No software SMI happened or the software SMI was triggered at run time.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsBootServiceSoftwareSmi (\r
- VOID\r
- )\r
-{\r
- ASSERT(FALSE);\r
- return FALSE;\r
-}\r
-\r
-\r
-/**\r
- Test if a run time software SMI happened.\r
-\r
- This function tests if a software SMM interrupt happened. If a software SMM interrupt happened and\r
- it was triggered at run time, it returns TRUE. Otherwise, it returns FALSE.\r
-\r
- @retval TRUE A software SMI triggered at run time happened.\r
- @retval FLASE No software SMI happened or the software SMI was triggered at boot time.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsRuntimeSoftwareSmi (\r
- VOID\r
- )\r
-{\r
- ASSERT(FALSE);\r
- return FALSE;\r
-}\r
-\r
-\r
-/**\r
-\r
- Clear APM SMI Status Bit; Set the EOS bit.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-ClearSmi (\r
- VOID\r
- )\r
-{\r
-\r
- UINT16 PmBase;\r
-\r
- //\r
- // Get PMBase\r
- //\r
- PmBase = PcdGet16 (PcdPchAcpiIoPortBaseAddress);\r
-\r
- //\r
- // Clear the APM SMI Status Bit\r
- //\r
- IoWrite16 (PmBase + R_PCH_ACPI_SMI_STS, B_PCH_ACPI_APM_STS);\r
-\r
- //\r
- // Set the EOS Bit\r
- //\r
- IoOr32 (PmBase + R_PCH_ACPI_SMI_EN, B_PCH_ACPI_EOS);\r
-}\r
-\r