EFI_IFR_DEFAULTSTORE


Konstantin Aladyshev
 

Hello!

I was investigating output from the simplest VFR file:
```
#define HIISIMPLEFORM_FORMSET_GUID {0xef2acc91, 0x7b50, 0x4ab9,
{0xab, 0x67, 0x2b, 0x4, 0xf8, 0xbc, 0x13, 0x5e}}

formset
guid = HIISIMPLEFORM_FORMSET_GUID,
title = STRING_TOKEN(HIISIMPLEFORM_FORMSET_TITLE),
help = STRING_TOKEN(HIISIMPLEFORM_FORMSET_HELP),
endformset;
```
This produces the following opcodes:
```
//
// All Opcode Record List
//
00000000: 0E A7 91 CC 2A EF 50 7B B9 4A AB 67 2B 04 F8 BC 13 5E 02 00 03 00 01 71 99 03 93 45 85 04 4B B4 5E 32 EB 83 26 04 0E
00000027: 5C 06 00 00 00 00
0000002D: 5C 06 00 00 01 00
00000033: 29 02
```
Basically it is 4 IFR elements (one data string per element):
- EFI_IFR_FORM_SET
- EFI_IFR_DEFAULTSTORE
- EFI_IFR_DEFAULTSTORE
- EFI_IFR_END

My question is what is the purpose of the `EFI_IFR_DEFAULTSTORE`, and
why are there two such elements in the output?

Best regards,
Konstantin Aladyshev