Home | History | Annotate | Download | only in BootMaint
      1 /** @file
      2   Define some data used for Boot Maint
      3 
      4 Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions of the BSD License
      7 which accompanies this distribution.  The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #include "BootMaint.h"
     16 
     17 VOID                *mStartOpCodeHandle = NULL;
     18 VOID                *mEndOpCodeHandle = NULL;
     19 EFI_IFR_GUID_LABEL  *mStartLabel = NULL;
     20 EFI_IFR_GUID_LABEL  *mEndLabel = NULL;
     21 
     22 STRING_DEPOSITORY   *FileOptionStrDepository;
     23 STRING_DEPOSITORY   *ConsoleOptionStrDepository;
     24 STRING_DEPOSITORY   *BootOptionStrDepository;
     25 STRING_DEPOSITORY   *BootOptionHelpStrDepository;
     26 STRING_DEPOSITORY   *DriverOptionStrDepository;
     27 STRING_DEPOSITORY   *DriverOptionHelpStrDepository;
     28 STRING_DEPOSITORY   *TerminalStrDepository;
     29 
     30 ///
     31 /// Terminal type string token storage
     32 ///
     33 UINT16              TerminalType[] = {
     34   STRING_TOKEN(STR_COM_TYPE_0),
     35   STRING_TOKEN(STR_COM_TYPE_1),
     36   STRING_TOKEN(STR_COM_TYPE_2),
     37   STRING_TOKEN(STR_COM_TYPE_3),
     38 };
     39 
     40 ///
     41 /// Flow Control type string token storage
     42 ///
     43 UINT16              mFlowControlType[2] = {
     44   STRING_TOKEN(STR_NONE_FLOW_CONTROL),
     45   STRING_TOKEN(STR_HARDWARE_FLOW_CONTROL)
     46 };
     47 
     48 UINT32              mFlowControlValue[2] = {
     49   0,
     50   UART_FLOW_CONTROL_HARDWARE
     51 };
     52 
     53 ///
     54 /// File system selection menu
     55 ///
     56 BM_MENU_OPTION      FsOptionMenu = {
     57   BM_MENU_OPTION_SIGNATURE,
     58   {NULL},
     59   0
     60 };
     61 
     62 ///
     63 /// Console Input Device Selection Menu
     64 ///
     65 BM_MENU_OPTION      ConsoleInpMenu = {
     66   BM_MENU_OPTION_SIGNATURE,
     67   {NULL},
     68   0
     69 };
     70 
     71 ///
     72 /// Console Output Device Selection Menu
     73 ///
     74 BM_MENU_OPTION      ConsoleOutMenu = {
     75   BM_MENU_OPTION_SIGNATURE,
     76   {NULL},
     77   0
     78 };
     79 
     80 ///
     81 /// Error Output Device Selection Menu
     82 ///
     83 BM_MENU_OPTION      ConsoleErrMenu = {
     84   BM_MENU_OPTION_SIGNATURE,
     85   {NULL},
     86   0
     87 };
     88 
     89 ///
     90 /// Boot Option from variable Menu
     91 ///
     92 BM_MENU_OPTION      BootOptionMenu = {
     93   BM_MENU_OPTION_SIGNATURE,
     94   {NULL},
     95   0
     96 };
     97 
     98 ///
     99 /// Driver Option from variable menu
    100 ///
    101 BM_MENU_OPTION      DriverOptionMenu = {
    102   BM_MENU_OPTION_SIGNATURE,
    103   {NULL},
    104   0
    105 };
    106 
    107 ///
    108 /// Legacy FD Info from LegacyBios.GetBbsInfo()
    109 ///
    110 BM_MENU_OPTION      LegacyFDMenu = {
    111   BM_MENU_OPTION_SIGNATURE,
    112   {NULL},
    113   0
    114 };
    115 
    116 ///
    117 /// Legacy HD Info from LegacyBios.GetBbsInfo()
    118 ///
    119 BM_MENU_OPTION      LegacyHDMenu = {
    120   BM_MENU_OPTION_SIGNATURE,
    121   {NULL},
    122   0
    123 };
    124 
    125 ///
    126 /// Legacy CD Info from LegacyBios.GetBbsInfo()
    127 ///
    128 BM_MENU_OPTION      LegacyCDMenu = {
    129   BM_MENU_OPTION_SIGNATURE,
    130   {NULL},
    131   0
    132 };
    133 
    134 ///
    135 /// Legacy NET Info from LegacyBios.GetBbsInfo()
    136 ///
    137 BM_MENU_OPTION      LegacyNETMenu = {
    138   BM_MENU_OPTION_SIGNATURE,
    139   {NULL},
    140   0
    141 };
    142 
    143 ///
    144 /// Legacy NET Info from LegacyBios.GetBbsInfo()
    145 ///
    146 BM_MENU_OPTION      LegacyBEVMenu = {
    147   BM_MENU_OPTION_SIGNATURE,
    148   {NULL},
    149   0
    150 };
    151 
    152 ///
    153 /// Files and sub-directories in current directory menu
    154 ///
    155 BM_MENU_OPTION      DirectoryMenu = {
    156   BM_MENU_OPTION_SIGNATURE,
    157   {NULL},
    158   0
    159 };
    160 
    161 ///
    162 /// Handles in current system selection menu
    163 ///
    164 BM_MENU_OPTION      DriverMenu = {
    165   BM_MENU_OPTION_SIGNATURE,
    166   {NULL},
    167   0
    168 };
    169 
    170 BM_MENU_OPTION      TerminalMenu = {
    171   BM_MENU_OPTION_SIGNATURE,
    172   {NULL},
    173   0
    174 };
    175 
    176 ///
    177 /// Value and string token correspondency for BaudRate
    178 ///
    179 COM_ATTR            BaudRateList[19] = {
    180   {
    181     115200,
    182     STRING_TOKEN(STR_COM_BAUD_RATE_0)
    183   },
    184   {
    185     57600,
    186     STRING_TOKEN(STR_COM_BAUD_RATE_1)
    187   },
    188   {
    189     38400,
    190     STRING_TOKEN(STR_COM_BAUD_RATE_2)
    191   },
    192   {
    193     19200,
    194     STRING_TOKEN(STR_COM_BAUD_RATE_3)
    195   },
    196   {
    197     9600,
    198     STRING_TOKEN(STR_COM_BAUD_RATE_4)
    199   },
    200   {
    201     7200,
    202     STRING_TOKEN(STR_COM_BAUD_RATE_5)
    203   },
    204   {
    205     4800,
    206     STRING_TOKEN(STR_COM_BAUD_RATE_6)
    207   },
    208   {
    209     3600,
    210     STRING_TOKEN(STR_COM_BAUD_RATE_7)
    211   },
    212   {
    213     2400,
    214     STRING_TOKEN(STR_COM_BAUD_RATE_8)
    215   },
    216   {
    217     2000,
    218     STRING_TOKEN(STR_COM_BAUD_RATE_9)
    219   },
    220   {
    221     1800,
    222     STRING_TOKEN(STR_COM_BAUD_RATE_10)
    223   },
    224   {
    225     1200,
    226     STRING_TOKEN(STR_COM_BAUD_RATE_11)
    227   },
    228   {
    229     600,
    230     STRING_TOKEN(STR_COM_BAUD_RATE_12)
    231   },
    232   {
    233     300,
    234     STRING_TOKEN(STR_COM_BAUD_RATE_13)
    235   },
    236   {
    237     150,
    238     STRING_TOKEN(STR_COM_BAUD_RATE_14)
    239   },
    240   {
    241     134,
    242     STRING_TOKEN(STR_COM_BAUD_RATE_15)
    243   },
    244   {
    245     110,
    246     STRING_TOKEN(STR_COM_BAUD_RATE_16)
    247   },
    248   {
    249     75,
    250     STRING_TOKEN(STR_COM_BAUD_RATE_17)
    251   },
    252   {
    253     50,
    254     STRING_TOKEN(STR_COM_BAUD_RATE_18)
    255   }
    256 };
    257 
    258 ///
    259 /// Value and string token correspondency for DataBits
    260 ///
    261 COM_ATTR            DataBitsList[4] = {
    262   {
    263     5,
    264     STRING_TOKEN(STR_COM_DATA_BITS_0)
    265   },
    266   {
    267     6,
    268     STRING_TOKEN(STR_COM_DATA_BITS_1)
    269   },
    270   {
    271     7,
    272     STRING_TOKEN(STR_COM_DATA_BITS_2)
    273   },
    274   {
    275     8,
    276     STRING_TOKEN(STR_COM_DATA_BITS_3)
    277   }
    278 };
    279 
    280 ///
    281 /// Value and string token correspondency for Parity
    282 ///
    283 COM_ATTR            ParityList[5] = {
    284   {
    285     NoParity,
    286     STRING_TOKEN(STR_COM_PAR_0)
    287   },
    288   {
    289     EvenParity,
    290     STRING_TOKEN(STR_COM_PAR_1)
    291   },
    292   {
    293     OddParity,
    294     STRING_TOKEN(STR_COM_PAR_2)
    295   },
    296   {
    297     MarkParity,
    298     STRING_TOKEN(STR_COM_PAR_3)
    299   },
    300   {
    301     SpaceParity,
    302     STRING_TOKEN(STR_COM_PAR_4)
    303   }
    304 };
    305 
    306 ///
    307 /// Value and string token correspondency for Baudreate
    308 ///
    309 COM_ATTR            StopBitsList[3] = {
    310   {
    311     OneStopBit,
    312     STRING_TOKEN(STR_COM_STOP_BITS_0)
    313   },
    314   {
    315     OneFiveStopBits,
    316     STRING_TOKEN(STR_COM_STOP_BITS_1)
    317   },
    318   {
    319     TwoStopBits,
    320     STRING_TOKEN(STR_COM_STOP_BITS_2)
    321   }
    322 };
    323 
    324 ///
    325 /// Guid for messaging path, used in Serial port setting.
    326 ///
    327 EFI_GUID            TerminalTypeGuid[4] = {
    328   DEVICE_PATH_MESSAGING_PC_ANSI,
    329   DEVICE_PATH_MESSAGING_VT_100,
    330   DEVICE_PATH_MESSAGING_VT_100_PLUS,
    331   DEVICE_PATH_MESSAGING_VT_UTF8
    332 };
    333