在 8/3/2018 6:28 PM, Leif Lindholm 写道:
> On Tue, Jul 24, 2018 at 03:08:56PM +0800, Ming Huang wrote:
>> From: Sun Yuanchen <sunyuanc...@huawei.com>
>>
>> according as watchdog design on D06, watchdog should be
>> stoped befor boot a option.
> 
> stopped before
> 
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Wang Yue <wangyu...@huawei.com>
>> Signed-off-by: Ming Huang <ming.hu...@linaro.org>
>> Signed-off-by: Heyi Guo <heyi....@linaro.org>
>> ---
>>  Silicon/Hisilicon/Include/Library/IpmiCmdLib.h                              
>> | 16 ++++++++++++++
>>  Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBm.c               
>> | 22 ++++++++++++++++++++
>>  Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 
>> |  2 ++
>>  3 files changed, 40 insertions(+)
>>
>> diff --git a/Silicon/Hisilicon/Include/Library/IpmiCmdLib.h 
>> b/Silicon/Hisilicon/Include/Library/IpmiCmdLib.h
>> index 8868b76135..b956ee6d07 100644
>> --- a/Silicon/Hisilicon/Include/Library/IpmiCmdLib.h
>> +++ b/Silicon/Hisilicon/Include/Library/IpmiCmdLib.h
>> @@ -19,6 +19,17 @@
>>  #define BOOT_OPTION_BOOT_FLAG_VALID         1
>>  #define BOOT_OPTION_BOOT_FLAG_INVALID       0
>>  
>> +typedef enum {
>> +  EfiReserved,
>> +  EfiBiosFrb2,
>> +  EfiBiosPost,
>> +  EfiOsLoad,
>> +  EfiSmsOs,
>> +  EfiOem,
>> +  EfiFrbReserved1,
>> +  EfiFrbReserved2
>> +} EFI_WDT_USER_TYPE;
>> +
>>  typedef enum {
>>    NoOverride = 0x0,
>>    ForcePxe,
>> @@ -91,4 +102,9 @@ IpmiCmdGetSysBootOptions (
>>    IN IPMI_GET_BOOT_OPTION   *BootOption
>>    );
>>  
>> +EFI_STATUS
>> +IpmiCmdStopWatchdogTimer (
>> +  IN EFI_WDT_USER_TYPE  UserType
>> +  );
>> +
>>  #endif
>> diff --git a/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBm.c 
>> b/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBm.c
>> index f7536bfea3..9636f29dce 100644
>> --- a/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBm.c
>> +++ b/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBm.c
>> @@ -19,8 +19,10 @@
>>  #include <Library/BootLogoLib.h>
>>  #include <Library/BmcConfigBootLib.h>
>>  #include <Library/DevicePathLib.h>
>> +#include <Library/OemConfigData.h>
>>  #include <Library/PcdLib.h>
>>  #include <Library/TimerLib.h>
>> +#include <Library/IpmiCmdLib.h>
> 
> Please put this line after Library/DevicePathLib.h.
> 
>>  #include <Library/UefiBootManagerLib.h>
>>  #include <Library/UefiLib.h>
>>  #include <Protocol/DevicePath.h>
>> @@ -615,6 +617,8 @@ PlatformBootManagerAfterConsole (
>>  {
>>    EFI_STATUS Status;
>>    ESRT_MANAGEMENT_PROTOCOL           *EsrtManagement = NULL;
>> +  OEM_CONFIG_DATA                    SetupData;
>> +  UINTN                              DataSize = sizeof (OEM_CONFIG_DATA);
>>  
>>    //
>>    // Show the splash screen.
>> @@ -651,6 +655,24 @@ PlatformBootManagerAfterConsole (
>>      );
>>  
>>    HandleBmcBootType ();
>> +
>> +  //Disable POST Watch Dog before enter setup
> 
> Before entering setup (as stated here) or before attempting boot (as
> stated in commit message)?
> 

Before attempting boot

>> +  Status = gRT->GetVariable (
>> +                  OEM_CONFIG_NAME,
>> +                  &gOemConfigGuid,
>> +                  NULL,
>> +                  &DataSize,
>> +                  &SetupData
>> +                  );
>> +
>> +  if (!EFI_ERROR (Status)) {
>> +    if (SetupData.BmcWdtEnable) {
>> +      Status = IpmiCmdStopWatchdogTimer (EfiBiosPost);
>> +      if (EFI_ERROR (Status)) {
>> +        DEBUG ((DEBUG_ERROR, "%a:%r\n", __FUNCTION__, Status));
>> +      }
>> +    }
>> +  }
>>  }
>>  
>>  /**
>> diff --git 
>> a/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>>  
>> b/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>> index a093f13fb0..21afb53fc5 100644
>> --- 
>> a/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>> +++ 
>> b/Silicon/Hisilicon/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>> @@ -47,6 +47,7 @@
>>    DevicePathLib
>>    DxeServicesLib
>>    MemoryAllocationLib
>> +  IpmiCmdLib
> 
> Please move up one line.
> 
> /
>     Leif
> 

All comments will be apply.
Thanks.

Ming

>>    PcdLib
>>    PrintLib
>>    TimerLib
>> @@ -69,6 +70,7 @@
>>    gEfiEndOfDxeEventGroupGuid
>>    gEfiTtyTermGuid
>>    gHisiOemVariableGuid
>> +  gOemConfigGuid
>>  
>>  [Protocols]
>>    gEfiGenericMemTestProtocolGuid
>> -- 
>> 2.17.0
>>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to