SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Setup Design Guide<br />
DRAFT<br />
This keyword is used primarily when defining flags settings for certain operations. This keyword will<br />
primarily be used if a particular operation requires additional information from a hardware specific<br />
interface. The intention is that once the data is retrieved successfully, the bit will internally be turned<br />
off and a callback will not be done again. When doing a callback, a key will be passed to the driver<br />
who exported this data. The driver interprets the key and returns the appropriate data in an appropriate<br />
form. The compiler will ensure the key value specified is unique across the entire formset.<br />
A common scenario where this might be used is when a text op-code which prints CPU information is<br />
used and needs to print information like the CPU frequency. This obviously could not have been<br />
determined during the building of the VFR file.<br />
Example: text text = STR_CPU_FREQUENCY_TEXT,<br />
text = STR_CPU_DERIVED_TEXT,<br />
flags = DYNAMIC,<br />
key = CPU_FREQUENCY_KEY;<br />
More information about interacting with hardware is contained in section 2.6.<br />
4.3.4 INTERACTIVE<br />
**Limit to one-of, text, and string, and numeric – any reason for other op-codes to be of this<br />
class?**<br />
This keyword is used primarily when defining flags settings for certain operations. This keyword will<br />
primarily be used if a particular operation requires additional information from a hardware specific<br />
interface. The intention is that once the initial data is retrieved successfully, the DYNAMIC bit will<br />
internally be disabled. This assumes that the infrastructure now has sufficient data to display initial<br />
data to the screen.<br />
The INTERACTIVE flag is not compatible with exporting data to runtime since it assumes callbacks to<br />
a driver which may not exist in the O/S runtime space. The use of this flag should be relegated to preboot<br />
only utilities.<br />
Once a user makes a selection on a tag that is interactive, a callback will be made to retrieve the data<br />
from a driver. A common use for this flag might be the entering of a modem configuration string, and<br />
returning data based on the resulting status from the modem.<br />
Example: string<br />
endstring;<br />
varid = NULL.ModemString,<br />
prompt = STR_MODEM_STRING_PROMPT,<br />
help = STR_MODEM_STRING_HELP,<br />
minsize = 1,<br />
maxsize = 60,<br />
flags = INTERACTIVE,<br />
key = MODEM_STRING_KEY,<br />
In the above example, a user would select the modem string prompt. After typing in the modem string<br />
to send to the modem (i.e. ATE1M0), a callback to the driver would send this packet of data to the<br />
modem. The modem will give some return code to the called driver. The driver will return back to the<br />
38