From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- Core/EM/AMITSE/bootflow.h | 207 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 Core/EM/AMITSE/bootflow.h (limited to 'Core/EM/AMITSE/bootflow.h') diff --git a/Core/EM/AMITSE/bootflow.h b/Core/EM/AMITSE/bootflow.h new file mode 100644 index 0000000..9a91189 --- /dev/null +++ b/Core/EM/AMITSE/bootflow.h @@ -0,0 +1,207 @@ +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +//** **// +//** (C)Copyright 2011, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 **// +//** **// +//** Phone (770)-246-8600 **// +//** **// +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +// $Archive: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/bootflow.h $ +// +// $Author: Arunsb $ +// +// $Revision: 15 $ +// +// $Date: 10/18/12 5:31a $ +// +//*****************************************************************// +//*****************************************************************// +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/bootflow.h $ +// +// 15 10/18/12 5:31a Arunsb +// Updated for 2.16.1235 QA submission +// +// 6 10/10/12 12:23p Arunsb +// Synched the source for v2.16.1232 backup with Aptio +// +// 13 9/17/12 5:59a Rajashakerg +// Updated EIP changes for 2.16 release. +// +// 11 8/29/12 12:32p Arunsb +// [TAG] EIP93521 +// [Category] New Feature +// [Description] Support of ESRT +// [Files] amitse.sdl, bootflow.c, bootflow.h, commonhelper.c and +// dobmpmgr.c +// +// 10 8/23/12 6:26p Arunsb +// Reverted back 2.15.1229 for making GTSE, TSELite and BootOnly labels +// +// 9 8/21/12 7:54p Arunsb +// [TAG] EIP93521 +// [Category] New Feature +// [Description] Support of ESRT +// [Files] amitse.sdl, bootflow.c, bootflow.h, commonhelper.c and +// dobmpmgr.c +// +// 8 6/29/11 5:25a Arunsb +// [TAG] EIP 62631 +// [Category] New Feature +// [Description] Hot key boot option support in TSE as per UEFI spec. +// section 3.1.6. +// Added BOOT_FLOW_HOTKEY_BOOT bootflow option for +// honoring the hot key boot. +// [Files] AMITSE.sdl, bootflow.c, bootflow.h, CommonHelper.c, +// commonoem.c, commonoem.h, boot.c, +// hiistring20.c, hiistring21.c and notify.c. +// +// 7 6/20/11 3:45p Arunsb +// [TAG] EIP57660 +// [Category] New Feature +// [Description] Non-removable media boot behavior as described in UEFI +// specification v 2.3.1, p. 3.4.1. +// [Files] amitse.sdl, bootflow.c, bootflow.h, commonoem.c, boot.c +// and protocol.c +// +// 6 6/10/11 2:39p Arunsb +// [TAG] EIP57660 +// [Category] New Feature +// [Description] Non-removable media boot behavior as described in UEFI +// specification v 2.3.1, p. 3.4.1.2 +// [Files] boot.c, bootflow.c and bootflow.h +// +// 5 6/08/11 11:38p Arunsb +// [TAG] EIP57650 +// [Category] New Feature +// [Description] Support in TSE Out of resources boot flow option. +// [Files] bootflow.c and bootflow.h +// +// 4 9/16/10 8:39p Madhans +// Updated for TSE 2.10. Refer changelog.log for more deatils. +// +// 4 9/08/10 6:57a Mallikarjunanv +// EIP-42080: TSE updates with respect to Fast Boot Support +// +// 3 4/13/10 5:12p Madhans +// EIP: 37439 To support extended OEM Key support. +// +// 2 2/19/10 7:59a Mallikarjunanv +// updated the year in copyright message +// +// 1 6/04/09 7:49p Madhans +// AMI TSE Advanced. +// +// 1 4/28/09 10:49p Madhans +// Tse 2.0 Code complete Checkin. +// +// 1 4/28/09 10:24p Madhans +// Tse 2.0 Code complete Checkin. +// +// 2 1/30/09 6:06p Madhans +// Function headers added. +// +// +//*****************************************************************// +//*****************************************************************// +// +//---------------------------------------------------------------------------- +// +// Name: bootflow.h +// +// Description: bootflow header +// +//---------------------------------------------------------------------------- +// + +#ifndef _BOOTFLOW_H_ +#define _BOOTFLOW_H_ + +/* EF152FB4-7B2F-427D-BDB4-7E0A05826E64 */ +#define BOOT_FLOW_VARIABLE_GUID \ + { 0xEF152FB4, 0x7B2F, 0x427D, 0xBD, 0xB4, 0x7E, 0x0A, 0x05, 0x82, 0x6E, 0x64 } + +#define TPM_BOOT_FLOW_VARIABLE_GUID \ + { 0xb6460a49, 0x0ac1, 0x484f, 0xae, 0x58, 0xf1, 0x6e, 0xb2, 0x39, 0xdb, 0x3d } + +#define BOOT_FLOW_CONDITION_NORMAL 0 +#define BOOT_FLOW_CONDITION_ERROR 1 +#define BOOT_FLOW_CONDITION_RECOVERY 2 +#define BOOT_FLOW_CONDITION_FIRST_BOOT 4 + +#define BOOT_FLOW_CONDITION_OEM_KEY1 0x00001001 +#define BOOT_FLOW_CONDITION_OEM_KEY2 0x00001002 +#define BOOT_FLOW_CONDITION_OEM_KEY3 0x00001003 +#define BOOT_FLOW_CONDITION_OEM_KEY4 0x00001004 +#define BOOT_FLOW_CONDITION_OEM_KEY_CALLBACK 0x00001005 +#define BOOT_FLOW_CONDITION_NO_SETUP 5 +#define BOOT_FLOW_CONDITION_BBS_POPUP 6 +#define BOOT_FLOW_CONDITION_FAST_BOOT 7 +#define BOOT_FLOW_CONDITION_PCI_OUT_OF_RESOURCE 9 +#define BOOT_FLOW_HOTKEY_BOOT 0xA +#define BOOT_FLOW_CONDITION_OS_UPD_CAP 0xB //EIP93521 +#define BOOT_FLOW_CONDITION_NULL 0xFFFFFFFF + +typedef struct _BOOT_FLOW BOOT_FLOW; + +typedef EFI_STATUS (*BOOT_FLOW_CALLBACK)( BOOT_FLOW * ); + +struct _BOOT_FLOW +{ + UINT32 Condition; + UINT16 PageClass; + UINT16 PageSubClass; + UINT16 PageFormID; + UINT32 ControlNumber; + UINT16 MessageBoxToken; + UINT16 MessageBoxTimeout; + BOOLEAN GotoPageOnEntry; + BOOLEAN ProceedBooting; + BOOLEAN InfiniteLoop; + BOOLEAN LaunchShell; + BOOLEAN DoNotEnterSetup; + BOOT_FLOW_CALLBACK CallbackFunction; +}; + +EFI_STATUS BootFlowManageEntry( VOID ); +EFI_STATUS BootFlowManageExit( VOID ); +VOID _BootFlowShowMessageBox( BOOT_FLOW *bootFlowPtr ); +VOID _BootFlowSetActivePage( BOOT_FLOW *bootFlowPtr ); +VOID _BootFlowSetActiveControl( BOOT_FLOW *bootFlowPtr ); + +EFI_STATUS OemKey1Hook ( BOOT_FLOW * ); +EFI_STATUS OemKey2Hook ( BOOT_FLOW * ); +EFI_STATUS OemKey3Hook ( BOOT_FLOW * ); +EFI_STATUS OemKey4Hook ( BOOT_FLOW * ); +EFI_STATUS DoPopup( BOOT_FLOW * ); +//EFI_STATUS DoPopupMenu( BOOT_FLOW * ); +//EFI_STATUS DoBootOnlyPopupMenu( BOOT_FLOW * ); +EFI_STATUS FBBootFlow (BOOT_FLOW *); +EFI_STATUS LaunchHotKeyBootOption (BOOT_FLOW *); +EFI_STATUS OsUpdateCapsuleWrap (BOOT_FLOW *BootFlow); + +#endif /* _BOOTFLOW_H_ */ + +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +//** **// +//** (C)Copyright 2011, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 **// +//** **// +//** Phone (770)-246-8600 **// +//** **// +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// -- cgit v1.2.3