mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
The .asm files are included by other assembly files and are not standalone assembly files. The .asm extension may cause confusion and make it seem like they are standalone assembly files and can be compiled by MASM. Rename them to .nasm.inc to avoid confusion and make it clear that they are NASM include files. The .nasm.inc extension is to distinguish them from .inc files which are usually used for assembly include files holding macros. Because the reset vectors in OvmfPkg reuse the same assembly files in UefiCpuPkg, the files in OvmfPkg that include the .asm files in UefiCpuPkg are also updated to include the .nasm.inc files. Separating the changes into 2 commits is not possible due to the dependencies between the files. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ray Ni <ray.ni@intel.com> |
||
|---|---|---|
| .. | ||
| Ia16 | ||
| Ia32 | ||
| X64 | ||
| CommonMacros.inc | ||
| DebugDisabled.nasm.inc | ||
| Main.nasm.inc | ||
| PageTables.inc | ||
| Port80Debug.nasm.inc | ||
| PostCodes.inc | ||
| ReadMe.txt | ||
| ResetVector.uni | ||
| ResetVectorExtra.uni | ||
| SerialDebug.nasm.inc | ||
| Vtf0.inf | ||
| Vtf0.nasmb | ||
=== HOW TO USE VTF0 ===
Add this line to your DSC [Components.IA32] or [Components.X64] section:
UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
Add this line to your FDF FV section:
INF RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/Vtf0.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