audk/OvmfPkg
jljusten 670d495b19 Add EmuVariableFvbRuntimeDxe driver.
This driver implements a firmware volume block protocol instance
which is stored in system memory.

The MdeModulePkg/Universal/Variable/RuntimeDxe and
MdeModulePkg/Universal/FaultTolerantWriteDxe drivers make use of
this FVB instance to provide variable services.

This driver links to a PlatformFvb library to allow for
platform specific processing to take place when data is written
to the FVB.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9315 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:45 +00:00
..
AcpiTables 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
EmuVariableFvbRuntimeDxe Add EmuVariableFvbRuntimeDxe driver. 2009-09-26 07:15:45 +00:00
Include/Library Add PlatformFvbLib to allow platform customization of an FVB driver. 2009-09-26 07:15:40 +00:00
Library Add PlatformFvbLibNull instance of PlatformFvbLib. 2009-09-26 07:15:43 +00:00
PlatformPei OVMF: Add support for more persistent NV variables which can survive a system reboot. 2009-09-07 20:18:17 +00:00
ResetVector Add initial version of Open Virtual Machine Firmware (OVMF) platform. 2009-05-27 21:10:18 +00:00
Sec Fix bug that home addresses for register parameters must be allocated for calling C function from X64 assembly code to follow x64 calling convention. 2009-09-22 09:19:59 +00:00
OvmfPkg.dec Implement NvVarsFileLib to save and restore non-volatile variables using a file. 2009-09-16 16:28:55 +00:00
OvmfPkg.fdf 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
OvmfPkgIa32.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
OvmfPkgIa32X64.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
OvmfPkgIa32X64.fdf 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
OvmfPkgX64.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
README Update README for video driver split from main OVMF firmware. 2009-07-14 23:32:44 +00:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.


=== OVMF OVERVIEW ===

The Open Virtual Machine Firmware (OVMF) project aims
to support firmware for Virtual Machines using the edk2
code base.  More information can be found at:

  https://edk2.tianocore.org/OVMF.html

=== STATUS ===

Current status: Alpha

Current capabilities:
* IA32 and X64 architectures
* QEMU (0.9.1 or later)
  - Video, keyboard, IDE, CD-ROM, serial
  - Runs UEFI shell
* UEFI Linux has booted (but is not stable)

=== FUTURE PLANS ===

* Stabilize UEFI Linux boot
* Test/Stabilize UEFI Self-Certification Tests (SCT) results

=== BUILDING OVMF ===

Pre-requisites:
* Build environment capable of build the edk2 MdeModulePkg.
* A properly configured ASL compiler
  * Intel ASL compiler: Available from http://www.acpica.org
      or
  * Microsoft ASL compiler: Available from http://www.acpi.info

Update Conf/target.txt ACTIVE_PLATFORM for OVMF:
                             PEI arch   DXE arch   UEFI interfaces
* OvmfPkg/OvmfPkgIa32.dsc      IA32       IA32           IA32
* OvmfPkg/OvmfPkgIa32X64.dsc   IA32       X64            X64
* OvmfPkg/OvmfPkgX64.dsc       X64        X64            X64

Update Conf/target.txt TARGET_ARCH based on the .dsc file:
                             TARGET_ARCH
* OvmfPkg/OvmfPkgIa32.dsc     IA32
* OvmfPkg/OvmfPkgIa32X64.dsc  IA32 X64
* OvmfPkg/OvmfPkgX64.dsc      X64

Following the edk2 build process, you will find the OVMF binaries
under the $WORKSPACE/Build/*/*/FV directory.  The actual path will
depend on how your build is configured.  You can expect to find
these binary outputs:
* OVMF.fd 
* CirrusLogic5446.rom

More information on building OVMF can be found at:
* https://edk2.tianocore.org/build-ovmf.html

=== RUNNING OVMF on QEMU ===

* QEMU 0.9.1 or later is required.
* Either copy, rename or symlink OVMF.fd => bios.bin
* Either copy, rename or symlink CirrusLogic5446.rom => vgabios-cirrus.bin
* Be sure to use qemu-system-x86_64, if you are using and X64 firmware.
  (qemu-system-x86_64 works for the IA32 firmware as well, of course.)
* Use the QEMU -L parameter to specify the directory where the bios.bin
  and vgabios-cirrus.bin files are located.
* Optionally you can use the QEMU -serial command to capture the
  OVMF debug messages.  For example: -serial file:serial.log
* The EFI shell is built into OVMF builds at this time, so it should
  run automatically if a UEFI boot application is not found on the
  removable media.