diff options
Diffstat (limited to 'Core/EM/Terminal/Terminal.sd')
-rw-r--r-- | Core/EM/Terminal/Terminal.sd | 1533 |
1 files changed, 1533 insertions, 0 deletions
diff --git a/Core/EM/Terminal/Terminal.sd b/Core/EM/Terminal/Terminal.sd new file mode 100644 index 0000000..35f2474 --- /dev/null +++ b/Core/EM/Terminal/Terminal.sd @@ -0,0 +1,1533 @@ +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2014, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** +// $Header: /Alaska/BIN/Modules/Terminal/Terminal.sd 46 6/16/14 7:52a Divyac $ +// +// $Revision: 46 $ +// +// $Date: 6/16/14 7:52a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/Terminal/Terminal.sd $ +// +// 46 6/16/14 7:52a Divyac +// [TAG] EIP172073 +// [Category] Improvement +// [Description] Setup option for Legacy Serial Redirection. +// [Files] Terminal.sd, Terminal.uni, LegacySredir_Setup.c +// +// 45 3/14/14 8:37a Anbuprakashp +// [TAG] EIP156273 +// [Category] Improvement +// [Description] Avoid Build issue happened in Non english version of +// the OS with Serial Redirection label 4.6.3_Terminal_53 +// [Files] Terminal.sd,TerminalSetup.c +// +// 44 9/04/13 3:25a Anbuprakashp +// [TAG] EIP134648 +// [Category] Bug Fix +// [Severity] Minor +// [Symptom] Build error occurs in Sharkbay platform if tokens +// "TOTAL_SIO_SERIAL_PORTS" and "TOTAL_PCI_SERIAL_PORTS" are set to 0 +// [RootCause] TerminalSetup.c file Status Variable Initialization is +// missing.Terminal.sd file, Condition (TOTAL_SERIAL_PORTS > 0) need to be +// added to avoid build error. +// [Solution] Terminal.sd file, Condition (TOTAL_SERIAL_PORTS > 0) added +// to avoid build error. +// Status variable initialzed properly. +// [Files] Terminal.sd,TerminalSetup.c +// +// 43 12/12/11 1:57a Jittenkumarp +// [TAG] EIP75982 +// [Category] New Feature +// [Description] Redirection After BIOS POST item on the setup menu +// [Files] Terminal.sd, Terminal.uni, LegacySredir.c, +// LegacySredir_Setup.c +// +// 42 9/20/11 3:04a Rajeshms +// [TAG] EIP70320 +// [Category] Bug Fix +// [Severity] Critical +// [Symptom] SPCR table is not created with EFI_SPECIFICATION_VERSION +// 0x2000A +// [RootCause] Comport was returned as 0xff from +// GetAcpiSpcrTableValues() as the PORT number is zero indexed after +// EFI_SPECIFICATION_VERSION 0x2000A. +// [Solution] The comport number is not subtracted with 1 if +// EFI_SPECIFICATION_VERSION is equal to greater than0x2000A +// [Files] Terminal.sd, TerminalSetup.c +// +// 41 9/12/11 3:11a Rajeshms +// [TAG]- EIP 63665 +// [Category]-IMPROVEMENT +// [Description]- Install Linux(Legacy OS) through remote. Some Linux +// versions are forced to text mode to redirect and some are redirected in +// graphics mode itself. It might not work for all the Linux versions as +// the Linux kernel's behave differently. +// [Files]- Terminal.sdl, Terminal.uni, Terminal.sd, LegacySredir.c, +// LegacySredir.h, LegacySredir_Setup.c, GRAPHREDIR.ASM, INT10REDIR.ASM, +// OR_MOD.ASM, OR_MOD.EQU, SREDIR.ASM +// +// 40 7/29/11 2:22a Lavanyap +// [TAG] EIP65854 +// [Category] Bug Fix +// [Severity] Minor +// [Symptom] Build errors on redefinition of symbols PORT(0-9) in some +// projects. +// [RootCause] Terminal module redefines symbols PORT(0-9). +// [Solution] Symbol definition PORTx has been changed to +// TERMINAL_PORTx. +// [Files] Terminal.sd +// +// 39 7/13/11 2:48a Rajeshms +// [TAG]- EIP 36616 +// [Category]- New Feature +// [Description]- Add Setup option for Various Putty keyPad support in +// Terminal driver. +// [Files]- Terminal.c, Terminal.h, Terminal.sd, Terminal.sdl, +// Terminal.uni, TerminalBoard.h, TerminalSetup.c, TerminalSimpleTextIn.c +// +// 38 6/21/11 7:06a Rameshr +// [TAG] - EIP 62809 +// [Category]- BUG FIX +// [Severity]- Minor +// [Symptom] - COM ports can't be select in Out-of-band mgmt port in setup +// menu,it always show COM0.. +// [RootCause]- UEFI2.1 port index starts from 0. +// [Solution] - Modified the values based on the Port0, Port1 etc +// defination. +// [Files] - Terminal.sd +// +// 37 4/12/11 4:30a Rameshr +// [TAG]- EIP 57688 +// [Category]- New Feature +// [Description]- Add Setup option for Vt-UTF8 combo key support in +// terminal driver +// [Files]- Terminal.c, Terminal.h, Terminal.sd, Terminal.sdl , +// Terminal.uni, Terminalboard.h, TerminalSetup.c, TerminalSimpletextin.c +// +// 36 1/24/11 4:05a Lavanyap +// [TAG] - EIP48183 +// [Category] - IMPROVEMENT +// [Description] - Update the Terminal eModule to utilize Setup +// Customization +// [Files] - Terminal.sd, TerminalSetupVar.h +// +// 35 11/02/10 4:17a Lavanyap +// [TAG] - EIP42299 +// [Category] - IMPROVEMENT +// [Description] - Console Redirection can support 10 COM Ports. +// [Files] - InitTerminalStrings.c, SerialIo.c, Terminal.sd, +// Terminal.sdl, Terminal.uni, TerminalSetup.c +// +// 34 9/24/10 12:40a Rameshr +// [TAG] - EIP 44736 +// [Category]- BUG FIX +// [Severity]- Major +// [Symptom] - Terminal label 44 is not building in UEFI2.1 mode +// [RootCause] - suppressif and grayoutif used in Single menu +// [Solution] - Used SUPPRESS_GRAYOUT_ENDIF to resolve the build error +// [Files] - Terminal.sd +// +// 33 6/01/10 12:29a Rameshr +// Support for Baud Rate 38400 in Terminal Driver +// EIP 38852 +// +// 32 5/03/10 12:21a Rameshr +// Issue:VT-UTF8 mode support for Console redirection with Debugger +// Solution: Serial Port attribute Setup questions added for the debugger +// console redirection port. +// EIP 37440 +// +// 31 3/31/10 12:29a Rameshr +// Recorder mode support Added. +// EIP 34388 +// +// 30 3/30/10 1:02a Rameshr +// Each Com port has SDL token for default value of console Redirection +// setup option +// EIP 15087 +// +// 29 2/15/10 12:44p Pats +// EIP 28461: Enabling Console Redirection COM4 locks SUT in POST +// Added separate controls for PCI serial ports and a separate default. +// +// +// 28 2/12/10 5:37p Felixp +// Bug fix: the code didn't compile in UEFI 2.1 mode. +// +// 27 1/20/10 4:47p Artems +// EIP 34000 - made UEFI 2.1 changes backward compatible +// +// 26 12/23/09 4:07a Rameshr +// Software flowControl Removed as SerialIO doesnt support it. +// +// 25 12/16/09 5:08p Artems +// EIP 31619 UEFI 2.1 support added +// +// 24 10/22/09 11:26a Yul +// EIP 24167 +// Add Setup question to replace SDL token for LegacyOsResolution. +// +// 23 10/21/09 11:29a Artems +// EIP 25955 - fixed switching mode mechanism +// +// 21 7/02/09 5:01p Rameshr +// Coding Standard and File header updated. +// +// 20 11/14/08 10:56a Ambikas +// +// 18 11/12/08 5:55p Ambikas +// +// 17 10/21/08 4:49p Fasihm +// Updated by adding more MANUFACTURING flags to missed setup questions. +// +// 16 8/13/08 5:56p Fasihm +// Added the Manufacturing flags to the setup questions. +// +// 15 5/13/08 3:41p Rameshraju +// Terminal Resolution 100 x 31 support Added +// +// 14 2/07/08 6:41p Ambikas +// +// 13 11/07/07 4:52p Ambikas +// We have reverted the the VfrCompile convention of 1 based array. +// Array indeces have been changed to accordingly. +// +// 12 6/12/07 3:52p Ambikas +// +// 11 6/11/07 11:35a Ambikas +// +// 10 6/05/07 6:31p Ambikas +// +// 9 6/05/07 12:43p Ambikas +// +// 8 6/05/07 12:41p Ambikas +// +// 7 6/04/07 7:26p Ambikas +// -Serial port related setup vars are now only defined if +// TOTAL_SERIAL_PORTS > 0. +// -Increased max Pci Serial Ports to 4, and so added controls for the +// additional ports. +// +// 6 5/24/07 2:32p Ambikas +// Re-organized the file using macros. +// +// 5 4/32/07 4:25p Robert +// +// 4 4/02/07 4:25p Robert +// Changed Default setup value to Disabled +// +// 3 5/05/06 5:34p Ambikas +// +// 2 12/02/05 7:44p Ambikas +// +// 1 11/11/05 2:07p Ambikas +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: Terminal.sd +// +// Description: This is the setup page 'Serial Port Console Redirection.' +// The link to the page is in the setup 'Advanced' tab. +// +//<AMI_FHDR_END> +//********************************************************************** + +#ifdef FORM_SET_TYPEDEF +#include "TerminalSetupVar.h" +#endif + +//Initialize Macro Arguments +#define PORT_NUM 0 +#define DEFAULT_CONSOLE_REDIRECTION_ENABLE 0 + +#if EFI_SPECIFICATION_VERSION>0x20000 +#define TERMINAL_PORT0 0 +#define TERMINAL_PORT1 1 +#define TERMINAL_PORT2 2 +#define TERMINAL_PORT3 3 +#define TERMINAL_PORT4 4 +#define TERMINAL_PORT5 5 +#define TERMINAL_PORT6 6 +#define TERMINAL_PORT7 7 +#define TERMINAL_PORT8 8 +#define TERMINAL_PORT9 9 +#else +#define TERMINAL_PORT0 1 +#define TERMINAL_PORT1 2 +#define TERMINAL_PORT2 3 +#define TERMINAL_PORT3 4 +#define TERMINAL_PORT4 5 +#define TERMINAL_PORT5 6 +#define TERMINAL_PORT6 7 +#define TERMINAL_PORT7 8 +#define TERMINAL_PORT8 9 +#define TERMINAL_PORT9 10 +#endif +#ifdef SETUP_DATA_DEFINITION + #if (TOTAL_SERIAL_PORTS > 0) + + UINT8 BaudRate[ TOTAL_SERIAL_PORTS ]; + UINT8 DataBits[ TOTAL_SERIAL_PORTS ]; + UINT8 Parity[ TOTAL_SERIAL_PORTS ]; + UINT8 StopBits[ TOTAL_SERIAL_PORTS ]; + UINT8 FlowControl[ TOTAL_SERIAL_PORTS ]; + UINT8 LoopbackEnable[ TOTAL_SERIAL_PORTS ]; + UINT8 ConsoleRedirectionEnable[ TOTAL_SERIAL_PORTS ]; + UINT8 TerminalType[ TOTAL_SERIAL_PORTS ]; + UINT8 VtUtf8[ TOTAL_SERIAL_PORTS ]; + UINT8 RecorderMode[ TOTAL_SERIAL_PORTS ]; + UINT8 Resolution[ TOTAL_SERIAL_PORTS ]; + UINT8 LegacyOsResolution[ TOTAL_SERIAL_PORTS ]; + UINT8 PuttyFunctionKeyPad[ TOTAL_SERIAL_PORTS ]; + UINT8 RedirectionAfterBiosPost[ TOTAL_SERIAL_PORTS ]; +#if (INSTALL_LEGACY_OS_THROUGH_REMOTE == 1) + UINT8 InstallLegacyOSthroughRemote[ TOTAL_SERIAL_PORTS ]; +#endif + + UINT8 AcpiSpcrConsoleRedirectionEnable; + UINT8 AcpiSpcrPort; + UINT8 AcpiSpcrTerminalType; + UINT8 AcpiSpcrBaudRate; + UINT8 AcpiSpcrFlowControl; + UINT8 AcpiSpcrSetupDummyVar; + #endif //(TOTAL_SERIAL_PORTS > 0) + UINT8 DebuggerConsoleRedirectionEnable; + UINT8 DebuggerTerminalType; + UINT8 ComPortforLegacy; +#endif //ifdef SETUP_DATA_DEFINITION + +//////////////////////////////////// + +#if (TOTAL_SERIAL_PORTS > 0) + #ifdef FORM_SET_VARSTORE + + varstore SERIAL_PORTS_ENABLED_VAR, + key = AUTO_ID(SERIAL_PORTS_ENABLED_VAR_KEY), + name = SerialPortsEnabledVar, + guid = TERMINAL_VAR_GUID; + + #endif //FORM_SET_VARSTORE +#endif //if (TOTAL_SERIAL_PORTS > 0) + + #ifdef FORM_SET_VARSTORE + + varstore DEBUGGER_SERIAL_PORTS_ENABLED_VAR, + key = AUTO_ID(DEBUGGER_SERIAL_PORTS_ENABLED_VAR_KEY), + name = DebuggerSerialPortsEnabledVar, + guid = DEBUGGER_TERMINAL_VAR_GUID; + + #endif //FORM_SET_VARSTORE + +#if defined(VFRCOMPILE) && !defined(CONTROLS_ARE_DEFINED) +#define CONTROL_DEFINITION +#endif +#ifdef CONTROL_DEFINITION + +#ifdef CONSOLE_REDIRECTION_SUPPORT +#if CONSOLE_REDIRECTION_SUPPORT == 1 + +#define TERMINAL_CHECKBOX_DEBUGGERCONSOLEREDIRECTIONENABLE\ + checkbox varid = SETUP_DATA.DebuggerConsoleRedirectionEnable,\ + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION),\ + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_ENABLE_HELP),\ + flags = DEFAULT_DEBUGGER_CONSOLE_REDIRECTION_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#define TERMINAL_ONEOF_DEBUGGERTERMINALTYPE\ + oneof varid = SETUP_DATA.DebuggerTerminalType,\ + prompt = STRING_TOKEN (STR_DEBUGGER_TERMINAL_TYPE),\ + help = STRING_TOKEN (STR_DEBUGGER_TERMINAL_TYPE_HELP),\ + option text = STRING_TOKEN (STR_VT100),\ + value = 0,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT100_PLUS),\ + value = 1,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT_UTF8),\ + value = 2,\ + flags = 0;\ + option text = STRING_TOKEN (STR_ANSI),\ + value = 3,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + endoneof; +#else + #define TERMINAL_CHECKBOX_DEBUGGERCONSOLEREDIRECTIONENABLE + #define TERMINAL_ONEOF_DEBUGGERTERMINALTYPE +#endif // END #if CONSOLE_REDIRECTION_SUPPORT == 1 +#else + #define TERMINAL_CHECKBOX_DEBUGGERCONSOLEREDIRECTIONENABLE + #define TERMINAL_ONEOF_DEBUGGERTERMINALTYPE +#endif // END #ifdef CONSOLE_REDIRECTION_SUPPORT + +//--------------------------------------------------------------------------- +// DEFINES USED IN PORT_SUB_PAGE MACRO START +//--------------------------------------------------------------------------- + +#if (TOTAL_SERIAL_PORTS > 0) + +#define TERMINAL_ONEOF_TERMINALTYPE(PORT_NUM)\ + oneof varid = SETUP_DATA.TerminalType[PORT_NUM],\ + prompt = STRING_TOKEN (STR_TERMINAL_TYPE),\ + help = STRING_TOKEN (STR_TERMINAL_TYPE_HELP),\ + option text = STRING_TOKEN (STR_VT100),\ + value = 0,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT100_PLUS),\ + value = 1,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT_UTF8),\ + value = 2,\ + flags = 0;\ + option text = STRING_TOKEN (STR_ANSI),\ + value = 3,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + endoneof; + +#define TERMINAL_ONEOF_BAUDRATE(PORT_NUM)\ + oneof varid = SETUP_DATA.BaudRate[PORT_NUM],\ + prompt = STRING_TOKEN (STR_BAUD_RATE),\ + help = STRING_TOKEN (STR_BAUD_RATE_HELP),\ + option text = STRING_TOKEN (STR_9600),\ + value = 3,\ + flags = 0;\ + option text = STRING_TOKEN (STR_19200),\ + value = 4,\ + flags = 0;\ + option text = STRING_TOKEN (STR_38400),\ + value = 5,\ + flags = 0;\ + option text = STRING_TOKEN (STR_57600),\ + value = 6,\ + flags = 0;\ + option text = STRING_TOKEN (STR_115200),\ + value = 7,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + endoneof; + +#define TERMINAL_ONEOF_DATABITS(PORT_NUM)\ + oneof varid = SETUP_DATA.DataBits[PORT_NUM],\ + prompt = STRING_TOKEN (STR_DATA_BITS),\ + help = STRING_TOKEN (STR_DATA_BITS_HELP),\ + option text = STRING_TOKEN (STR_7),\ + value = 7,\ + flags = 0;\ + option text = STRING_TOKEN (STR_8),\ + value = 8,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + endoneof; + +#define TERMINAL_ONEOF_PARITY(PORT_NUM)\ + oneof varid = SETUP_DATA.Parity[PORT_NUM],\ + prompt = STRING_TOKEN (STR_PARITY),\ + help = STRING_TOKEN (STR_PARITY_HELP),\ + option text = STRING_TOKEN (STR_NONE),\ + value = 1,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_EVEN),\ + value = 2,\ + flags = 0;\ + option text = STRING_TOKEN (STR_ODD),\ + value = 3,\ + flags = 0;\ + option text = STRING_TOKEN (STR_MARK),\ + value = 4,\ + flags = 0;\ + option text = STRING_TOKEN (STR_SPACE),\ + value = 5,\ + flags = 0;\ + endoneof; + +#define TERMINAL_ONEOF_STOPBITS(PORT_NUM)\ + oneof varid = SETUP_DATA.StopBits[PORT_NUM],\ + prompt = STRING_TOKEN (STR_STOP_BITS),\ + help = STRING_TOKEN (STR_STOP_BITS_HELP),\ + option text = STRING_TOKEN (STR_1),\ + value = 1,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_2),\ + value = 3,\ + flags = 0;\ + endoneof; + +#define TERMINAL_ONEOF_FLOWCONTROL(PORT_NUM)\ + oneof varid = SETUP_DATA.FlowControl[PORT_NUM],\ + prompt = STRING_TOKEN (STR_FLOW_CTRL),\ + help = STRING_TOKEN (STR_FLOW_CTRL_HELP),\ + option text = STRING_TOKEN (STR_NONE),\ + value = 0,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_HARDWARE_FLOW_CTRL),\ + value = HARDWARE_FLOW_CONTROL_SETUP_OPTION,\ + flags = 0;\ + endoneof; + +#define TERMINAL_ONEOF_VTUTF8(PORT_NUM)\ + checkbox varid = SETUP_DATA.VtUtf8[PORT_NUM],\ + prompt = STRING_TOKEN(STR_TERMINAL_VTUTF8),\ + help = STRING_TOKEN(STR_TERMINAL_VTUTF8_HELP),\ + flags = VTUTF8_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#define TERMINAL_ONEOF_RECORDERMODE(PORT_NUM)\ + checkbox varid = SETUP_DATA.RecorderMode[PORT_NUM],\ + prompt = STRING_TOKEN(STR_TERMINAL_RECORDER_MODE),\ + help = STRING_TOKEN(STR_TERMINAL_RECORDER_MODE_HELP),\ + flags = RECORDER_MODE_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#define TERMINAL_ONEOF_RESOLUTION(PORT_NUM)\ + checkbox varid = SETUP_DATA.Resolution[PORT_NUM],\ + prompt = STRING_TOKEN(STR_TERMINAL_RESOLUTION),\ + help = STRING_TOKEN(STR_TERMINAL_RESOLUTION_HELP),\ + flags = EXTENDED_RESOLUTION_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#define TERMINAL_ONEOF_LEGACYOSRESOLUTION(PORT_NUM)\ + oneof varid = SETUP_DATA.LegacyOsResolution[PORT_NUM],\ + prompt = STRING_TOKEN (STR_LEGACYOS_RESOLUTION),\ + help = STRING_TOKEN (STR_LEGACYOS_RESOLUTION_HELP),\ + option text = STRING_TOKEN (STR_80_24),\ + value = 0,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_80_25),\ + value = 1,\ + flags = 0;\ + endoneof; + +#define TERMINAL_ONEOF_PUTTYFUNCTIONKEYPAD(PORT_NUM)\ + oneof varid = SETUP_DATA.PuttyFunctionKeyPad[PORT_NUM],\ + prompt = STRING_TOKEN (STR_PUTTYFUNCTION_KEYPAD),\ + help = STRING_TOKEN (STR_PUTTYFUNCTION_KEYPAD_HELP),\ + option text = STRING_TOKEN (STR_VT100), \ + value = PUTTY_VT100, \ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; \ + option text = STRING_TOKEN (STR_LINUX), \ + value = PUTTY_LINUX, \ + flags = 0; \ + option text = STRING_TOKEN (STR_XTERMR6), \ + value = PUTTY_XTERMR6, \ + flags = 0; \ + option text = STRING_TOKEN (STR_SCO), \ + value = PUTTY_SCO, \ + flags = 0; \ + option text = STRING_TOKEN (STR_ESCN), \ + value = PUTTY_ESCN, \ + flags = 0; \ + option text = STRING_TOKEN (STR_VT400), \ + value = PUTTY_VT400, \ + flags = 0; \ + endoneof; + +#if (INSTALL_LEGACY_OS_THROUGH_REMOTE == 1) +#define TERMINAL_ONEOF_INSTALLLEGACYOSTHROUGHREMOTE(PORT_NUM)\ + checkbox varid = SETUP_DATA.InstallLegacyOSthroughRemote[PORT_NUM],\ + prompt = STRING_TOKEN(STR_FORCE_SYSTEM_VGA_TO_TEXT_MODE),\ + help = STRING_TOKEN(STR_FORCE_SYSTEM_VGA_TO_TEXT_MODE_HELP),\ + flags = INSTALL_LEGACY_OS_THROUGH_REMOTE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; +#else +#define TERMINAL_ONEOF_INSTALLLEGACYOSTHROUGHREMOTE(PORT_NUM) +#endif + +#define TERMINAL_ONEOF_REDIRECTIONAFTERBIOSENABLE(PORT_NUM)\ + oneof varid = SETUP_DATA.RedirectionAfterBiosPost[PORT_NUM],\ + prompt = STRING_TOKEN (STR_REDIRECTION_AFTER_BIOS_POST),\ + help = STRING_TOKEN (STR_REDIRECTION_AFTER_BIOS_POST_HELP),\ + option text = STRING_TOKEN (STR_ALWAY_ENABLE),\ + value = 0,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_BOOTLOADER),\ + value = 1,\ + flags = 0;\ + endoneof; +//--------------------------------------------------------------------------- +// DEFINES USED IN PORT_SUB_PAGE MACRO END +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// DEFINES USED IN PORT_CONTROLS and PORT_CONTROLS_PCI MACRO START +//--------------------------------------------------------------------------- + +#define TERMINAL_ONEOF_CONSOLEREDIRECTIONENABLE(PORT_NUM,DEFAULT_CONSOLE_REDIRECTION_ENABLE)\ + checkbox varid = SETUP_DATA.ConsoleRedirectionEnable[PORT_NUM],\ + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION),\ + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_ENABLE_HELP),\ + flags = DEFAULT_CONSOLE_REDIRECTION_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#endif +//--------------------------------------------------------------------------- +// DEFINES USED IN PORT_CONTROLS and PORT_CONTROLS_PCI MACRO END +//--------------------------------------------------------------------------- + +#if (TOTAL_SERIAL_PORTS > 0) + +#define TERMINAL_CHECKBOX_ACPISPCRCONSOLEREDIRECTIONENABLE\ + checkbox varid = SETUP_DATA.AcpiSpcrConsoleRedirectionEnable,\ + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION),\ + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_ENABLE_HELP),\ + flags = DEFAULT_ACPI_SPCR_CONSOLE_REDIRECTION_ENABLE | MANUFACTURING | RESET_REQUIRED,\ + endcheckbox; + +#define TERMINAL_ONEOF_ACPISPCRTERMINALTYPE\ + oneof varid = SETUP_DATA.AcpiSpcrTerminalType,\ + prompt = STRING_TOKEN (STR_TERMINAL_TYPE),\ + help = STRING_TOKEN (STR_OUT_OF_BAND_MGMT_TERMINAL_TYPE_HELP),\ + option text = STRING_TOKEN (STR_VT100),\ + value = 0,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT100_PLUS),\ + value = 1,\ + flags = 0;\ + option text = STRING_TOKEN (STR_VT_UTF8),\ + value = 2,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_ANSI),\ + value = 3,\ + flags = 0;\ + endoneof; + +#define TERMINAL_ONEOF_ACPISPCRBAUDRATE\ + oneof varid = SETUP_DATA.AcpiSpcrBaudRate,\ + prompt = STRING_TOKEN (STR_BAUD_RATE),\ + help = STRING_TOKEN (STR_BAUD_RATE_HELP),\ + option text = STRING_TOKEN (STR_9600),\ + value = 3,\ + flags = 0;\ + option text = STRING_TOKEN (STR_19200),\ + value = 4,\ + flags = 0;\ + option text = STRING_TOKEN (STR_57600),\ + value = 6,\ + flags = 0;\ + option text = STRING_TOKEN (STR_115200),\ + value = 7,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + endoneof; + +#define TERMINAL_ONEOF_ACPISPCRFLOWCONTROL\ + oneof varid = SETUP_DATA.AcpiSpcrFlowControl,\ + prompt = STRING_TOKEN (STR_FLOW_CTRL),\ + help = STRING_TOKEN (STR_FLOW_CTRL_HELP),\ + option text = STRING_TOKEN (STR_NONE),\ + value = 0,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_HARDWARE_FLOW_CTRL),\ + value = HARDWARE_FLOW_CONTROL_SETUP_OPTION,\ + flags = 0;\ + option text = STRING_TOKEN (STR_SOFTWARE_FLOW_CTRL),\ + value = SOFTWARE_FLOW_CONTROL_SETUP_OPTION,\ + flags = 0;\ + endoneof; + +#else + #define TERMINAL_CHECKBOX_ACPISPCRCONSOLEREDIRECTIONENABLE + #define TERMINAL_ONEOF_ACPISPCRTERMINALTYPE + #define TERMINAL_ONEOF_ACPISPCRBAUDRATE + #define TERMINAL_ONEOF_ACPISPCRFLOWCONTROL +#endif // END #if (TOTAL_SERIAL_PORTS > 0) + + +#if (TOTAL_SERIAL_PORTS > 0) + +//--------------------------------------------------------------------------- +// PCI PORT OPTION TEXT INDEX DEFINITION +//--------------------------------------------------------------------------- + +#if (TOTAL_PCI_SERIAL_PORTS > 0) && (TOTAL_SIO_SERIAL_PORTS == 0) + +#define PCI_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT0),\ + value = PCI_SERIAL_PORT_0_INDEX,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; + +#else + +#define PCI_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT0),\ + value = PCI_SERIAL_PORT_0_INDEX,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS > 0) && (TOTAL_SIO_SERIAL_PORTS == 0) + + +//--------------------------------------------------------------------------- +// PCI PORT OPTION TEXT DEFINITION START +//--------------------------------------------------------------------------- + +#if (TOTAL_PCI_SERIAL_PORTS == 0) + + #define PCI_PORT_OPTION_TEXT + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS == 0) + +#if (TOTAL_PCI_SERIAL_PORTS == 1) + +#define PCI_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT_INDEX + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS == 1) + +#if (TOTAL_PCI_SERIAL_PORTS == 2) + +#define PCI_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT1),\ + value = PCI_SERIAL_PORT_1_INDEX,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS == 2) + +#if (TOTAL_PCI_SERIAL_PORTS == 3) + +#define PCI_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT1),\ + value = PCI_SERIAL_PORT_1_INDEX,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT2),\ + value = PCI_SERIAL_PORT_2_INDEX,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS == 3) + +#if (TOTAL_PCI_SERIAL_PORTS == 4) + +#define PCI_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT1),\ + value = PCI_SERIAL_PORT_1_INDEX,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT2),\ + value = PCI_SERIAL_PORT_2_INDEX,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_PCI_SERIAL_PORT3),\ + value = PCI_SERIAL_PORT_3_INDEX,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_PCI_SERIAL_PORTS == 4) + +//--------------------------------------------------------------------------- +// PCI PORT OPTION TEXT DEFINITION END +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// SIO PORT OPTION TEXT INDEX DEFINITION START +//--------------------------------------------------------------------------- + +#if (TOTAL_SIO_SERIAL_PORTS > 0) + +#define SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT0),\ + value = TERMINAL_PORT0,\ + flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS > 0) + +//--------------------------------------------------------------------------- +// SIO PORT OPTION TEXT INDEX DEFINITION END +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// SIO PORT OPTION TEXT DEFINITION START +//--------------------------------------------------------------------------- + +#if (TOTAL_SIO_SERIAL_PORTS == 0) + + #define SIO_PORT_OPTION_TEXT + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 0) + +#if (TOTAL_SIO_SERIAL_PORTS == 1) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 1) + +#if (TOTAL_SIO_SERIAL_PORTS == 2) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 2) + +#if (TOTAL_SIO_SERIAL_PORTS == 3) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 3) + +#if (TOTAL_SIO_SERIAL_PORTS == 4) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 4) + +#if (TOTAL_SIO_SERIAL_PORTS == 5) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 5) + +#if (TOTAL_SIO_SERIAL_PORTS == 6) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT5),\ + value = TERMINAL_PORT5,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 6) + +#if (TOTAL_SIO_SERIAL_PORTS == 7) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT5),\ + value = TERMINAL_PORT5,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT6),\ + value = TERMINAL_PORT6,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 7) + +#if (TOTAL_SIO_SERIAL_PORTS == 8) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT5),\ + value = TERMINAL_PORT5,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT6),\ + value = TERMINAL_PORT6,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT7),\ + value = TERMINAL_PORT7,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 8) + +#if (TOTAL_SIO_SERIAL_PORTS == 9) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT5),\ + value = TERMINAL_PORT5,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT6),\ + value = TERMINAL_PORT6,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT7),\ + value = TERMINAL_PORT7,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT8),\ + value = TERMINAL_PORT8,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 9) + +#if (TOTAL_SIO_SERIAL_PORTS == 10) + +#define SIO_PORT_OPTION_TEXT\ + SIO_PORT_OPTION_TEXT_INDEX\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT1),\ + value = TERMINAL_PORT1,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT2),\ + value = TERMINAL_PORT2,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT3),\ + value = TERMINAL_PORT3,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT4),\ + value = TERMINAL_PORT4,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT5),\ + value = TERMINAL_PORT5,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT6),\ + value = TERMINAL_PORT6,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT7),\ + value = TERMINAL_PORT7,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT8),\ + value = TERMINAL_PORT8,\ + flags = RESET_REQUIRED;\ + option text = STRING_TOKEN (STR_SIO_SERIAL_PORT9),\ + value = TERMINAL_PORT9,\ + flags = RESET_REQUIRED; + +#endif // END #if (TOTAL_SIO_SERIAL_PORTS == 10) + +#endif // END #if () + +//--------------------------------------------------------------------------- +// SIO PORT OPTION TEXT DEFINITION END +//--------------------------------------------------------------------------- + + +//--------------------------------------------------------------------------- +// AcpiSpcrPort VARIABLE DEFINITION START +//--------------------------------------------------------------------------- + +#if (TOTAL_SERIAL_PORTS > 0) + +#define TERMINAL_ONEOF_ACPISPCRPORT\ + oneof varid = SETUP_DATA.AcpiSpcrPort,\ + prompt = STRING_TOKEN (STR_OUT_OF_BAND_MANAGEMENT_PORT),\ + help = STRING_TOKEN (STR_OUT_OF_BAND_MANAGEMENT_PORT_HELP),\ + SIO_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT\ + endoneof; + +#endif // ((TOTAL_SERIAL_PORTS > 0) + +#ifndef TERMINAL_ONEOF_ACPISPCRPORT + #define TERMINAL_ONEOF_ACPISPCRPORT +#endif // END #ifndef TERMINAL_ONEOF_ACPISPCRPORT + +//--------------------------------------------------------------------------- +// AcpiSpcrPort VARIABLE DEFINITION END +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// ComPortforLegacy VARIABLE DEFINITION START +//--------------------------------------------------------------------------- + +#if (TOTAL_SERIAL_PORTS > 1) + +#define TERMINAL_ONEOF_LEGACYPORT\ + oneof varid = SETUP_DATA.ComPortforLegacy,\ + prompt = STRING_TOKEN (STR_COM_FOR_LEGACY_REDIRECTION),\ + help = STRING_TOKEN (STR_COM_FOR_LEGACY_REDIRECTION_HELP),\ + SIO_PORT_OPTION_TEXT\ + PCI_PORT_OPTION_TEXT\ + endoneof; + +#endif // END #if (TOTAL_SERIAL_PORTS > 1) + +#ifndef TERMINAL_ONEOF_LEGACYPORT + #define TERMINAL_ONEOF_LEGACYPORT +#endif // END #ifndef TERMINAL_ONEOF_LEGACYPORT + +//--------------------------------------------------------------------------- +// ComPortforLegacy VARIABLE DEFINITION END +//--------------------------------------------------------------------------- + +#endif // END #ifdef CONTROL_DEFINITION + +#ifdef CONTROLS_WITH_DEFAULTS + TERMINAL_CHECKBOX_DEBUGGERCONSOLEREDIRECTIONENABLE + TERMINAL_ONEOF_DEBUGGERTERMINALTYPE +#if (TOTAL_SERIAL_PORTS > 0) + TERMINAL_ONEOF_TERMINALTYPE(PORT_NUM) + TERMINAL_ONEOF_BAUDRATE(PORT_NUM) + TERMINAL_ONEOF_DATABITS(PORT_NUM) + TERMINAL_ONEOF_PARITY(PORT_NUM) + TERMINAL_ONEOF_STOPBITS(PORT_NUM) + TERMINAL_ONEOF_FLOWCONTROL(PORT_NUM) + TERMINAL_ONEOF_VTUTF8(PORT_NUM) + TERMINAL_ONEOF_RECORDERMODE(PORT_NUM) + TERMINAL_ONEOF_RESOLUTION(PORT_NUM) + TERMINAL_ONEOF_LEGACYOSRESOLUTION(PORT_NUM) + TERMINAL_ONEOF_PUTTYFUNCTIONKEYPAD(PORT_NUM) + TERMINAL_ONEOF_REDIRECTIONAFTERBIOSENABLE(PORT_NUM) +#if (INSTALL_LEGACY_OS_THROUGH_REMOTE == 1) + TERMINAL_ONEOF_INSTALLLEGACYOSTHROUGHREMOTE(PORT_NUM) +#endif + TERMINAL_ONEOF_CONSOLEREDIRECTIONENABLE(PORT_NUM,DEFAULT_CONSOLE_REDIRECTION_ENABLE) + TERMINAL_CHECKBOX_ACPISPCRCONSOLEREDIRECTIONENABLE + TERMINAL_ONEOF_ACPISPCRTERMINALTYPE + TERMINAL_ONEOF_ACPISPCRBAUDRATE + TERMINAL_ONEOF_ACPISPCRFLOWCONTROL + TERMINAL_ONEOF_ACPISPCRPORT +#endif +#endif // END #ifdef CONTROLS_WITH_DEFAULTS +//////////////////////////////////// + +#ifdef ADVANCED_FORM_SET + +#ifndef SUPPRESS_GRAYOUT_ENDIF //old Core +#define SUPPRESS_GRAYOUT_ENDIF endif; +#endif + + + #ifdef FORM_SET_GOTO + goto TERMINAL_FORM_ID, + prompt = STRING_TOKEN(STR_TERMINAL_FORM_TITLE), + help = STRING_TOKEN(STR_TERMINAL_FORM_TITLE); + #endif + + + #ifdef FORM_SET_FORM + + #ifndef TERMINAL_FORM_MAIN + #define TERMINAL_FORM_MAIN + form formid = AUTO_ID(TERMINAL_FORM_ID), + title = STRING_TOKEN(STR_TERMINAL_FORM_TITLE); + +//////////////////////////////////// + +#if (TOTAL_SERIAL_PORTS == 0) + + SEPARATOR + SUBTITLE(STRING_TOKEN(STR_NO_SERIAL_PORTS_PRESENT)) + +#else + +//////////////////////////////////// + +#define PORT_CONTROLS(SUBTITLE_STR_TOKEN, FORM_ID, PORT_NUM,DEFAULT_CONSOLE_REDIRECTION_ENABLE) \ + SEPARATOR \ + SUBTITLE(SUBTITLE_STR_TOKEN) \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==1; \ + text \ + help = STRING_TOKEN(STR_BLANK), \ + text = STRING_TOKEN(STR_CONSOLE_REDIRECTION), \ + text = STRING_TOKEN(STR_PORT_IS_DISABLED), \ + flags = 0, \ + key = 0; \ + endif; \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==0; \ + TERMINAL_ONEOF_CONSOLEREDIRECTIONENABLE(PORT_NUM,DEFAULT_CONSOLE_REDIRECTION_ENABLE) \ + endif; \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==0; \ + grayoutif ideqval SETUP_DATA.ConsoleRedirectionEnable[PORT_NUM] == 0; \ + goto FORM_ID, \ + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS), \ + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS_HELP); \ + SUPPRESS_GRAYOUT_ENDIF + +#define PORT_CONTROLS_PCI(SUBTITLE_STR_TOKEN, FORM_ID, PORT_NUM, DEFAULT_PCI_CONSOLE_REDIRECTION_ENABLE) \ + SEPARATOR \ + SUBTITLE(SUBTITLE_STR_TOKEN) \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==1; \ + text \ + help = STRING_TOKEN(STR_BLANK), \ + text = STRING_TOKEN(STR_CONSOLE_REDIRECTION), \ + text = STRING_TOKEN(STR_PORT_IS_DISABLED), \ + flags = 0, \ + key = 0; \ + endif; \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==0; \ + TERMINAL_ONEOF_CONSOLEREDIRECTIONENABLE(PORT_NUM,DEFAULT_PCI_CONSOLE_REDIRECTION_ENABLE) \ + endif; \ +\ + suppressif ideqval SERIAL_PORTS_ENABLED_VAR.PortsEnabled[PORT_NUM]==0; \ + grayoutif ideqval SETUP_DATA.ConsoleRedirectionEnable[PORT_NUM] == 0; \ + goto FORM_ID, \ + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS), \ + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS_HELP); \ + SUPPRESS_GRAYOUT_ENDIF + +#if (TOTAL_SIO_SERIAL_PORTS > 0) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT0), COM0_FORM_ID, TERMINAL_PORT0, COM0_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 1) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT1), COM1_FORM_ID, TERMINAL_PORT1, COM1_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 2) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT2), COM2_FORM_ID, TERMINAL_PORT2, COM2_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 3) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT3), COM3_FORM_ID, TERMINAL_PORT3, COM3_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 4) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT4), COM4_FORM_ID, TERMINAL_PORT4, COM4_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 5) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT5), COM5_FORM_ID, TERMINAL_PORT5, COM5_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 6) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT6), COM6_FORM_ID, TERMINAL_PORT6, COM6_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 7) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT7), COM7_FORM_ID, TERMINAL_PORT7, COM7_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 8) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT8), COM8_FORM_ID, TERMINAL_PORT8, COM8_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 9) + PORT_CONTROLS(STRING_TOKEN(STR_SIO_SERIAL_PORT9), COM9_FORM_ID, TERMINAL_PORT9, COM9_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +//////////////////////////////////// + +#if (TOTAL_PCI_SERIAL_PORTS > 0) + PORT_CONTROLS_PCI(STRING_TOKEN(STR_PCI_SERIAL_PORT0), PCI_SERIAL0_FORM_ID, + PCI_SERIAL_PORT_0_INDEX, PCI0_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 1) + PORT_CONTROLS_PCI(STRING_TOKEN(STR_PCI_SERIAL_PORT1), PCI_SERIAL1_FORM_ID, + PCI_SERIAL_PORT_1_INDEX, PCI1_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 2) + PORT_CONTROLS_PCI(STRING_TOKEN(STR_PCI_SERIAL_PORT2), PCI_SERIAL2_FORM_ID, + PCI_SERIAL_PORT_2_INDEX, PCI2_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 3) + PORT_CONTROLS_PCI(STRING_TOKEN(STR_PCI_SERIAL_PORT3), PCI_SERIAL3_FORM_ID, + PCI_SERIAL_PORT_3_INDEX, PCI3_DEFAULT_CONSOLE_REDIRECTION_ENABLE) +#endif + +#endif +//////////////////////////////////// + + SEPARATOR +#ifdef CONSOLE_REDIRECTION_SUPPORT +#if CONSOLE_REDIRECTION_SUPPORT == 1 + + SUBTITLE(STRING_TOKEN(STR_DEBUGGER_TERMINAL)) + + suppressif ideqval DEBUGGER_SERIAL_PORTS_ENABLED_VAR.PortEnabled == 1; + text + help = STRING_TOKEN(STR_BLANK), + text = STRING_TOKEN(STR_CONSOLE_REDIRECTION), + text = STRING_TOKEN(STR_PORT_IS_DISABLED), + flags = 0, + key = 0; + endif; + + + suppressif ideqval DEBUGGER_SERIAL_PORTS_ENABLED_VAR.PortEnabled==0; + TERMINAL_CHECKBOX_DEBUGGERCONSOLEREDIRECTIONENABLE + endif; + + suppressif ideqval DEBUGGER_SERIAL_PORTS_ENABLED_VAR.PortEnabled==0; + grayoutif ideqval SETUP_DATA.DebuggerConsoleRedirectionEnable == 0; + TERMINAL_ONEOF_DEBUGGERTERMINALTYPE + SUPPRESS_GRAYOUT_ENDIF + + SEPARATOR +#endif +#endif + + +#if (TOTAL_SERIAL_PORTS > 0) + SUBTITLE(STRING_TOKEN(STR_LEGACY_CONSOLE_REDIRECTION)) + + goto LEGACYSREDIR_FORM_ID, + prompt = STRING_TOKEN(STR_LEGACY_CONSOLE_REDIRECTION_SETTINGS), + help = STRING_TOKEN(STR_LEGACY_CONSOLE_REDIRECTION_SETTINGS); + + SEPARATOR +#endif + +#if (TOTAL_SERIAL_PORTS > 0) + SUBTITLE(STRING_TOKEN(STR_SERIAL_PORT_FOR_OUT_OF_BAND_MGMT)) +#else + SUBTITLE(STRING_TOKEN(STR_NO_SERIAL_PORT_FOR_OUT_OF_BAND_MGMT)) +#endif + + SUBTITLE(STRING_TOKEN(STR_EMERGENCY_MANAGEMENT_SERIVCES_EMS)) + +#if (TOTAL_SERIAL_PORTS > 0) + + TERMINAL_CHECKBOX_ACPISPCRCONSOLEREDIRECTIONENABLE + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + goto SPCR_FORM_ID, + prompt = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS), + help = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS_HELP); + endif; + +#endif + endform; +#endif // END #if TERMINAL_FORM_MAIN + + #ifndef TERMINAL_FORM_SPCR + #define TERMINAL_FORM_SPCR + + form formid = AUTO_ID(SPCR_FORM_ID), + title = STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS); + +#if ((TOTAL_SERIAL_PORTS == 1) && (TOTAL_SIO_SERIAL_PORTS == 1)) + + suppressif ideqval SETUP_DATA.AcpiSpcrSetupDummyVar == 0; + TERMINAL_ONEOF_ACPISPCRPORT + endif; + + text + help = STRING_TOKEN(STR_OUT_OF_BAND_MANAGEMENT_PORT_HELP), + text = STRING_TOKEN(STR_OUT_OF_BAND_MANAGEMENT_PORT), + text = STRING_TOKEN(STR_SIO_SERIAL_PORT0), + flags = 0, + key = 0; + +#endif //if ((TOTAL_SERIAL_PORTS == 1) && (TOTAL_SIO_SERIAL_PORTS == 1)) + +#if ((TOTAL_SERIAL_PORTS == 1) && (TOTAL_PCI_SERIAL_PORTS == 1)) + + suppressif ideqval SETUP_DATA.AcpiSpcrSetupDummyVar == 0; + TERMINAL_ONEOF_ACPISPCRPORT + endif; + + text + help = STRING_TOKEN(STR_OUT_OF_BAND_MANAGEMENT_PORT_HELP), + text = STRING_TOKEN(STR_OUT_OF_BAND_MANAGEMENT_PORT), + text = STRING_TOKEN(STR_PCI_SERIAL_PORT0), + flags = 0, + key = 0; + +#endif //if ((TOTAL_SERIAL_PORTS == 1) && (TOTAL_PCI_SERIAL_PORTS == 1)) + +#if (TOTAL_SERIAL_PORTS > 1) + + TERMINAL_ONEOF_ACPISPCRPORT + +#endif //if (TOTAL_SERIAL_PORTS > 1) + +#if (TOTAL_SERIAL_PORTS > 0) + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + TERMINAL_ONEOF_ACPISPCRTERMINALTYPE + endif; + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + TERMINAL_ONEOF_ACPISPCRBAUDRATE + endif; + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + TERMINAL_ONEOF_ACPISPCRFLOWCONTROL + endif; + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + text + help = STRING_TOKEN(STR_DATA_BITS_HELP), + text = STRING_TOKEN(STR_DATA_BITS), + text = STRING_TOKEN(STR_8), + flags = 0, + key = 0; + endif; + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + text + help = STRING_TOKEN(STR_PARITY_HELP), + text = STRING_TOKEN(STR_PARITY), + text = STRING_TOKEN(STR_NONE), + flags = 0, + key = 0; + endif; + + grayoutif ideqval SETUP_DATA.AcpiSpcrConsoleRedirectionEnable == 0; + text + help = STRING_TOKEN(STR_STOP_BITS_HELP), + text = STRING_TOKEN(STR_STOP_BITS), + text = STRING_TOKEN(STR_1), + flags = 0, + key = 0; + endif; + +#endif //if (TOTAL_SERIAL_PORTS > 0) + + endform; + +#endif // END #if TERMINAL_FORM_SPCR + +#ifndef LEGACYSREDIR_FORM +#define LEGACYSREDIR_FORM + + form formid = AUTO_ID(LEGACYSREDIR_FORM_ID), + title = STRING_TOKEN(STR_LEGACY_CONSOLE_REDIRECTION_SETTINGS); + + TERMINAL_ONEOF_LEGACYPORT + + endform; +#endif // END #if LEGACYSREDIR_FORM + + + + +#endif //ifdef FORM_SET_FORM + + +#define PORT_SUB_PAGE(TITLE_STR_TOKEN, SUBTITLE_STR_TOKEN, \ + FORM_ID, PORT_NUM) \ +\ + form formid = FORM_ID, \ + title = TITLE_STR_TOKEN; \ +\ + SUBTITLE_STR_TOKEN \ + SUBTITLE(STRING_TOKEN(STR_CONSOLE_REDIRECTION_SETTINGS)) \ + SEPARATOR \ +\ + TERMINAL_ONEOF_TERMINALTYPE(PORT_NUM) \ +\ + TERMINAL_ONEOF_BAUDRATE(PORT_NUM) \ +\ + TERMINAL_ONEOF_DATABITS(PORT_NUM) \ +\ + TERMINAL_ONEOF_PARITY(PORT_NUM) \ +\ + TERMINAL_ONEOF_STOPBITS(PORT_NUM) \ +\ + TERMINAL_ONEOF_FLOWCONTROL(PORT_NUM) \ +\ + TERMINAL_ONEOF_VTUTF8(PORT_NUM) \ +\ + TERMINAL_ONEOF_RECORDERMODE(PORT_NUM) \ +\ + TERMINAL_ONEOF_RESOLUTION(PORT_NUM) \ +\ + TERMINAL_ONEOF_LEGACYOSRESOLUTION(PORT_NUM) \ +\ + TERMINAL_ONEOF_PUTTYFUNCTIONKEYPAD(PORT_NUM) \ +\ + TERMINAL_ONEOF_INSTALLLEGACYOSTHROUGHREMOTE(PORT_NUM)\ +\ + TERMINAL_ONEOF_REDIRECTIONAFTERBIOSENABLE(PORT_NUM)\ +\ + SEPARATOR \ +\ + endform; + +//////////////////////////////////// + +#if (TOTAL_SIO_SERIAL_PORTS > 0) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT0), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT0)), + AUTO_ID(COM0_FORM_ID), TERMINAL_PORT0) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 1) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT1), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT1)), + AUTO_ID(COM1_FORM_ID), TERMINAL_PORT1) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 2) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT2), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT2)), + AUTO_ID(COM2_FORM_ID), TERMINAL_PORT2) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 3) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT3), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT3)), + AUTO_ID(COM3_FORM_ID), TERMINAL_PORT3) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 4) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT4), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT4)), + AUTO_ID(COM4_FORM_ID), TERMINAL_PORT4) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 5) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT5), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT5)), + AUTO_ID(COM5_FORM_ID), TERMINAL_PORT5) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 6) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT6), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT6)), + AUTO_ID(COM6_FORM_ID), TERMINAL_PORT6) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 7) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT7), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT7)), + AUTO_ID(COM7_FORM_ID), TERMINAL_PORT7) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 8) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT8), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT8)), + AUTO_ID(COM8_FORM_ID), TERMINAL_PORT8) + #endif +#endif + +#if (TOTAL_SIO_SERIAL_PORTS > 9) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_SIO_SERIAL_PORT9), + SUBTITLE(STRING_TOKEN(STR_SIO_SERIAL_PORT9)), + AUTO_ID(COM9_FORM_ID), TERMINAL_PORT9) + #endif +#endif + +//////////////////////////////////// + +#if (TOTAL_PCI_SERIAL_PORTS > 0) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_PCI_SERIAL_PORT0), + SUBTITLE(STRING_TOKEN(STR_PCI_SERIAL_PORT0)), + AUTO_ID(PCI_SERIAL0_FORM_ID), PCI_SERIAL_PORT_0_INDEX) + #endif +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 1) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_PCI_SERIAL_PORT1), + SUBTITLE(STRING_TOKEN(STR_PCI_SERIAL_PORT1)), + AUTO_ID(PCI_SERIAL1_FORM_ID), PCI_SERIAL_PORT_1_INDEX) + #endif +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 2) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_PCI_SERIAL_PORT2), + SUBTITLE(STRING_TOKEN(STR_PCI_SERIAL_PORT2)), + AUTO_ID(PCI_SERIAL2_FORM_ID), PCI_SERIAL_PORT_2_INDEX) + #endif +#endif + +#if (TOTAL_PCI_SERIAL_PORTS > 3) + #ifdef FORM_SET_FORM + PORT_SUB_PAGE(STRING_TOKEN(STR_PCI_SERIAL_PORT3), + SUBTITLE(STRING_TOKEN(STR_PCI_SERIAL_PORT3)), + AUTO_ID(PCI_SERIAL3_FORM_ID), PCI_SERIAL_PORT_3_INDEX) + #endif +#endif +//////////////////////////////////// + +#endif //ifdef ADVANCED_FORM_SET + +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2014, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** |