110 lines
6.3 KiB
C
110 lines
6.3 KiB
C
/*****************************************************************************
|
|
*
|
|
*
|
|
* Copyright (c) 2012 - 2015, Hefei LCFC Information Technology Co.Ltd.
|
|
* And/or its affiliates. All rights reserved.
|
|
* Hefei LCFC Information Technology Co.Ltd. PROPRIETARY/CONFIDENTIAL.
|
|
* Use is subject to license terms.
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef _LFC_DEBUG_PAGE_DXE_H_
|
|
#define _LFC_DEBUG_PAGE_DXE_H_
|
|
|
|
#include <Protocol/StartOfBdsDiagnostics.h>
|
|
#include <Library/IoLib.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/LfcEcLib.h>
|
|
#include <Library/PrintLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/OemGraphicsLib.h>
|
|
#include <Library/BadgingSupportLib.h>
|
|
#include <Library/MemoryAllocationLib.h>
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
|
#include <Lfc.h>
|
|
#include <LfcCmos.h>
|
|
#include <Guid/LfcVariableGuid.h>
|
|
#include <Protocol/LfcNvsArea.h>
|
|
#include <Protocol/LenovoVariable.h>
|
|
|
|
typedef enum {
|
|
DebugPagePlatformType = 1,
|
|
DebugPagePostCode = 3,
|
|
DebugPageWakeSource = 5,
|
|
DebugPageShutDownId = 7,
|
|
DebugPageMfgMode = 9,
|
|
} DEBUG_PAGE_OPTION;
|
|
|
|
typedef enum {
|
|
DebugPageEnterSetupKey,
|
|
DebugPageAnyOtherKey,
|
|
} DEBUG_PAGE_KEY_OPTION;
|
|
|
|
//typedef struct {
|
|
// UINT8 ShutdownId;
|
|
// CHAR16* ShutdownIdString;
|
|
//} SHUTDOWNID_DESC;
|
|
|
|
#define MAX_STRING_LENGTH 100
|
|
#define LFC_DEBUG_PAGE_STRING_MAX_LENGTH 58
|
|
|
|
#define LFC_DEBUG_PAGE_TITLE_STRING L"LCFC Debug Page Information"
|
|
#define LFC_DEBUG_PAGE_PLATFORM_TYPE_STRING L" Platform Type : "
|
|
#define LFC_DEBUG_PAGE_BLANK_STRING L" "
|
|
#define LFC_DEBUG_PAGE_POST_CODE_STRING L" Post Code : "
|
|
#define LFC_DEBUG_PAGE_WAKE_SOURCE_STRING L" Wake Source : "
|
|
#define LFC_DEBUG_PAGE_SHUTDOWN_ID_STRING L" Shutdwon ID : "
|
|
#define LFC_DEBUG_PAGE_MFG_MODE_STRING L" MFG Mode : "
|
|
#define LFC_DEBUG_PAGE_HELP_STRING L" Press F2 key, it will Enter into BIOS Setup and show Hidden Page. Press ESC key, it will normal boot. "
|
|
|
|
#define LFC_WAKE_BY_UNKNOWN_STRING L" (WAKE_BY_UNKNOWN) "
|
|
#define LFC_WAKE_BY_POWER_BTN_STRING L" (WAKE_BY_POWER_BTN) "
|
|
#define LFC_WAKE_BY_NOVO_BTN_STRING L" (WAKE_BY_NOVO_BTN) "
|
|
#define LFC_WAKE_BY_POWER_BTN_S4S5_STRING L" (WAKE_BY_POWER_BTN_S4S5) "
|
|
#define LFC_WAKE_BY_RTC_S4S5_STRING L" (WAKE_BY_RTC_S4S5) "
|
|
#define LFC_WAKE_BY_POWER_BTN_S3_STRING L" (WAKE_BY_POWER_BTN_S3) "
|
|
#define LFC_WAKE_BY_RTC_S3_STRING L" (WAKE_BY_RTC_S3) "
|
|
#define LFC_WAKE_BY_PCIE_S3_STRING L" (WAKE_BY_PCIE_S3) "
|
|
#define LFC_WAKE_BY_PME_S3_STRING L" (WAKE_BY_PME_S3) "
|
|
#define LFC_WAKE_BY_EC_WAKE_LID_STRING L" (WAKE_BY_EC_WAKE_LID) "
|
|
|
|
//#define LFC_SHUTDOWN_ID_UNKNOW_STRING L" (Unknow) "
|
|
//#define LFC_SHUTDOWN_ID_S5_STRING L" (SB SLP_S5) " // 0x01
|
|
//#define LFC_SHUTDOWN_ID_COMMAND_STRING L" (Command C:0x59 D:0xA2) " // 0x04
|
|
//#define LFC_SHUTDOWN_ID_FLASH_STRING L" (Flash) " // 0x05
|
|
//#define LFC_SHUTDOWN_ID_COLDBOOT_STRING L" (EC power reset) " // 0x06
|
|
//#define LFC_SHUTDOWN_ID_BOOTFAIL_STRING L" (Boot fail restart by command C:0x40 D:0xXX) " // 0x08
|
|
//#define LFC_SHUTDOWN_ID_BATTOVERTEMP_STRING L" (Battery over temp) " // 0x0A
|
|
//#define LFC_SHUTDOWN_ID_THERMALCOMMFAIL_STRING L" (Thermal sensor communication fail) " // 0x0B
|
|
//#define LFC_SHUTDOWN_ID_BATTEMPTY_STRING L" (Battery empty) " // 0x0C
|
|
//#define LFC_SHUTDOWN_ID_BATTCOMMFAIL_STRING L" (Battery communication fail) " // 0x0E
|
|
//#define LFC_SHUTDOWN_ID_BATTABNORMAL_STRING L" (Battery abnormal device ID) " // 0x0F
|
|
//#define LFC_SHUTDOWN_ID_DTSOVERTEMP_STRING L" (DTS over temp) " // 0x11
|
|
//#define LFC_SHUTDOWN_ID_VGAOVERTEMP_STRING L" (VGA thermal sensor over temp) " // 0x12
|
|
//#define LFC_SHUTDOWN_ID_BATTLOWVOLT_STRING L" (Battery low voltage) " // 0x13
|
|
//#define LFC_SHUTDOWN_ID_EXTVGAOVERTEMP_STRING L" (External VGA thermal sensor over temp) " // 0x1C
|
|
//#define LFC_SHUTDOWN_ID_VGACOMMFAIL_STRING L" (VGA thermal sensor communication fail) " // 0x20
|
|
//#define LFC_SHUTDOWN_ID_EXTVGACOMMFAIL_STRING L" (External VGA thermal sensor communication fail) " // 0x21
|
|
//#define LFC_SHUTDOWN_ID_CPUCOMMFAIL_STRING L" (CPU thermal sensor communication fail) " // 0x22
|
|
//#define LFC_SHUTDOWN_ID_TICLOCALOVERTEPM_STRING L" (Thermal sensor local over temp) " // 0x30
|
|
//#define LFC_SHUTDOWN_ID_TICREMOTOVERTEPM_STRING L" (Thermal sensor remote over temp) " // 0x31
|
|
//#define LFC_SHUTDOWN_ID_TNTC_V_OVER_TEPM_STRING L" (Thermal sensor over temp) " // 0x32
|
|
//#define LFC_SHUTDOWN_ID_CMISTOR_OVERTEMP_STRING L" (CPU thermistor over Temp) " // 0x33
|
|
//#define LFC_SHUTDOWN_ID_GMISTOR_OVERTEMP_STRING L" (GPU thermistor over Temp) " // 0x34
|
|
//#define LFC_SHUTDOWN_ID_RSOC_1PtO0P_STRING L" (Battery is 0p in DC mode) " // 0x40
|
|
//#define LFC_SHUTDOWN_ID_SHIP_MODE_STRING L" (Ship Mode) " // 0xA6, 0xA7, 0xA8
|
|
//#define LFC_SHUTDOWN_ID_EC_RESET0_INFO_STRING L" (EC cold Reset) " // 0xEC
|
|
//#define LFC_SHUTDOWN_ID_EC_RESET1_INFO_STRING L" (EC VSTBY or WRST reset) " // 0xFC
|
|
//#define LFC_SHUTDOWN_ID_EC_RESET2_INFO_STRING L" (8S Reset) " // 0xFD
|
|
//#define LFC_SHUTDOWN_ID_EC_RESET3_INFO_STRING L" (Internal watch-dog) " // 0xFE
|
|
//#define LFC_SHUTDOWN_ID_EC_RESET4_INFO_STRING L" (External watch-dog) " // 0xFF
|
|
|
|
#define LFC_HIDDEN_PAGE_FLAG L"!Fn+D"
|
|
#define LFC_FND_PRESSED_FLAG L"!&Fn+D"
|
|
#define LFC_POST_CODE_DATA L"!&PostCode"
|
|
#define LFC_WAKE_SOURCE_DATA L"!&WakeSource"
|
|
//#define LFC_SHUTDOWN_ID_DATA L"!&ShutdownId"
|
|
|
|
#endif
|