Commit Graph

1290 Commits

Author SHA1 Message Date
jljusten d40d3ba499 OVMF: Align PE images in ROM, and strip relocations were possible.
Align the PE32/32+ images in the ROM for XIP (execute in place) images
to function properly following the change in r9327.  Also, convert
pre-memory PEIM's to use the TE image format and strip-relocation
data from image.  This saves a little space, and provides a sample
usage of TE images.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9332 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-07 16:01:09 +00:00
jljusten 9337cf8c99 OVMF SEC: Modify to search sections of FFS file for PE32 image.
Previously the code would expect that the PE32 image was in the
first section of the FFS file.  This might not be the case if the
PE32 section is forced to be aligned.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9331 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-07 16:01:06 +00:00
jljusten eef93873be Fix comment describing the library in PlatformFvbLibNull.inf.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9328 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-02 06:40:55 +00:00
jljusten 02e124209e EmuVariableFvbRuntimeDxe: Fix warnings generated by VS2005
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9319 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 22:34:08 +00:00
jljusten 9607962def OVMF: Add support for saving the NV variables to disk following each SetVariable call.
Note:
* This only works before ExitBootServices
* For OVMF, variables are only preserved on the disk if there
  is a hard disk connected which has a writeable FAT file system.

The Ovmf/Library/EmuVariableFvbLib library will look for the
gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent PCD to be set to
a non-zero value.  If set, it is treated as an event handle, and
each write to the EmuVariableFvb will cause the event to be
signaled.

In this change, the OVMF platform BDS library sets up this event,
and sets the PCD so that after each write to the EMU Variable FVB,
the non-volatile variables will be saved out to the file system.

The end result is that NV variables that are written prior to the
ExitBootServices call should be preserved by storing them on the
disk.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9318 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:55 +00:00
jljusten 27f58ea1b2 OVMF: Convert from EmuVariableRuntimeDxe to VariableRuntimeDxe.
OVMF utilizes EmuVariableFvbRuntimeDxe to provide an emulated
variable firmware volume block device for non-volatile variables.
This allows the VariableRuntimeDxe and FaultTolerantWriteDxe
to function without a real non-volatile backing store.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9317 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:51 +00:00
jljusten 610698361d OVMF: Add library to customize the EMU Variable FVB driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9316 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:48 +00:00
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
jljusten a876ae6f2f Add PlatformFvbLibNull instance of PlatformFvbLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9314 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:43 +00:00
jljusten 921d5b47be Add PlatformFvbLib to allow platform customization of an FVB driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9313 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-26 07:15:40 +00:00
jljusten 0f729825d0 NvVarsFileLib: Fix build warning with VS2005 on X64.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9305 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-22 23:44:17 +00:00
rsun3 82dae5efb3 Fix bug that home addresses for register parameters must be allocated for calling C function from X64 assembly code to follow x64 calling convention.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9303 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-22 09:19:59 +00:00
qhuang8 7d9cf3f25e Fix several build break in Ovmf package.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9292 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-21 14:20:11 +00:00
jljusten 14b21de964 OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9275 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 16:29:03 +00:00
jljusten e955462be2 OVMF BDS: Implement routines to make it easier to scan through all PCI devices.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9274 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 16:29:00 +00:00
jljusten 5094454579 Implement NvVarsFileLib to save and restore non-volatile variables using a file.
This library provides an interface where variables can be saved and restored
using a file in a file system accessible to the firmware.  It is expected
that a platform BDS library will use this library.  The platform BDS
implementation can decide which devices to connect and then to attempt to use
for saving and restoring NV variables.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9272 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 16:28:55 +00:00
jljusten 607ca5102e OVMF: Fix a hang after resetting when NV variables are preserved.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9242 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-07 20:18:19 +00:00
jljusten 77ba993c88 OVMF: Add support for more persistent NV variables which can survive a system reboot.
Make use of EMU Variable driver's PcdEmuVariableNvStoreReserved to allow
NV variables to persist a VM system reset.  The contents of the NV variables
will still be lost when the VM is shut down, but they appear to persist
when the efi shell reset command is run.  (Tested with QEMU 0.10.0.)

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9241 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-07 20:18:17 +00:00
jchen20 fef1f66276 Delete the PcdFSBClock declaration.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9150 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20 06:59:13 +00:00
gikidy 16e864a270 Remove ".intel_syntax", convert MASM to GAS.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9080 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-17 06:16:40 +00:00
qhuang8 23f41e5601 Retire the usage of S3Lib and RecoveryLib since DxeIpl does not use them any more.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9054 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 16:16:51 +00:00
vanjeff 4888999008 1. update AcpiTable module type to USER_DEFINED
2. added ACPITABLE rule for AcpiTable modules in fdf files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9039 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 05:30:52 +00:00
eric_tian ccd4b7dade fix ICC build issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8974 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-21 01:57:27 +00:00
jljusten 2dae09a530 Update README for video driver split from main OVMF firmware.
Add note to set TARGET_ARCH.
Add link to https://edk2.tianocore.org/build-ovmf.html.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8945 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-14 23:32:44 +00:00
jljusten 712bd83b42 Separate Cirrus Logic video driver out from main OVMF firmware.
Now a CirrusLogic5446.rom file will be generated.  For QEMU, it can
be used as a replacement for the vgabios-cirrus.bin file.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8944 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-14 23:32:41 +00:00
jljusten 5106d42295 Load video option ROM which is not embedded in system firmware image.
QEMU will automatically fill the video BIOS image into memory at the
legacy video BIOS memory location (0xc0000).  This code will look
there for a EFI option rom image, and load it if it found.  This
allows the video option ROM to be separated out from the main system
firmware image.

QEMU does not appear to emulate the PCI rom expansion method
for making the video BIOS available to the system.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8942 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-14 23:32:32 +00:00
eric_tian d18476d0dc ProcessCapsule() and BdsMemoryTest() are implemented in the BdsDxe module, which will be invoked at PlatformBds library.
It is not proper for a library implementation to assume the names of function in a parent module.
Instead, they must be designed as the pointers to these two BdsDxe functions and passed in.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8931 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 12:07:26 +00:00
lgao4 24cdd14e81 Move LockKeyboards API from GenericBdsLib to PlatformBdsLib
And change PlatformBdsLockNonUpdatableFlash in PlatformBdsLib return type to VOID.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8855 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-10 03:26:52 +00:00
lgao4 d46f36324f Retire Logo and Shell guid header file, which are replaced by gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile and gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8829 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-09 05:48:35 +00:00
klu2 87a1d7a848 Remove typo
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8777 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-07 04:54:01 +00:00
klu2 71095b27a7 Use PcAtChipsetPkg\PcatRealTimeClockRuntimeDxe\PcatRealTimeClockRuntimeDxe.inf instead of original PcAtChipsetPkg\PcRtc\RealTimeClock.inf
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8776 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-07 04:52:44 +00:00
vanjeff e900e19b28 Retired PciIncompatibleDeviceSupportLib from IntelFrameworkModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8774 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-07 04:01:14 +00:00
klu2 78e748bde3 Use PcAtChipsetPkg\PcatRealTimeClockRuntimeDxe\PcatRealTimeClockRuntimeDxe.inf instead of original PcAtChipsetPkg\PcRtc\RealTimeClock.inf
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8769 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-07 03:21:07 +00:00
jljusten 40f2c45434 * Modify various PCI register settings for OVMF.
* Clear the screen following connect-all so the logo does not
  appear over the shell text.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8691 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-30 15:57:35 +00:00
jljusten 86fef5b4d7 Add MdeModulePkg/Universal/PrintDxe driver to OVMF.
Move many libraries to Libraries.common section.

Add basic UEFI_APPLICATION libraries to allow applications
to be easily added to OVMF builds.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8688 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-30 15:57:29 +00:00
jljusten e0fab0c233 Set the SMI port in the ACPI FACP table to 0. This signals to the
ACPI Operating System that a transition from SMI to SCI mode is not
required.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8631 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-23 18:30:44 +00:00
jljusten a4437ffd58 Make 0xa0000 - 0xb0000 I/O memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8630 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-23 18:30:43 +00:00
mdkinney 370ec7f1b0 Remove EFI_BDS_ARCH_PROTOCOL_INSTANCE from PlatformBdsLib.h and BdsDxe module
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8494 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-07 04:44:53 +00:00
jljusten 37e97c51dd Add more details to OvmfPkg/README for building & running.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8402 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-28 18:02:25 +00:00
jljusten 49ba9447c9 Add initial version of Open Virtual Machine Firmware (OVMF) platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8398 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27 21:10:18 +00:00