/** @file Console Redirection Configuration DXE VFR implementation. ;****************************************************************************** ;* Copyright (c) 2015, Insyde Software Corporation. 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. ;* ;****************************************************************************** */ #include "CrConfig.h" formset guid = CONSOLE_REDIRECTION_FORMSET_GUID, title = STRING_TOKEN(STR_CONSOLE_REDIRECTION_FORMSET_TITLE), help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_FORMSET_HELP), //[-start-210811-IB18410083-modify]// classguid = PcdGetPtr (PcdH2OCrFormsetClassGuid), //[-end-210811-IB18410083-modify]// // // Define a Buffer Storage (EFI_IFR_VARSTORE) // varstore CR_CONFIGURATION, // This is the data structure type varid = CR_CONFIGURATION_VARSTORE_ID, // Optional VarStore ID name = CrConfig, // Define referenced name in vfr guid = CR_CONFIGURATION_GUID; // GUID of this buffer storage namevaluevarstore CrNameValueVar, // Define storage reference name in vfr name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0), // Define Name list of this storage, refer it by CrNameValueVar[0] guid = CR_CONFIGURATION_GUID; // GUID of this Name/Value storage // // ========Form Root========== // form formid = CONSOLE_REDIRECTION_ROOT_FORM_ID, title = STRING_TOKEN(STR_STR_CONSOLE_REDIRECTION_TITLE); subtitle text = STRING_TOKEN(STR_STR_CONSOLE_REDIRECTION_TITLE); subtitle text = STRING_TOKEN(STR_BLANK_STRING); oneof varid = CrConfig.CREnable, prompt = STRING_TOKEN(STR_CR_CONSOLE_REDIRECTION), help = STRING_TOKEN(STR_CR_CONSOLE_REDIRECTION_HELP), option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1, flags = DEFAULT; option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0, flags = 0; endoneof; suppressif ideqval CrConfig.CREnable == 0; oneof varid = CrConfig.GlobalTerminalType, questionid = KEY_GLOBAL_TERMINAL_TYPE, prompt = STRING_TOKEN(STR_CR_TERMINAL_TYPE), help = STRING_TOKEN(STR_CR_TERMINAL_TYPE_HELP), option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VT100), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VT100P), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VTUTF8), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_ANSI), value = 3, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_LOG), value = 4, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.GlobalBaudRate, questionid = KEY_GLOBAL_BAUD_RATE, prompt = STRING_TOKEN(STR_CR_BAUD_RATE), help = STRING_TOKEN(STR_CR_BAUD_RATE_HELP), option text = STRING_TOKEN(STR_CR_BAUD_RATE_115200), value = 7, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_BAUD_RATE_57600), value = 6, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_38400), value = 5, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_19200), value = 4, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_9600), value = 3, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_4800), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_2400), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_1200), value = 0, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.GlobalDataBits, questionid = KEY_GLOBAL_DATA_BITS, prompt = STRING_TOKEN(STR_CR_DATA_BIT), help = STRING_TOKEN(STR_CR_DATA_BIT_HELP), option text = STRING_TOKEN(STR_CR_DATA_BIT_7), value = 7, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_DATA_BIT_8), value = 8, flags = INTERACTIVE | DEFAULT; endoneof; oneof varid = CrConfig.GlobalParity, questionid = KEY_GLOBAL_PARITY, prompt = STRING_TOKEN(STR_CR_PARITY), help = STRING_TOKEN(STR_CR_PARITY_HELP), option text = STRING_TOKEN(STR_CR_PARITY_NONE), value = 1, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_PARITY_EVEN), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_PARITY_ODD), value = 3, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.GlobalStopBits, questionid = KEY_GLOBAL_STOP_BITS, prompt = STRING_TOKEN(STR_CR_STOP_BIT), help = STRING_TOKEN(STR_CR_STOP_BIT_HELP), option text = STRING_TOKEN(STR_CR_STOP_BIT_1), value = 1, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_STOP_BIT_2), value = 3, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.GlobalFlowControl, questionid = KEY_GLOBAL_FLOW_CONTROL, prompt = STRING_TOKEN(STR_CR_FLOW_CONTROL), help = STRING_TOKEN(STR_CR_FLOW_CONTROL_HELP), option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_NONE), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_HARDWARE), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_SOFTWARE), value = 2, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.CRInfoWaitTime, prompt = STRING_TOKEN(STR_CR_LOGO_WAIT_TIME), help = STRING_TOKEN(STR_CR_LOGO_WAIT_TIME_HELP), option text = STRING_TOKEN(STR_CR_LOGO_WAIT_0_SECOND), value = 0, flags = 0; option text = STRING_TOKEN(STR_CR_LOGO_WAIT_2_SECOND), value = 2, flags = 0; option text = STRING_TOKEN(STR_CR_LOGO_WAIT_5_SECOND), value = 5, flags = DEFAULT; option text = STRING_TOKEN(STR_CR_LOGO_WAIT_10_SECOND), value = 10, flags = 0; option text = STRING_TOKEN(STR_CR_LOGO_WAIT_30_SECOND), value = 30, flags = 0; endoneof; oneof varid = CrConfig.CRAfterPost, prompt = STRING_TOKEN(STR_CR_AFTER_POST), help = STRING_TOKEN(STR_CR_AFTER_POST_HELP), option text = STRING_TOKEN(STR_YES_TEXT), value = 1, flags = DEFAULT; option text = STRING_TOKEN(STR_NO_TEXT), value = 0, flags = 0; endoneof; oneof varid = CrConfig.CRTextModeResolution, prompt = STRING_TOKEN(STR_CR_TEXT_MODE_RES), help = STRING_TOKEN(STR_CR_TEXT_MODE_RES_HELP), option text = STRING_TOKEN(STR_CR_TEXT_MODE_AUTO), value = CR_TEXT_MODE_AUTO, flags = DEFAULT; option text = STRING_TOKEN(STR_CR_TEXT_MODE_80X25), value = CR_TEXT_MODE_80X25, flags = 0; option text = STRING_TOKEN(STR_CR_TEXT_MODE_80X24_DF), value = CR_TEXT_MODE_80X24DF, flags = 0; option text = STRING_TOKEN(STR_CR_TEXT_MODE_80X24_DL), value = CR_TEXT_MODE_80X24DL, flags = 0; option text = STRING_TOKEN(STR_CR_TEXT_MODE_128X40), value = CR_TEXT_MODE_128X40, flags = 0; endoneof; oneof varid = CrConfig.AutoRefresh, prompt = STRING_TOKEN(STR_CR_AUTO_REFRESH), help = STRING_TOKEN(STR_CR_AUTO_REFRESH_HELP), option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0,flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1,flags = INTERACTIVE; endoneof; // oneof // varid = CrConfig.FailSaveBaudRate, // prompt = STRING_TOKEN(STR_CR_FAIL_SAFE_BAUDRATE), // help = STRING_TOKEN(STR_CR_FAIL_SAFE_BAUDRATE_HELP), // option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0,flags = INTERACTIVE | DEFAULT; // option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1,flags = INTERACTIVE; // endoneof; oneof varid = CrConfig.TerminalResize, prompt = STRING_TOKEN(STR_CR_TERMINAL_RESIZE), help = STRING_TOKEN(STR_CR_TERMINAL_RESIZE_HELP), option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0,flags = INTERACTIVE; option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1,flags = INTERACTIVE | DEFAULT; endoneof; endif; suppressif ideqval CrConfig.CREnable == 0; subtitle text = STRING_TOKEN(STR_BLANK_STRING); label CR_DEVICE_LABEL_START; label CR_DEVICE_LABEL_END; endif; link include = LINK_SOL_FORMSET_CLASS_GUID,; endform; //[-start-190612-IB07401110-modify]// #if 0 // // =========Form CR_DEVICE============= // form formid = CR_DEVICE_FORM_ID, title = STRING_TOKEN(STR_STR_CR_DEVICE_TITLE); subtitle text = STRING_TOKEN(STR_STR_CR_DEVICE_TITLE); subtitle text = STRING_TOKEN(STR_BLANK_STRING); oneof varid = CrConfig.CrPortConfig.PortEnable, questionid = KEY_PORT_ENABLE, prompt = STRING_TOKEN(STR_CR_PORT_ENABLE), help = STRING_TOKEN(STR_BLANK_STRING), option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1, flags = INTERACTIVE; endoneof; grayoutif ideqval CrConfig.CrPortConfig.PortEnable == 0; oneof varid = CrConfig.CrPortConfig.UseGlobalSetting, questionid = KEY_USE_GLOBAL_SETTING, prompt = STRING_TOKEN(STR_CR_USE_GLOBAL_SETTING), help = STRING_TOKEN(STR_BLANK_STRING), option text = STRING_TOKEN(STR_DISABLED_TEXT), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_ENABLED_TEXT), value = 1, flags = INTERACTIVE; endoneof; suppressif ideqval CrConfig.CrPortConfig.UseGlobalSetting == 1; oneof varid = CrConfig.CrPortConfig.TerminalType, questionid = KEY_TERMINAL_TYPE, prompt = STRING_TOKEN(STR_CR_TERMINAL_TYPE), help = STRING_TOKEN(STR_CR_TERMINAL_TYPE_HELP), option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VT100), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VT100P), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_VTUTF8), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_ANSI), value = 3, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_TERMINAL_TYPE_LOG), value = 4, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.CrPortConfig.BaudRate, questionid = KEY_BAUD_RATE, prompt = STRING_TOKEN(STR_CR_BAUD_RATE), help = STRING_TOKEN(STR_CR_BAUD_RATE_HELP), option text = STRING_TOKEN(STR_CR_BAUD_RATE_115200), value = 7, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_BAUD_RATE_57600), value = 6, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_38400), value = 5, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_19200), value = 4, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_9600), value = 3, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_4800), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_2400), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_BAUD_RATE_1200), value = 0, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.CrPortConfig.DataBits, questionid = KEY_DATA_BITS, prompt = STRING_TOKEN(STR_CR_DATA_BIT), help = STRING_TOKEN(STR_CR_DATA_BIT_HELP), option text = STRING_TOKEN(STR_CR_DATA_BIT_7), value = 7, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_DATA_BIT_8), value = 8, flags = INTERACTIVE | DEFAULT; endoneof; oneof varid = CrConfig.CrPortConfig.Parity, questionid = KEY_PARITY, prompt = STRING_TOKEN(STR_CR_PARITY), help = STRING_TOKEN(STR_CR_PARITY_HELP), option text = STRING_TOKEN(STR_CR_PARITY_NONE), value = 1, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_PARITY_EVEN), value = 2, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_PARITY_ODD), value = 3, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.CrPortConfig.StopBits, questionid = KEY_STOP_BITS, prompt = STRING_TOKEN(STR_CR_STOP_BIT), help = STRING_TOKEN(STR_CR_STOP_BIT_HELP), option text = STRING_TOKEN(STR_CR_STOP_BIT_1), value = 1, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_STOP_BIT_2), value = 3, flags = INTERACTIVE; endoneof; oneof varid = CrConfig.CrPortConfig.FlowControl, questionid = KEY_FLOW_CONTROL, prompt = STRING_TOKEN(STR_CR_FLOW_CONTROL), help = STRING_TOKEN(STR_CR_FLOW_CONTROL_HELP), option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_NONE), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_HARDWARE), value = 1, flags = INTERACTIVE; option text = STRING_TOKEN(STR_CR_FLOW_CONTROL_SOFTWARE), value = 2, flags = INTERACTIVE; endoneof; endif; endif; endform; #else #define CONCATENATE2_(X, Y) X##Y #define CONCATENATE2(X, Y) CONCATENATE2_(X, Y) #define CONCATENATE3_(X, Y, Z) X##Y##Z #define CONCATENATE3(X, Y, Z) CONCATENATE3_(X, Y, Z) #define CR_DEV_INDEX 0 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 1 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 2 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 3 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 4 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 5 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 6 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 7 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 8 #include "CrDevice.hfr" #undef CR_DEV_INDEX #define CR_DEV_INDEX 9 #include "CrDevice.hfr" #undef CR_DEV_INDEX #endif //[-end-190612-IB07401110-modify]// // // =========Form Load Default============= // //[-start-180828-IB10920058-remove]// // form // formid = 0xFFFF, title = STRING_TOKEN(STR_BLANK_STRING); // subtitle text = STRING_TOKEN(STR_BLANK_STRING); // // // // This Opcode is for F9 load default. // // // suppressif // TRUE; // numeric // varid = CrNameValueVar[0], // This numeric take NameValueVar0 as storage // questionid = KEY_SCAN_F9, // prompt = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0), // help = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0), // flags = NUMERIC_SIZE_1 | INTERACTIVE, // Size of this numeric is 1 byte // minimum = 0, // maximum = 0xff, // step = 0, // default = 0, // endnumeric; // endif; // // endform; //[-end-180828-IB10920058-remove]// //[-start-180821-IB10920058-add]// // // Load VAR default, this option will not show on Setup. // form formid = 0xFFFF, title = STRING_TOKEN(STR_BLANK_STRING); subtitle text = STRING_TOKEN(STR_BLANK_STRING); suppressif TRUE; oneof varid = CrConfig.LoadVarDefault, questionid = KEY_SCAN_F9, prompt = STRING_TOKEN(STR_BLANK_STRING), help = STRING_TOKEN(STR_BLANK_STRING), option text = STRING_TOKEN(STR_BLANK_STRING), value = 0, flags = INTERACTIVE | DEFAULT; option text = STRING_TOKEN(STR_BLANK_STRING), value = 1, flags = INTERACTIVE; endoneof; endif; endform; //[-end-180821-IB10920058-add]// endformset;