blob: 4fcb15c3b13e636f1907a029700bf7b8a2898757 [file] [log] [blame]
=== HOW TO USE VTF0 ===
Add this line to your DSC [Components.IA32] or [Components.X64] section:
UefiCpuPkg/ResetVector/Vtf0/ResetVector.inf
Add this line to your FDF FV section:
INF RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/ResetVector.inf
In your FDF FFS file rules sections add:
[Rule.Common.SEC.RESET_VECTOR]
FILE RAW = $(NAMED_GUID) {
RAW BIN |.bin
}
=== VTF0 Boot Flow ===
1. Transition to IA32 flat mode
2. Locate BFV (Boot Firmware Volume) by checking every 4kb boundary
3. Locate SEC image
4. X64 VTF0 transitions to X64 mode
5. Call SEC image entry point
== VTF0 SEC input parameters ==
All inputs to SEC image are register based:
EAX/RAX - Initial value of the EAX register (BIST: Built-in Self Test)
DI - 'BP': boot-strap processor, or 'AP': application processor
EBP/RBP - Pointer to the start of the Boot Firmware Volume