68 lines
2.3 KiB
C
68 lines
2.3 KiB
C
/** @file
|
|
Provides an interface to notify EC to enable or disable WDT permanently.
|
|
|
|
;******************************************************************************
|
|
;* Copyright (c) 2020, Insyde Software Corp. All Rights Reserved.
|
|
;*
|
|
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
|
|
;* transmit, broadcast, present, recite, release, license or otherwise exploit
|
|
;* any part of this publication in any form, by any means, without the prior
|
|
;* written permission of Insyde Software Corporation.
|
|
;*
|
|
;******************************************************************************
|
|
*/
|
|
|
|
#include <Uefi.h>
|
|
//[-start-211014-BAIN000051-add]//
|
|
#if defined(LCFC_SUPPORT)
|
|
#include <Library/LfcEcLib.h>
|
|
#endif
|
|
//[-end-211014-BAIN000051-add]//
|
|
/**
|
|
Provides an interface to notify EC to enable or disable WDT permanently.
|
|
|
|
@param EnableFlag Enable or Disable Flag.
|
|
|
|
@retval EFI_UNSUPPORTED Returns unsupported by default. The return status will not be referenced.
|
|
**/
|
|
EFI_STATUS
|
|
OemSvcNotifyEcToSetWdtFunction (
|
|
IN BOOLEAN EnableFlag
|
|
)
|
|
{
|
|
//
|
|
// [Lenovo BIOS Self-Healing Design Guidance Specification v1.9]
|
|
// 2.6 BIOS Setup Option
|
|
// When "BIOS Self Healing" switch is enabled or disabled,
|
|
// BIOS should notify EC to enable or disable WDT permanently.
|
|
//
|
|
|
|
//
|
|
// Todo:
|
|
// Add project specific code in here.
|
|
//
|
|
//[-start-211014-BAIN000051-add]//
|
|
//#if defined(LCFC_SUPPORT)
|
|
//#if defined(C970_BSH_SUPPORT)
|
|
//[-start-21119-TAMT000032-modify]//
|
|
//[-start-211203-QINGLIN0125-modify]//
|
|
//[-start-211206-OWENWU0029-modify]//
|
|
//[-start-211214-Ching000017-modify]//
|
|
#if defined(C970_BSH_SUPPORT) || defined(C770_BSH_SUPPORT) || defined(S77014_BSH_SUPPORT) || defined(S370_BSH_SUPPORT) || defined(S570_BSH_SUPPORT) || defined(S77013_BSH_SUPPORT) || defined(S77014IAH_BSH_SUPPORT)
|
|
if(EnableFlag){
|
|
LfcEcLibSetWDTFlagForSelfHealing();
|
|
}else{
|
|
LfcEcLibDisableCurrentWDTForSelfHealing();
|
|
LfcEcLibClearWDTFlagForSelfHealing();
|
|
LfcEcLibDisableAndClearTopSwapForSelfHealing();
|
|
}
|
|
|
|
return EFI_UNSUPPORTED;
|
|
#endif
|
|
//[-end-211214-Ching000017-modify]//
|
|
//[-end-211206-OWENWU0029-modify]//
|
|
//[-end-211203-QINGLIN0125-modify]//
|
|
//[-end-21119-TAMT000032-modify]//
|
|
//[-end-211014-BAIN000051-add]//
|
|
}
|