+++ /dev/null
-/*++\r
-\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-Module Name:\r
-\r
- SmmPlatform.h\r
-\r
-Abstract:\r
-\r
- Header file for\r
-\r
-++*/\r
-\r
-#ifndef _PLATFORM_H\r
-#define _PLATFORM_H\r
-\r
-#include <PiSmm.h>\r
-\r
-\r
-\r
-#include <Protocol/SmmBase.h>\r
-#include <Protocol/FirmwareVolume.h>\r
-#include <Protocol/SmmPowerButtonDispatch.h>\r
-#include <Protocol/SmmSxDispatch.h>\r
-#include <Protocol/SmmSwDispatch.h>\r
-#include <Protocol/SmmSwDispatch2.h>\r
-#include <Protocol/SmmIchnDispatch.h>\r
-#include <Protocol/SmmAccess.h>\r
-#include <Protocol/SmmVariable.h>\r
-#include <Protocol/PciRootBridgeIo.h>\r
-#include <Protocol/LoadedImage.h>\r
-#include "Protocol/GlobalNvsArea.h"\r
-#include <Guid/AcpiVariableCompatibility.h>\r
-#include <Guid/SetupVariable.h>\r
-#include <Guid/EfiVpdData.h>\r
-#include <Guid/PciLanInfo.h>\r
-#include <IndustryStandard/Pci22.h>\r
-\r
-#include "PchAccess.h"\r
-#include "PlatformBaseAddresses.h"\r
-\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/S3BootScriptLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/HobLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/PchPlatformLib.h>\r
-#include <Library/StallSmmLib.h>\r
-\r
-\r
-\r
-typedef struct {\r
- UINT8 Register;\r
- UINT8 Function;\r
- UINT8 Device;\r
- UINT8 Bus;\r
- UINT32 ExtendedRegister;\r
-} SMM_PCI_IO_ADDRESS;\r
-\r
-typedef struct {\r
- CHAR8 BoardAaNumber[7];\r
- UINTN BoardFabNumber;\r
-} BOARD_AA_NUMBER_DECODE;\r
-\r
-//\r
-// BugBug -- Need to get these two values from acpi.h, but right now, they are\r
-// declared in platform-specific variants of this file, so no easy\r
-// way to pick-up the include file and work across platforms.\r
-// Need these definitions to go into a file like common\acpi.h.\r
-//\r
-#define ACPI_ENABLE 0xA0\r
-#define ACPI_DISABLE 0xA1\r
-\r
-#define APM_12_FUNCS 0x50\r
-#define SMI_SET_SMMVARIABLE_PROTOCOL 0x51 // this is used in Cpu\Pentium\Smm\Base\SmmBase.c\r
-\r
-#define SMI_CMD_GET_MSEG_STATUS 0x70\r
-#define SMI_CMD_UPDATE_MSEG_SIZE 0x71\r
-#define SMI_CMD_LOAD_STM 0x72\r
-#define SMI_CMD_UNLOAD_STM 0x73\r
-#define SMI_CMD_GET_SMRAM_RANGES 0x74\r
-\r
-\r
-#define PCAT_RTC_ADDRESS_REGISTER 0x74\r
-#define PCAT_RTC_DATA_REGISTER 0x75\r
-\r
-#define RTC_ADDRESS_SECOND 0x00\r
-#define RTC_ADDRESS_SECOND_ALARM 0x01\r
-#define RTC_ADDRESS_MINUTE 0x02\r
-#define RTC_ADDRESS_MINUTE_ALARM 0x03\r
-#define RTC_ADDRESS_HOUR 0x04\r
-#define RTC_ADDRESS_HOUR_ALARM 0x05\r
-\r
-#define RTC_ADDRESS_REGISTER_A 0x0A\r
-#define RTC_ADDRESS_REGISTER_B 0x0B\r
-#define RTC_ADDRESS_REGISTER_C 0x0C\r
-#define RTC_ADDRESS_REGISTER_D 0x0D\r
-\r
-#define B_RTC_ALARM_INT_ENABLE 0x20\r
-#define B_RTC_ALARM_INT_STATUS 0x20\r
-\r
-#define B_RTC_DATE_ALARM_MASK 0x3F\r
-\r
-#define PCAT_CMOS_2_ADDRESS_REGISTER 0x72\r
-#define PCAT_CMOS_2_DATA_REGISTER 0x73\r
-\r
-#define EC_C_PORT 0x66\r
-#define SMC_SMI_DISABLE 0xBC\r
-#define SMC_ENABLE_ACPI_MODE 0xAA // Enable ACPI mode\r
-\r
-#define IO_MISC 156\r
-\r
-\r
-#define MAXIMUM_NUMBER_OF_PSTATES 12\r
-#define ICH_SMM_DATA_PORT 0xB3\r
-\r
-#define EFI_IA32_PMG_CST_CONFIG 0x000000E2\r
-#define B_EFI_CST_CONTROL_LOCK BIT15\r
-#define B_EFI_IO_MWAIT_REDIRECTION_ENABLE BIT10\r
-#define EFI_IA32_PMG_IO_CAPTURE_ADDR 0x000000E4\r
-\r
-extern EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *mPciRootBridgeIo;\r
-\r
-//\r
-// Callback function prototypes\r
-//\r
-VOID\r
-EFIAPI\r
-PowerButtonCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_POWER_BUTTON_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-S5SleepWakeOnLanCallBack (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-EFIAPI\r
-S5SleepAcLossCallBack (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-\r
-VOID\r
-EFIAPI \r
-S4S5CallBack (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-EFIAPI \r
-EnableAcpiCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-EFIAPI\r
-DisableAcpiCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-EFIAPI\r
-SmmReadyToBootCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-DummyTco1Callback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-\r
-VOID\r
-PerrSerrCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-RiCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-\r
-VOID\r
-SetAfterG3On (\r
- BOOLEAN Enable\r
- );\r
-\r
-VOID\r
-TurnOffVregUsb (\r
- );\r
-\r
-VOID\r
-PStateSupportCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-VOID\r
-PStateTransitionCallback (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI \r
-SxSleepEntryCallBack (\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext\r
- );\r
-\r
-EFI_STATUS\r
-SaveRuntimeScriptTable (\r
- VOID\r
- );\r
-\r
-\r
-#endif\r
-\r