summaryrefslogtreecommitdiffstats
path: root/OvmfPkg
Commit message (Collapse)AuthorAgeFilesLines
* Fixed GDT load issue in some cases after a reset. Only CS should be used to ↵geekboy15a2010-01-277-1/+1
| | | | | | access flash prior to entering protected mode. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9839 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF SEC: Fix VS2005 compiler warningsjljusten2010-01-062-3/+1
| | | | | | | | * FindPeiCore.c => FindFfsFileAndSection: remove unreachable code * SecMain.c => SecCoreStartupWithStack: confirm 64-bit to 32-bit conversion with IA32 builds. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9679 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF VTF0 Reset Vector: Cleanup Global Descriptor Table (GDT)jljusten2010-01-047-65/+58
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9676 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF VTF0 Reset Vector: Set 'accessed' bit in GDT descriptorsjljusten2010-01-047-5/+5
| | | | | | | | In some environments, the accessed bit should be set to allow the global descriptor table (GDT) to reside in unmodifiable flash memory. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9675 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF Status Codes: Disable serial output, enable memory outputjljusten2010-01-043-6/+6
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9674 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Define MDEPKG_NDEBUG to disable all debug code by defaultjljusten2010-01-043-0/+15
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9673 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Update OVMF FD/FV build to minimize ROM sizejljusten2010-01-0413-294/+554
| | | | | | | | | * Only SEC is uncompressed now * The MAIN FV with PEI & DXE can easily shrink and grow as needed * The final output will now be OVMF.Fv rather than OVMF.fd * The final output size will be a multiple of 64kb git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9672 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Use optimized BaseMemoryLib librariesjljusten2010-01-043-6/+23
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9671 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Add SEC ExtractGuidedSection implementationjljusten2010-01-042-0/+468
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9668 6f19259b-4bc3-4df7-8a09-765794883524
* Refer to OEM status code hook library instances in MdeModulePkg.xli242009-12-293-9/+9
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9641 6f19259b-4bc3-4df7-8a09-765794883524
* Refer to status code library instances in MdeModulePkg.xli242009-12-293-21/+21
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9635 6f19259b-4bc3-4df7-8a09-765794883524
* Remove status code modules' dependency on IntelFrameworkModulePkg.xli242009-12-253-9/+9
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9605 6f19259b-4bc3-4df7-8a09-765794883524
* Fix bug that ovmf's BDS can not be entered and add SmbiosDxe driver into ↵klu22009-12-205-6/+11
| | | | | | Ovmf's DSC and FDF file git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9579 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF SEC: Modify to match new interface of reset vector modulejljusten2009-12-168-74/+173
| | | | | | | | | | | | | | | | Previously the interface to the SEC module was: ESI/RSI - SEC Core entry point EDI/RDI - PEI Core entry point EBP/RBP - Start of BFV Now it is: RAX/EAX Initial value of the EAX register (BIST: Built-in Self Test) DI 'BP': boot-strap processor, or 'AP': application processor RBP/EBP Address of Boot Firmware Volume (BFV) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9572 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF ResetVector: Modify interface with SEC modulejljusten2009-12-1621-332/+478
| | | | | | | | | | | | | | | | Previously it was: ESI/RSI - SEC Core entry point EDI/RDI - PEI Core entry point EBP/RBP - Start of BFV Now it is: RAX/EAX Initial value of the EAX register (BIST: Built-in Self Test) DI 'BP': boot-strap processor, or 'AP': application processor RBP/EBP Address of Boot Firmware Volume (BFV) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9571 6f19259b-4bc3-4df7-8a09-765794883524
* Add missing EFIAPI instances on several functions.jljusten2009-12-161-0/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9570 6f19259b-4bc3-4df7-8a09-765794883524
* fix the wrong module name.eric_tian2009-12-092-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9545 6f19259b-4bc3-4df7-8a09-765794883524
* fix build error, CpuIo module is replaced with CpuIo2Dxeeric_tian2009-12-083-3/+3
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9542 6f19259b-4bc3-4df7-8a09-765794883524
* Add DxeSecurityManagementLib instance lgao42009-11-263-0/+3
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9489 6f19259b-4bc3-4df7-8a09-765794883524
* Use InitializeFloatingPointUnits() from UefiCpuLib to initialize floating ↵qhuang82009-11-255-0/+13
| | | | | | point units in SEC phase. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9481 6f19259b-4bc3-4df7-8a09-765794883524
* Add necessary brace to fix GCC warningsqhuang82009-11-181-18/+36
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9446 6f19259b-4bc3-4df7-8a09-765794883524
* Remove redundant blank character in DSC file.klu22009-10-223-3/+3
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9356 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Impl PI 1.2 PCI part. Major changes include:davidhuang2009-10-205-5/+5
| | | | | | | | a. Update PciBusDxe module, and move it from IntelFrameworkModulePkg to MdeModulePkg b. Move IncompatiblePciDeviceSupportDxe module from IntelFrameworkModulePkg to MdeModulePkg c. Update the related consumes in inf/dsc/fdf git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9350 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Align PE images in ROM, and strip relocations were possible.jljusten2009-10-072-13/+29
| | | | | | | | | | 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
* OVMF SEC: Modify to search sections of FFS file for PE32 image.jljusten2009-10-073-3/+26
| | | | | | | | 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
* Fix comment describing the library in PlatformFvbLibNull.inf.jljusten2009-10-021-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9328 6f19259b-4bc3-4df7-8a09-765794883524
* EmuVariableFvbRuntimeDxe: Fix warnings generated by VS2005jljusten2009-09-261-4/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9319 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Add support for saving the NV variables to disk following each ↵jljusten2009-09-264-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* OVMF: Convert from EmuVariableRuntimeDxe to VariableRuntimeDxe.jljusten2009-09-266-10/+52
| | | | | | | | | 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
* OVMF: Add library to customize the EMU Variable FVB driver.jljusten2009-09-263-8/+109
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9316 6f19259b-4bc3-4df7-8a09-765794883524
* Add EmuVariableFvbRuntimeDxe driver.jljusten2009-09-263-0/+1096
| | | | | | | | | | | | | | | 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
* Add PlatformFvbLibNull instance of PlatformFvbLib.jljusten2009-09-262-0/+75
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9314 6f19259b-4bc3-4df7-8a09-765794883524
* Add PlatformFvbLib to allow platform customization of an FVB driver.jljusten2009-09-261-0/+37
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9313 6f19259b-4bc3-4df7-8a09-765794883524
* NvVarsFileLib: Fix build warning with VS2005 on X64.jljusten2009-09-221-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9305 6f19259b-4bc3-4df7-8a09-765794883524
* Fix bug that home addresses for register parameters must be allocated for ↵rsun32009-09-222-0/+2
| | | | | | 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
* Fix several build break in Ovmf package.qhuang82009-09-212-4/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9292 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile.jljusten2009-09-166-2/+102
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9275 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF BDS: Implement routines to make it easier to scan through all PCI devices.jljusten2009-09-161-80/+191
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9274 6f19259b-4bc3-4df7-8a09-765794883524
* Implement NvVarsFileLib to save and restore non-volatile variables using a file.jljusten2009-09-167-0/+1143
| | | | | | | | | | 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
* OVMF: Fix a hang after resetting when NV variables are preserved.jljusten2009-09-071-20/+11
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9242 6f19259b-4bc3-4df7-8a09-765794883524
* OVMF: Add support for more persistent NV variables which can survive a ↵jljusten2009-09-075-9/+50
| | | | | | | | | | | 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
* Delete the PcdFSBClock declaration.jchen202009-08-203-7/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9150 6f19259b-4bc3-4df7-8a09-765794883524
* Remove ".intel_syntax", convert MASM to GAS.gikidy2009-08-172-13/+11
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9080 6f19259b-4bc3-4df7-8a09-765794883524
* Retire the usage of S3Lib and RecoveryLib since DxeIpl does not use them any ↵qhuang82009-08-112-4/+0
| | | | | | more. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9054 6f19259b-4bc3-4df7-8a09-765794883524
* 1. update AcpiTable module type to USER_DEFINEDvanjeff2009-08-113-7/+7
| | | | | | 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
* fix ICC build issue.eric_tian2009-07-211-0/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8974 6f19259b-4bc3-4df7-8a09-765794883524
* Update README for video driver split from main OVMF firmware.jljusten2009-07-141-7/+18
| | | | | | | 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
* Separate Cirrus Logic video driver out from main OVMF firmware.jljusten2009-07-142-5/+11
| | | | | | | 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
* Load video option ROM which is not embedded in system firmware image.jljusten2009-07-143-1/+189
| | | | | | | | | | | | | 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
* ProcessCapsule() and BdsMemoryTest() are implemented in the BdsDxe module, ↵eric_tian2009-07-131-5/+14
| | | | | | | | | 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