audk/OvmfPkg
jljusten b0f5144676 OVMF: Add Block MMIO protocol definition
This protocol is similar to the standard UEFI BlockIo protocol,
except it has no function calls and simply defines a base address
in memory where reads & writes for the block device should occur.

One planned usage is to fill a memory region with a small disk
image, and allow it to be used as a normal disk by the
standard drivers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10295 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-21 00:33:59 +00:00
..
AcpiTables Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl* 2010-02-25 18:17:41 +00:00
EmuVariableFvbRuntimeDxe 1. Correct File header to ## @file 2010-02-23 23:58:38 +00:00
Include OVMF: Add Block MMIO protocol definition 2010-03-21 00:33:59 +00:00
Library Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl* 2010-02-25 18:17:41 +00:00
PlatformPei 1. Correct File header to ## @file 2010-02-23 23:58:38 +00:00
Sec 1. Correct File header to ## @file 2010-02-23 23:58:38 +00:00
OvmfPkg.dec OVMF: Add Block MMIO protocol definition 2010-03-21 00:33:59 +00:00
OvmfPkg.fdf Still use |.efi Rule for INF file with binary EFI image, because the binary EFI image specified INF file is not in output directory. 2010-03-02 02:50:32 +00:00
OvmfPkgIa32.dsc Merge the same type PCD section. 2010-03-15 01:40:59 +00:00
OvmfPkgIa32X64.dsc Merge the same type PCD section. 2010-03-15 01:40:59 +00:00
OvmfPkgIa32X64.fdf Add the missing OUTPUT directory for the EFI and depex file in Rule section. 2010-03-01 06:47:58 +00:00
OvmfPkgX64.dsc Merge the same type PCD section. 2010-03-15 01:40:59 +00:00
README OVMF: Update README file 2010-02-22 18:17:13 +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:

http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF

=== 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.Fv
  * Please note!  This filename has changed.  Older releases used OVMF.fd.
* CirrusLogic5446.rom

More information on building OVMF can be found at:

http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_build_OVMF

=== RUNNING OVMF on QEMU ===

* QEMU 0.9.1 or later is required.
* Either copy, rename or symlink OVMF.Fv => 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.
* On Linux, newer version of QEMU may enable KVM feature, and this might cause OVMF
  to fail to boot.  The QEMU '-no-kvm' may allow OVMF to boot.