Adds two additional fields to IMAGE_VALIDATION_DATA_HEADER, KeySymbolCount and OffsetToFirstKeySymbol and a new struct, KEY_SYMBOL which is a U32, U32 (Signature / Offset) pair.
Updates the aux gen to support adding key symbols via the config file by using the [[key]] config header.
This will allow a consumer of the auxillary file to define a set of key symbols that are necessary before performing any validation of an efi. The expectation is that the signature will allow the consumer to identify the purpose of the provided offset and act accordingly. The expectation is not that the signature will match the symbol name, but the purpose that the symbol is used for.
+--------------------------------------------+
+ IMAGE_VALIDATION_DATA_HEADER
+--------------------------------------------+
+ KEY_SYMBOL's
+--------------------------------------------+
+ IMAGE_VALIDATION_ENTRY_HEADER's
+--------------------------------------------+
+ Raw Data
+--------------------------------------------+
[ ] Impacts functionality?
Functionality - Does the change ultimately impact how firmware functions?
Examples: Add a new library, publish a new PPI, update an algorithm, ...
[ ] Impacts security?
Security - Does the change have a direct security impact on an application,
flow, or firmware?
Description
Adds two additional fields to
IMAGE_VALIDATION_DATA_HEADER
,KeySymbolCount
andOffsetToFirstKeySymbol
and a new struct,KEY_SYMBOL
which is a U32, U32 (Signature / Offset) pair.Updates the aux gen to support adding key symbols via the config file by using the
[[key]]
config header.This will allow a consumer of the auxillary file to define a set of key symbols that are necessary before performing any validation of an efi. The expectation is that the signature will allow the consumer to identify the purpose of the provided offset and act accordingly. The expectation is not that the signature will match the symbol name, but the purpose that the symbol is used for.
How This Was Tested
<Please describe the test(s) that were run to verify the changes.>
Integration Instructions
<Describe how these changes should be integrated. Use N/A if nothing is required.>