alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/Include/L05BiosSelfHealingConfig.h

63 lines
2.3 KiB
C

/** @file
;******************************************************************************
;* 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.
;*
;******************************************************************************
*/
#ifndef _L05_BIOS_SELF_HEALING_CONFIG_H_
#define _L05_BIOS_SELF_HEALING_CONFIG_H_
#include <Uefi.h>
//
// SMI Interface Definition
//
#define L05_BIOS_SELF_HEALING_FUNCTION (UINT32)(0x534EDC00 + (UINT8)L05_SECURITY_SW_SMI)
#define L05_BIOS_SELF_HEALING_CHECK_CAPABILITY (UINT32)0x0C
#define L05_BIOS_SELF_HEALING_DESTROY_BOOT_BLOCK (UINT32)0x0B
#define L05_BIOS_SELF_HEALING_DESTROY_FVMAIN (UINT32)0x0F
//
// SMI Interface Return Code
//
#define L05_BIOS_SELF_HEALING_FUNCTION_ENABLED (UINT32)(1 << 30)
#define L05_BIOS_SELF_HEALING_FUNCTION_DISABLED (UINT32)(0 << 30)
#define L05_BIOS_SELF_HEALING_FUNCTION_SUPPORTED (UINT32)(1 << 31)
#define L05_BIOS_SELF_HEALING_FUNCTION_NOT_SUPPORTED (UINT32)(0 << 31)
#define L05_BIOS_SELF_HEALING_FUNCTION_FAILED (UINT32)(1 << 31)
#define L05_BIOS_SELF_HEALING_FUNCTION_SUCCESSFUL (UINT32)(0 << 31)
//
// EEPROM Flag Definition
//
#define L05_BIOS_SELF_HEALING_FLAG_BACKUP_BLOCK_SYNCED (UINT8)BIT0
#define L05_BIOS_SELF_HEALING_FLAG_DESTROY_BOOT_BLOCK (UINT8)BIT1
#define L05_BIOS_SELF_HEALING_FLAG_DESTROY_FVMAIN (UINT8)BIT2
#pragma pack(1)
#define EFI_L05_BSH_DATA_HEADER_SIGNATURE SIGNATURE_32 ('$', 'B', 'S', 'H')
typedef struct _EFI_L05_BSH_DATA_HEADER {
UINT32 Signature;
UINT8 PatchCount;
UINT8 Reserved[11];
} EFI_L05_BSH_DATA_HEADER;
typedef struct _EFI_L05_PATCH_DATA_HEADER {
UINT32 FvBase;
UINT32 Offset;
UINT32 Size;
UINT8 Reserved[4];
} EFI_L05_PATCH_DATA_HEADER;
#pragma pack()
#endif