/** @file Definitions for H2O Setup ;****************************************************************************** ;* Copyright (c) 2019 - 2021, 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 __H2O_SETUP_H__ #define __H2O_SETUP_H__ #define SETUP_VARIABLE_NAME L"Setup" #define SETUP_NETWORK_VARIABLE_NAME L"NetworkSetup" #define SETUP_UTILITY_CLASS 1 #define SETUP_UTILITY_SUBCLASS 0 #define EFI_USER_ACCESS_TWO 0x04 #define EFI_USER_ACCESS_THREE 0x05 #define VAR_EQ_GRAY_TEXT 1 #define MAX_HII_HANDLES 0x10 // // The maximum supported number of devices in advanced boot menu. // It can modify this value directly to change the supported devices. // #define MAX_BOOT_DEVICES_NUMBER 500 #define MAX_BOOT_ORDER_NUMBER 16 // Maximum number of legacy boot type #define MAX_LEGACY_BOOT_DEV_NUM 256 // Maximum number of legacy boot device //////////////////////////////////////// // Formset GUID definitions //////////////////////////////////////// #define SETUP_UTILITY_FORMSET_CLASS_GUID {0x9f85453e, 0x2f03, 0x4989, 0xad, 0x3b, 0x4a, 0x84, 0x07, 0x91, 0xaf, 0x3a} #define FORMSET_ID_GUID_MAIN {0xc1e0b01a, 0x607e, 0x4b75, 0xb8, 0xbb, 0x06, 0x31, 0xec, 0xfa, 0xac, 0xf2} #define FORMSET_ID_GUID_BOOT {0x2d068309, 0x12ac, 0x45ab, 0x96, 0x00, 0x91, 0x87, 0x51, 0x3c, 0xcd, 0xd8} #define FORMSET_ID_GUID_SECURITY {0x5204f764, 0xdf25, 0x48a2, 0xb3, 0x37, 0x9e, 0xc1, 0x22, 0xb8, 0x5e, 0x0d} #define FORMSET_ID_GUID_EXIT {0xb6936426, 0xfb04, 0x4a7b, 0xaa, 0x51, 0xfd, 0x49, 0x39, 0x7c, 0xdc, 0x01} #define FORMSET_ID_GUID_ADVANCE {0xc6d4769e, 0x7f48, 0x4d2a, 0x98, 0xe9, 0x87, 0xad, 0xcc, 0xf3, 0x5c, 0xcc} #define FORMSET_ID_GUID_POWER {0xa6712873, 0x925f, 0x46c6, 0x90, 0xb4, 0xa4, 0x0f, 0x86, 0xa0, 0x91, 0x7b} //////////////////////////////////////// // VFR varstore definitions //////////////////////////////////////// #define CONFIGURATION_VARSTORE_ID 0x1234 #define SYSTEM_CONFIGURATION_GUID {0xA04A27f4, 0xDF00, 0x4D42, 0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D} #define PASSWORD_CONFIGURATION_VARSTORE_ID 0x1235 #define PASSWORD_CONFIGURATION_GUID {0xf72deef6, 0x13ef, 0x4958, 0xb0, 0x27, 0xe, 0x45, 0xce, 0x7f, 0xa4, 0x5e} #define PASSWORD_NAME_VALUE_VARSTORE_ID 0x1236 #define TCG2_CONFIGURATION_INFO_VARSTORE_ID 0x1237 #define TCG2_CONFIGURATION_INFO_GUID {0x07a66697, 0xd400, 0x4903, 0xb3, 0xda, 0x67, 0xa6, 0x1d, 0x2b, 0x70, 0x58} #define BOOT_VARSTORE_ID 0x1489 #define NETWORK_VARSTORE_ID 0x148A //////////////////////////////////////// // Form ID definitions //////////////////////////////////////// #define ROOT_FORM_ID 1 // // For Security formset // #define STORAGE_PASSWORD_FORM_ID 0x1901 #define STORAGE_PASSWORD_DEVICE_FORM_ID 0x1902 // // For Boot formset // #define BOOT_OPTION_FORM_ID 0x530 #define BOOT_DEVICE_FDD_FORM_ID 0x531 #define BOOT_DEVICE_HDD_FORM_ID 0x532 #define BOOT_DEVICE_CD_FORM_ID 0x533 #define BOOT_DEVICE_PCMCIA_FORM_ID 0x534 #define BOOT_DEVICE_USB_FORM_ID 0x535 #define BOOT_EMBED_NETWORK_FORM_ID 0x536 #define BOOT_DEVICE_BEV_FORM_ID 0x537 #define BOOT_DEVICE_OTHER_FORM_ID 0x538 #define BOOT_DEVICE_ADVANCE_FORM_ID 0x539 #define BOOT_DEVICE_EFI_FORM_ID 0x53A #define BOOT_DEVICE_LEG_NOR_BOOT_ID 0x53B #define BOOT_DEVICE_LEG_ADV_BOOT_ID 0x53C #define BOOT_HIDDEN_BOOT_TYPE_ORDER_ID 0x53D //////////////////////////////////////// // Question ID definitions //////////////////////////////////////// #define SETUP_DYNAMIC_CREATE_KEY_VALUE_BASE 0x5200 #define KEY_SCAN_ESC 0xF0D1 #define KEY_SCAN_F9 0xF0D2 #define KEY_SCAN_F10 0xF0D3 // // For Main formset // #define KEY_LANGUAGE_UPDATE 0x527F // SETUP_DYNAMIC_QUESTION_ID(Language) #define KEY_LANGUAGE_CARRY_OFF 0x1046 #define KEY_ABOUT_THIS_SOFTWARE 0x1059 // // For Security formset // #define KEY_SUPERVISOR_PASSWORD 0x1037 #define KEY_USER_PASSWORD 0x1038 #define KEY_CLEAR_USER_PASSWORD 0x1039 #define KEY_SET_ALL_MASTER_HDD_PASSWORD 0x1042 #define KEY_SET_ALL_HDD_PASSWORD 0x1043 #define KEY_PSID_REVERT 0x1048 #define KEY_TPM_CLEAR 0x11B5 #define KEY_TPM 0x11B6 #define KEY_TPM2_ENABLE 0x11B7 #define KEY_TPM2_CLEAR 0x11B8 #define KEY_TPM_SELECT 0x11B9 #define KEY_TPM_HIDE 0x11BA #define KEY_TPM2_HIDE 0x11BB #define KEY_TPM2_OPERATION 0x11BF #define KEY_TREE_PROTOCOL_VERSION 0x11C0 // // TCM // #define KEY_TCM_HIDE 0x11C1 #define KEY_TCM_CLEAR 0x11C2 #define KEY_TPM_OPERATION 0x11C3 #define KEY_TPM_ACTIVE_PCR_BANKS 0x11C4 #define KEY_TCG_STORAGE_ACTION 0x11C5 #define KEY_TPM2_PCR_BANKS_REQUEST_0 0x1200 #define KEY_TPM2_PCR_BANKS_REQUEST_1 0x1201 #define KEY_TPM2_PCR_BANKS_REQUEST_2 0x1202 #define KEY_TPM2_PCR_BANKS_REQUEST_3 0x1203 #define KEY_TPM2_PCR_BANKS_REQUEST_4 0x1204 #define KEY_STORAGE_PASSWORD_OPTION_BASE 0x1900 #define KEY_SET_STORAGE_PASSWORD 0x1920 #define KEY_CHECK_STORAGE_PASSWORD 0x1921 #define KEY_SET_MASTER_STORAGE_PASSWORD 0x1922 #define KEY_TCG_STORAGE_PASSWORD 0x1923 #define KEY_CHECK_MASTER_STORAGE_PASSWORD 0x1924 #define KEY_POWER_ON_PASSWORD 0x1925 #define KEY_STORAGE_PASSWORD_FORM_ID 0x1926 #define KEY_USER_ACCESS_LEVEL 0x1927 // // For Boot formset // #define KEY_UP_SHIFT 0x103A #define KEY_DOWN_SHIFT 0x103B #define KEY_BOOT_MENU_TYPE 0x105A #define KEY_LEGACY_NORMAL_BOOT_MENU 0x105B #define KEY_NORMAL_BOOT_PRIORITY 0x105C #define KEY_NEW_POSITION_POLICY 0x105D #define KEY_BOOT_MODE_TYPE 0x105E #define KEY_PXE_BOOT_TO_LAN 0x105F #define KEY_HIDDEN_BOOT_TYPE_ORDER 0x1060 #define KEY_USB_BOOT 0x1061 #define KEY_PXE_BOOT_TO_LAN_IN_DUAL_LEGACY 0x1062 #define KEY_QUICK_BOOT 0x1063 #define KEY_QUIET_BOOT 0x1064 #define KEY_NETWORK_PROTOCOL 0x1065 #define KEY_PUIS_ENABLE 0x1066 #define KEY_ACPI_VER 0x1067 #define KEY_WIN8_FAST_BOOT 0x1068 #define KEY_USB_HOT_KEY_SUPPORT 0x1069 #define KEY_BOOT_TIMEOUT 0x106A #define KEY_AUTO_FAILOVER 0x106B #define KEY_BOOT_OPTION_FORM 0x106C #define KEY_BOOT_DEVICE_FDD_FORM 0x106D #define KEY_BOOT_DEVICE_HDD_FORM 0x106E #define KEY_BOOT_DEVICE_CD_FORM 0x106F #define KEY_BOOT_DEVICE_PCMCIA_FORM 0x1070 #define KEY_BOOT_DEVICE_USB_FORM 0x1071 #define KEY_BOOT_EMBED_NETWORK_FORM 0x1072 #define KEY_BOOT_DEVICE_BEV_FORM 0x1073 #define KEY_BOOT_DEVICE_OTHER_FORM 0x1074 #define KEY_BOOT_DEVICE_ADVANCE_FORM 0x1075 #define KEY_BOOT_DEVICE_EFI_FORM 0x1076 #define KEY_BOOT_DEVICE_LEG_NOR_BOOT 0x1077 #define KEY_BOOT_DEVICE_LEG_ADV_BOOT 0x1078 #define KEY_BOOT_HIDDEN_BOOT_TYPE_ORDER 0x1079 #define KEY_PP_REQUIRED_FOR_DISABLE_BLOCK_SID 0x1080 #define KEY_STORAGE_OPROM_ACCESS_ENABLE 0x1081 #define KEY_ESATA_BOOT_ACCESS_ENABLE 0x1082 #define KEY_NETWORK_PROTOCOL_RETRY_POLICY 0x1083 // // definition for create specific callback question ID doesn't have relative for SYSTEM_CONFIGURATION // #define KEY_BOOT_TYPE_ORDER_BASE 0x3200 #define KEY_BOOT_DEVICE_TYPE_BASE (KEY_BOOT_TYPE_ORDER_BASE + MAX_BOOT_ORDER_NUMBER) #define KEY_EFI_BOOT_DEVICE_BASE (KEY_BOOT_DEVICE_TYPE_BASE + MAX_LEGACY_BOOT_DEV_NUM) #define KEY_ADV_LEGACY_BOOT_BASE (KEY_EFI_BOOT_DEVICE_BASE + MAX_BOOT_DEVICES_NUMBER) #define KEY_BOOT_DEVICE_BASE (KEY_ADV_LEGACY_BOOT_BASE + MAX_LEGACY_BOOT_DEV_NUM) // // For Exit formset // #define KEY_SAVE_EXIT 0x1031 #define KEY_EXIT_DISCARD 0x1032 #define KEY_LOAD_OPTIMAL 0x1033 #define KEY_LOAD_CUSTOM 0x1034 #define KEY_SAVE_CUSTOM 0x1035 #define KEY_DISCARD_CHANGE 0x1036 #define KEY_SAVE_WITHOUT_EXIT 0x1047 //////////////////////////////////////// // VFR label definitions //////////////////////////////////////// // // For Main formset // #define SETUP_UTILITY_LANG_MENU 0x1001 #define UPDATE_INFO_RAM_SLOT_LABEL 0x1007 #define MAIN_PAGE_PLATFORM_INFO_LABEL 0x1008 #define UPDATE_CPU_TYPE_LABEL 0x1009 #define UPDATE_SYSTEM_BUS_SPEED_LABEL 0x100A #define UPDATE_CACHE_RAM_LABEL 0x100B #define COPYRIGHT_LABEL 0x100E #define UPDATE_CONFIG_ID_LABEL 0x100F #define UPDATE_CONFIG_NAME_LABEL 0x1010 #define BIOS_BUILD_TIME_LABEL 0x1012 #define BIOS_VERSION_LABEL 0x1013 #define BIOS_VERSION_END_LABEL 0x1014 #define UPDATE_SYSTEM_BUS_SPEED_END_LABEL 0x1801 // // For Security formset // #define USER_PASSWORD_LABEL 0x1003 #define CLEAR_USER_PASSWORD_LABEL 0x1004 #define TPM_STATE_LABEL 0x11BC #define TPM_OPERATION_START_LABEL 0x11BD #define TPM_OPERATION_END_LABEL 0x11BE #define LABEL_STORAGE_PASSWORD_OPTION KEY_STORAGE_PASSWORD_OPTION_BASE #define LABEL_STORAGE_PASSWORD_OPTION_END 0x19FF #define LABEL_STORAGE_PASSWORD_DEVICE_USER_PASSWORD_OPTION 0x1910 #define LABEL_STORAGE_PASSWORD_DEVICE_USER_PASSWORD_OPTION_END 0x1911 #define LABEL_STORAGE_PASSWORD_DEVICE_MASTER_PASSWORD_OPTION 0x1912 #define LABEL_STORAGE_PASSWORD_DEVICE_MASTER_PASSWORD_OPTION_END 0x1913 #define LABEL_STORAGE_PASSWORD_DEVICE_TCG_PASSWORD_OPTION 0x1914 #define LABEL_STORAGE_PASSWORD_DEVICE_TCG_PASSWORD_OPTION_END 0x1915 #define LABEL_STORAGE_PASSWORD_DEVICE_TCG_PSID_OPTION 0x1916 #define LABEL_STORAGE_PASSWORD_DEVICE_TCG_PSID_OPTION_END 0x1917 // // For Boot formset // #define BOOT_DEVICE_LABEL 0x1002 #define UPDATE_EFI_OPTION_LABEL 0x100C #define OPROM_STORAGE_DEVICE_BOOT_LABEL 0x100D #define BOOT_ORDER_LABEL 0x3000 #define FDD_BOOT_DEVICE_LABEL 0x3001 #define HDD_BOOT_DEVICE_LABEL 0x3002 #define CD_BOOT_DEVICE_LABEL 0x3003 #define PCMCIA_BOOT_DEVICE_LABEL 0x3004 #define USB_BOOT_DEVICE_LABEL 0x3005 #define EMBED_NETWORK_BOOT_DEVICE_LABEL 0x3006 #define BEV_BOOT_DEVICE_LABEL 0x3007 #define OTHER_BOOT_DEVICE_LABEL 0x3008 #define EFI_BOOT_DEVICE_LABEL 0x3009 #define BOOT_LEGACY_ADV_BOOT_LABEL 0x300A #define HIDDEN_BOOT_TYPE_ORDER_LABEL 0x300B // // For Exit formset // #define TRIGGER_BROWSER_REFRESH_LABEL 0x1011 //////////////////////////////////////// // VFR question value definitions //////////////////////////////////////// // // Boot type relative definitions // #define DUAL_BOOT_TYPE 0x00 #define LEGACY_BOOT_TYPE 0x01 #define EFI_BOOT_TYPE 0x02 #define ADD_POSITION_FIRST 0x00 #define ADD_POSITION_LAST 0x01 #define ADD_POSITION_AUTO 0x02 #define DUAL_VGA_CONTROLLER_ENABLE 1 #define DUAL_VGA_CONTROLLER_DISABLE 0 // // TPM // #define TPM_DEVICE_NULL 0 #define TPM_DEVICE_1_2 1 #define TPM_DEVICE_2_0 2 #define TPM_DEVICE_TCM 3 #define TPM_DEVICE_MAX TPM_DEVICE_TCM #define TPM_OPERATION_DISABLE_DEACTIVATE 1 #define TPM_OPERATION_ENABLE_ACTIVATE 2 #define TPM_OPERATION_SET_OWNER_INSTALL_TRUE 3 #define TPM_OPERATION_DISABLE_STORAGE_ENDORSEMENT_HIERARCHY 2 #define TPM_OPERATION_ENABLE_ALL_HIERARCHY 1 // // Network // #define UEFI_NETWORK_BOOT_OPTION_PXE_IPV4 0 #define UEFI_NETWORK_BOOT_OPTION_PXE_IPV6 1 #define UEFI_NETWORK_BOOT_OPTION_PXE_BOTH 2 #define UEFI_NETWORK_BOOT_OPTION_LEGACY 3 #define UEFI_NETWORK_BOOT_OPTION_DISABLE 4 #define UEFI_NETWORK_BOOT_OPTION_HTTP_IPV4 5 #define UEFI_NETWORK_BOOT_OPTION_HTTP_IPV6 6 #define UEFI_NETWORK_BOOT_OPTION_HTTP_BOTH 7 #define UEFI_NETWORK_BOOT_OPTION_HTTP_PXE_IPV4 8 #define UEFI_NETWORK_BOOT_OPTION_HTTP_PXE_IPV6 9 #define UEFI_NETWORK_BOOT_OPTION_HTTP_PXE_BOTH 10 #define H2O_NETWORK_BOOT_INFINITELY_RETRY 255 extern EFI_GUID gFormsetIdGuidMain; extern EFI_GUID gFormsetIdGuidAdvance; extern EFI_GUID gFormsetIdGuidSecurity; extern EFI_GUID gFormsetIdGuidPower; extern EFI_GUID gFormsetIdGuidBoot; extern EFI_GUID gFormsetIdGuidExit; extern EFI_GUID gSystemConfigurationGuid; #endif