mirror of https://github.com/acidanthera/audk.git
OvmfPkg/README: Add information about OVMF flash layout
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14836 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
9a08997862
commit
e58e5bcd23
|
@ -179,6 +179,43 @@ longer.)
|
||||||
VirtioNetDxe | x
|
VirtioNetDxe | x
|
||||||
Intel PROEFI | x
|
Intel PROEFI | x
|
||||||
|
|
||||||
|
=== OVMF Flash Layout ===
|
||||||
|
|
||||||
|
Like all current IA32/X64 system designs, OVMF's firmware
|
||||||
|
device (rom/flash) appears in QEMU's physical address space
|
||||||
|
just below 4GB (0x100000000).
|
||||||
|
|
||||||
|
The layout of the firmware device in memory looks like:
|
||||||
|
|
||||||
|
+--------------------------------------- 4GB (0x100000000)
|
||||||
|
| VTF0 (16-bit reset code) and OVMF SEC
|
||||||
|
| (SECFV)
|
||||||
|
+--------------------------------------- varies based on flash size
|
||||||
|
|
|
||||||
|
| Compressed main firmware image
|
||||||
|
| (FVMAIN_COMPACT)
|
||||||
|
|
|
||||||
|
+--------------------------------------- base + 0x20000
|
||||||
|
| Fault-tolerant write (FTW)
|
||||||
|
| Spare blocks (64KB/0x10000)
|
||||||
|
+--------------------------------------- base + 0x10000
|
||||||
|
| FTW Work block (4KB/0x1000)
|
||||||
|
+--------------------------------------- base + 0x0f000
|
||||||
|
| Event log area (4KB/0x1000)
|
||||||
|
+--------------------------------------- base + 0x0e000
|
||||||
|
| Non-volatile variable storage
|
||||||
|
| area (56KB/0xe000)
|
||||||
|
+--------------------------------------- base address
|
||||||
|
|
||||||
|
OVMF supports building a 1MB or a 2MB flash image. The base address for
|
||||||
|
a 1MB image in QEMU physical memory is 0xfff00000. The base address for
|
||||||
|
a 2MB image is 0xffe00000.
|
||||||
|
|
||||||
|
The code in SECFV locates FVMAIN_COMPACT, and decompresses the
|
||||||
|
main firmware (MAINFV) into RAM memory at address 0x800000. The
|
||||||
|
remaining OVMF firmware then uses this decompressed firmware
|
||||||
|
volume image.
|
||||||
|
|
||||||
=== UNIXGCC Debug ===
|
=== UNIXGCC Debug ===
|
||||||
|
|
||||||
If you build with the UNIXGCC toolchain, then debugging will be disabled
|
If you build with the UNIXGCC toolchain, then debugging will be disabled
|
||||||
|
|
Loading…
Reference in New Issue