+ formmap formid = 4, \r
+ maptitle = STRING_TOKEN(STR_SAMPL_MAP_METHOD); \r
+ mapguid = DRIVER_SAMPLE_FORMSET_GUID;\r
+ maptitle = STRING_TOKEN(STR_STANDARD_MAP_METHOD); \r
+ mapguid = EFI_HII_STANDARD_FORM_GUID;\r
+\r
+ oneof varid = MyIfrNVData.SerialPortNo, \r
+ prompt = STRING_TOKEN(STR_SERIAL_PORT),\r
+ help = STRING_TOKEN(STR_ONE_OF_HELP),\r
+\r
+ read cond (get(MyIfrNVData.SerialPortStatus) != 0 ? 0 : cond ((get(MyIfrNVData.SerialPortIo) & 0xF00) >> 0x8 == get(MyIfrNVData.SerialPortIrq) - 1 ? UNDEFINED : map (get(MyIfrNVData.SerialPortIo) : 0x3f8,1; 0x2F8,2; 0x3E8,3; 0x2E8,4;)));\r
+ write set(MyIfrNVData.SerialPortStatus, pushthis != 0) AND set(MyIfrNVData.SerialPortIo, map (pushthis : 1,0x3F8; 2,0x2F8; 3,0x3E8; 4,0x2E8;)) AND set (MyIfrNVData.SerialPortIrq, map (pushthis: 1,4; 2,3; 3,4; 4,3;));\r
+ \r
+ option text = STRING_TOKEN(STR_SERIAL_PORT_DISABLE), value = 0x0, flags = DEFAULT;\r
+ option text = STRING_TOKEN(STR_SERIAL_PORT1), value = 0x1, flags = 0;\r
+ option text = STRING_TOKEN(STR_SERIAL_PORT2), value = 0x2, flags = 0;\r
+ option text = STRING_TOKEN(STR_SERIAL_PORT3), value = 0x3, flags = 0;\r
+ option text = STRING_TOKEN(STR_SERIAL_PORT4), value = 0x4, flags = 0;\r
+ endoneof;\r