summaryrefslogtreecommitdiff
path: root/Core/EM/FastBoot/FastBoot.sd
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/FastBoot/FastBoot.sd')
-rw-r--r--Core/EM/FastBoot/FastBoot.sd372
1 files changed, 372 insertions, 0 deletions
diff --git a/Core/EM/FastBoot/FastBoot.sd b/Core/EM/FastBoot/FastBoot.sd
new file mode 100644
index 0000000..74609cc
--- /dev/null
+++ b/Core/EM/FastBoot/FastBoot.sd
@@ -0,0 +1,372 @@
+//*************************************************************************
+//*************************************************************************
+//** **
+//** (C)Copyright 1985-2010, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//*************************************************************************
+//*************************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/SOURCE/Modules/PTT/FastBoot.sd 16 7/11/13 10:13p Simonchen $
+//
+// $Revision: 16 $
+//
+// $Date: 7/11/13 10:13p $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/SOURCE/Modules/PTT/FastBoot.sd $
+//
+// 16 7/11/13 10:13p Simonchen
+// [TAG] EIP126196
+// [Category] Bug Fix
+// [Severity] Minor
+// [Symptom] If set two HDD password and use Raid mode, fastboot will
+// [RootCause] Because when AHCI driver unlock first HDD, Raid driver
+// will try to read all HDD, but second HDD is still lock, so access will
+// fail.
+// [Solution] Make sure all HDD unlock then Raid can access HDD.
+// And add "Support Raid Driver" token to control fastboot support Raid
+// feature or not.
+// [Files] FastBoot.c
+// FastBoot.sd
+// FastBoot.sdl
+// FastBootRuntime.c
+// FastBoot.h
+//
+// 15 4/18/13 5:39a Simonchen
+// [TAG] EIP113454
+// [Category] New Feature
+// [Description] This eip is created for implement or experiment for
+// Intel raid mode on fastboot.
+// [Files] FastBoot.sdl
+// FastBootRuntime.c
+// FastBoot.c
+// FastBoot.sd
+// FastBoot.uni
+//
+// 14 1/28/13 10:10p Bibbyyeh
+// [TAG] EIP113574
+// [Category] Spec Update
+// [Severity] Normal
+// [Description] Update the PTT eModule to utilize Setup Customization
+// [Files] FastBoot.sd FastBoot.uni
+//
+// 13 8/10/12 3:23a Bibbyyeh
+// [TAG] EIP96276
+// [Category] New Feature
+// [Description] Function request for PTT_12
+// EIP96276.2 Fixed USB skip table issue.
+// EIP96276.3 Add token ¡¥CONNECT_ALL_SATA_DEVICE_IN_FASTBOOT¡¦ to
+// gFastBootPolicy.
+// EIP96276.4 Add IsValidFBBootOptionPtr support by driver type. Exp : usb
+// type skip or other type
+// EIP96276.5 Add token ¡¥Test mode¡¨ to gFastBootPolicy Setup menu.
+// EIP96276.6 Disable Tse Hotkey support in fastboot path.
+// EIP96276.7 Modify TRACE message.
+// [Files] FastBoot.c FastBoot.sd FastBoot.sdl FastBoot.uni
+// FastBootRuntime.c FastBootProtocol.c
+//
+// 12 6/15/12 6:28a Bibbyyeh
+// Add token "DEFAULT_VGA_SUPPORT_SETTING" ,
+// "DEFAULT_USB_SUPPORT_SETTING", "DEFAULT_PS2_SUPPORT_SETTING", and
+// "DEFAULT_NETWORK_STACK_SUPPORT_SETTING" for Fast Boot default setup
+// option.
+//
+// 11 6/12/12 10:14p Bibbyyeh
+// Add a item "Auto" for fastboot "VGA Support". Only install Legacy OpRom
+// only when previous boot is Legacy OS.
+//
+// 10 6/01/12 6:58a Bibbyyeh
+// [TAG] EIP90455
+// [Category] New Feature
+// [Description] PTT improvement - fastboot policy protocol for dynamic
+// control fast boot behavior.
+// [Files] FastBoot.c FastBoot.sdl FastBoot.sd FastBoot.uni
+// FastBootRuntime.c FastBootTseHook.c FastBootProtocol.h FastBoot.h
+//
+// 9 5/29/12 4:44a Bibbyyeh
+// Fix build fail issue if CSM and CsmOpOut moudle are removed.
+//
+// 8 4/09/12 8:05a Bibbyyeh
+// Modify the default of SETUP_DATA.FastBoot as token DEFAULT_FAST_BOOT.
+//
+// 7 10/18/11 7:47a Bibbyyeh
+// [TAG] EIP68563
+// [Category] Improvement
+// [Description] Manufacturing Mode not set for the FastBoot setup
+// options.
+// [Files] FastBoot.sd
+//
+// 6 8/29/11 4:14a Bibbyyeh
+// [TAG] EIP67571
+// [Category] Bug Fix
+// [Severity] Important
+// [Symptom] All FastBoot setup options are enabled in manufacturing
+// mode.
+// [RootCause] MANUFACTURING is set in FastBoot Setup option.
+// [Solution] Remove MANUFACTURING flag.
+// [Files] FastBoot.sd
+//
+// 5 3/17/11 8:40a Bibbyyeh
+// [TAG] EIP56151
+// [Category] Improvement
+// [Description] PTT eModule has several compiled errors if CSM eModule
+// is removed, that must be solved.
+// [Files] FastBoot.c FastBoot.sd
+//
+// 4 3/17/11 7:18a Bibbyyeh
+// [TAG] EIP56151
+// [Category] Improvement
+// [Description] PTT eModule has several compiled errors if CSM eModule
+// is removed, that must be solved.
+// [Files] FastBoot.c FastBoot.sd
+//
+// 3 3/11/11 10:01p Bibbyyeh
+// [TAG] EIP54993
+// [Category] Improvement
+// [Description]
+// 1.Sync with Fastboot_10
+// 2.Remove token "SAVE_LAST_BOOT_DEVICE_CHECKSUM"
+// 3.Add token "CALL_DISPATCHER_AGAIN_IN_FASTBOOT"
+// 4.Use SimpleText protocol to detect mode change hotkey instead of
+// pBS->ConIn.
+// 5.Simplify the code about "AMILEGACY16_FASTBOOT_SOLUTION".
+// 6.Fixed a bug that SATA device can't be found if keep TSE execution on
+// fastboot path.
+// [Files] PPT.cif FastBoot.sdl FastBootRuntime.c FastBootTseHook.c
+// FastBoot.c FastBoot.h FastBoot.sd FastBootProtocol.cif
+// FastBootProtocol.h FastBootSMI.cif FastBootSMI.sdl FastBootSMI.c
+// FastBootSMI.dxs FastBootSMI.mak
+//
+// 2 11/17/10 9:44a Bibbyyeh
+// [TAG] EIP47397
+// [Category] Improvement
+// [Description] 1. Move all console related functions into PTT module
+// to avoid uncompatible with different core version.
+// 2. Install dumy SimpleTextCoin protocol when pBS->ConIn & pBS-ConOut is
+// Null.
+// 3. Raise timer call back as TPL_HIGH_LEVEL level, it will give BIOS
+// more chance to mode change successfully.
+// 4. Remove FASTBOOT_CONSOLE_SETTING token.Add setup option for fastboot
+// setting, "Skip VGA", "Skip USB", Skip "PS2".
+// [Files] FastBoot.c
+// FastBoot.h
+// FastBoot.sd
+// FastBoot.sdl
+// FastBoot.uni
+//
+// 1 10/12/10 9:04a Bibbyyeh
+// Initial check in
+//
+//**********************************************************************
+
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: FastBoot.sd
+//
+// Description: FastBoot Setup data definitions, currently go under Boot page
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+
+#ifdef SETUP_DATA_DEFINITION
+ UINT8 FastBoot;
+ UINT8 FbSata;
+ UINT8 FbVga;
+ UINT8 FbUsb;
+ UINT8 FbPs2;
+ UINT8 FbNetWrokStack;
+ UINT8 FbTestMode; //(EIP96276.5+)
+#endif
+
+#if defined(VFRCOMPILE) && !defined(CONTROLS_ARE_DEFINED)
+#define CONTROL_DEFINITION
+#endif
+
+#ifdef CONTROL_DEFINITION
+//
+// Put control definitions here.
+//
+
+#define FB_ONEOF_FASTBOOT\
+ oneof varid = SETUP_DATA.FastBoot,\
+ prompt = STRING_TOKEN(STR_FAST_BOOT),\
+ help = STRING_TOKEN(STR_FAST_BOOT_HELP),\
+ default = DEFAULT_FAST_BOOT,\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;\
+ endoneof;
+
+#if SUPPORT_RAID_DRIVER
+#define FB_ONEOF_FBSATA\
+ oneof varid = SETUP_DATA.FbSata,\
+ prompt = STRING_TOKEN(STR_FB_SATA),\
+ help = STRING_TOKEN(STR_FB_SATA_HELP),\
+ default = DEFAULT_SATA_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_SATA_LAST_BOOT_ONLY), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_SATA_ALL), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_SATA_HDD_ONLY), value = 2, flags = RESET_REQUIRED;\
+ endoneof;
+#else
+#define FB_ONEOF_FBSATA\
+ oneof varid = SETUP_DATA.FbSata,\
+ prompt = STRING_TOKEN(STR_FB_SATA),\
+ help = STRING_TOKEN(STR_FB_SATA_HELP),\
+ default = DEFAULT_SATA_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_SATA_LAST_BOOT_ONLY), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_SATA_ALL), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ endoneof;
+#endif
+
+#define FB_ONEOF_FBVGA\
+ oneof varid = SETUP_DATA.FbVga,\
+ prompt = STRING_TOKEN(STR_FB_VGA),\
+ help = STRING_TOKEN(STR_FB_VGA_HELP),\
+ default = DEFAULT_VGA_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_AUTO), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_VGA_DRIVER), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ endoneof;
+
+
+#if (((USB_DRIVER_MAJOR_VER*100 ) + (USB_DRIVER_MINOR_VER*10) + (USB_DRIVER_BUILD_VER)) >= 920)
+
+#define FB_ONEOF_FBUSB\
+ oneof varid = SETUP_DATA.FbUsb,\
+ prompt = STRING_TOKEN(STR_FB_USB),\
+ help = STRING_TOKEN(STR_FB_USB_HELP),\
+ default = DEFAULT_USB_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_FULL_INIT), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_PATIAL_INIT), value = 2, flags = RESET_REQUIRED;\
+ endoneof;
+
+#else
+
+#define FB_ONEOF_FBUSB\
+ oneof varid = SETUP_DATA.FbUsb,\
+ prompt = STRING_TOKEN(STR_FB_USB),\
+ help = STRING_TOKEN(STR_FB_USB_HELP),\
+ default = DEFAULT_USB_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_FULL_INIT), value = 1, flags = MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+#endif
+
+#define FB_ONEOF_FBPS2\
+ oneof varid = SETUP_DATA.FbPs2,\
+ prompt = STRING_TOKEN(STR_FB_PS2),\
+ help = STRING_TOKEN(STR_FB_PS2_HELP),\
+ default = DEFAULT_PS2_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ endoneof;
+
+#define FB_ONEOF_FBNETWORKSTACK\
+ oneof varid = SETUP_DATA.FbNetWrokStack,\
+ prompt = STRING_TOKEN(STR_FB_NETWORK_STACK),\
+ help = STRING_TOKEN(STR_FB_NETWORK_STACK_HELP),\
+ default = DEFAULT_NETWORK_STACK_SUPPORT_SETTING,\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | RESET_REQUIRED;\
+ endoneof;
+
+#define FB_ONEOF_FBTESTMODE\
+ oneof varid = SETUP_DATA.FbTestMode,\
+ prompt = STRING_TOKEN(STR_FB_TEST),\
+ help = STRING_TOKEN(STR_FB_TEST_HELP),\
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;\
+ endoneof;\
+
+#endif //#ifdef CONTROL_DEFINITION
+
+#ifdef CONTROLS_WITH_DEFAULTS
+//
+// List macros of all the controls attached to the actual data.
+//
+ FB_ONEOF_FASTBOOT
+ FB_ONEOF_FBSATA
+ FB_ONEOF_FBVGA
+ FB_ONEOF_FBUSB
+ FB_ONEOF_FBPS2
+ FB_ONEOF_FBNETWORKSTACK
+ FB_ONEOF_FBTESTMODE
+
+#endif //#ifdef CONTROLS_WITH_DEFAULTS
+
+//Select Top level menu itmem (forset) for you pages
+#ifdef BOOT_FORM_SET
+ #ifndef SUPPRESS_GRAYOUT_ENDIF //old Core
+ #define SUPPRESS_GRAYOUT_ENDIF endif;
+ #endif
+
+#ifdef FORM_SET_ITEM
+
+ FB_ONEOF_FASTBOOT
+
+
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBSATA
+ SUPPRESS_GRAYOUT_ENDIF
+
+#if CSM_SUPPORT
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBVGA
+ endif;
+#else
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 1;
+ FB_ONEOF_FBVGA
+ SUPPRESS_GRAYOUT_ENDIF
+#endif //#if CSM_SUPPORT
+
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBUSB
+ SUPPRESS_GRAYOUT_ENDIF
+
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBPS2
+ SUPPRESS_GRAYOUT_ENDIF
+
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBNETWORKSTACK
+ SUPPRESS_GRAYOUT_ENDIF
+
+//(EIP96276.5+)>>
+#if FAST_BOOT_TEST_MODE
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ grayoutif ideqval SETUP_DATA.FastBoot == 0;
+ FB_ONEOF_FBTESTMODE
+ SUPPRESS_GRAYOUT_ENDIF
+#endif //#if FAST_BOOT_TEST_MODE
+//<<(EIP96276.5+)
+
+#endif //#ifdef FORM_SET_ITEM
+
+#endif //#ifdef BOOT_FORM_SET
+//*************************************************************************
+//*************************************************************************
+//** **
+//** (C)Copyright 1985-2010, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//*************************************************************************
+//*************************************************************************
+