1. Consume Debug Agent Library to support debugging AP code based on PI MP protocol.
2. Copy LVT Timer setting from old BSP to new BSP when SwitchBsp() to make sure debug timer worked after bsp switched.
3. Save and restore old BSP's TSC value to new one.
Add support for e1000 NICs to OVMF
1) Update README describing the QEMU version required for e1000, where to download the UEFI drivers for e1000, and how to enable network drivers in the platform firmware
2) Update DSC/FDF files NETWORK_ENABLE switch to enable e1000 and network driver support
Changed the X64 gasket so it would be possible to port it to deal with the Unix to EFI ABI mangling. It still just does Unix ABI, and has some Xcode specific stuff to make source level debug a little easier, but it is a good first step.
Port UnixPkg to also support X64. Currently only supports Unix x86_64 ABI. In the future we can make Sec support x86_64 ABI and the rest of the code support X64 EFI ABI. This will require assembly gaskets to fix the calling convention differences. I currently have noop gaskets in place for x86_64 ABI. This has only been tested on OS X 10.6.
Add 64-bit versions of FLASH Base addressess as it is legal to have them >4G. For backward compatability if the new 64-bit base addresses are zero use the old 32-bit base addressess.
Fix bug that cursor position will change when enter newly registered HII Form after ConnectAll() in DeviceManager.
Root cause is that in old code, reinstall of HII handle for DeviceManager will cause inconsistent HII handle index for newly installed HII packages by ConnectAll(), thus cause inconsistent QuestionId. FormBrowser will record QuestionId of a Form ever visited, so the cursor position is changed.
1. Update FFS_FIXED_CHECKSUM to 0xAA to match PI FV image generated by EDKII build tool.
2. Clean up EfiScriptLib by removing unused EfiDriverLib from its INF file.
Fix 64-bit bug in DxeIpl. You can't cast an & UINT64 to a UINT32 *, as the upper 32-bits do not get updated. In my case there was data on the stack for the upper 32-bits and it caused the size to be greater than 4GB.
Enhance to follow UEFI2.3 spec - the EFI_ACPI_TABLE_PROTOCOL will ensure that the checksum field is correct for both the RSDT/XSDT table and the table being installed through the AcpiTableBuffer parameter.
Started trying to get the UnixPkg to compile for X64 with UnixABI. So far only have Sec compiling with Xcode. This is the first step in trying to get the EFIABI to work. Note since SEC is a Posix application it will still need to be Unix ABI.
Fix bugs in the PCI bus driver to support SR-IOV.
1. Expand the type of Offset in the _PCI_BAR structure from UINT8 to UINT16, because a VF BAR’s offset may be >= 0x100;
2. Enable ARI Capable Hierarchy for SR-IOV devices at earlier time because FirstVFOffset and VFStride of a SR-IOV device may change after its ARI Capable Hierarchy is set;
3. Change type of PcdSrIovSupport, PcdAriSupport, PcdMrIovSupport from FeatureFlag to [FixAtBuild, PcdDynamics], which allows SR-IOV/MR-IOV/ARI feature can be turn on/off dynamically, typically via a setup option.
4. Change PCI bus scan algorithm in PciScanBus() to prevent the case where some ARI extended functions may be skipped in the scan loop.
Update the previous fix to only shadow the function for supported processor architectrues. The old way required non supported processor architectures to opt out.
Fix issue with ARM port. Image.c shadow code is not ANSI C and crashes on ARM. So I did the same thing that is done on Itanium and skipped the shadow for ARM architecture in all cases.
Fix a bug:
RFC 2132, Section 9.5 does not strictly state Bootfile name (option 67) is null
terminated string. So force to append null terminated character at the end of string.
Initialize lists ArpService->PendingRequestTable/DeniedCacheTable/ResolvedCacheTable before firing timer ArpService->PeriodicTimer. This remove the race condition in ArpCreateService(): it is possible for the timer event to trigger before the lists are initialized which will results in a hang in ArpTimerHandler().
1. update to use 1 EFI Variable per NIC (instead of converge all NIC configuration into one EFI Variable), this remove the limitation that max NIC configuration will depend on PcdMaxVariableSize.
2. remove unnecessary Unload function EfiIp4ConfigUnload (use default Unload function NetLibDefaultUnload instead), remove global array for NIC handle tracking since it’s driver model driver.
3. add Ip4Config Variable reclaim to HiiConfigAccess.RouteConfig() to remove variable for NIC which has been removed from the system.
Remove ArmEbPkg and replace with ArmRealViewEbPkg. Ported ArmRealViewEbPkg to have a PEI phase, and added place holder CPU PEIM to ArmPkg. This ArmRealViewEbPkg now boots from SEC, PEI, DXE, BDS, to EBL in the ARM RealView system emulator that comes with RealView Pro.
1. fixed one bug to construct config request string header used child handle instead of NIC controller handle.
2. fixed one bug to calculate buffer size.
myronporter [Wed, 30 Jun 2010 00:13:25 +0000 (00:13 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
mdkinney [Tue, 29 Jun 2010 06:08:14 +0000 (06:08 +0000)]
1) Call ProcessNotifyList() to process all Dispatch Notifications after the Memory Discovered PPI is installed.
2) Add ProcessLibraryConstructorList() call when OldCoreData != NULL and OldCoreData->ShadowedPeiCore == NULL.
3) Make sure no lib functions are used prior to the ProcessLibraryConstructorList() call.
4) Clean up comments
mdkinney [Fri, 25 Jun 2010 22:27:59 +0000 (22:27 +0000)]
Update BASE PCI Library that uses CF8/CFC access mechanism for PCI configuration cycles to be safe for use from interrupt context and from modules of type DXE_SMM_DRIVER.
mdkinney [Fri, 25 Jun 2010 22:23:22 +0000 (22:23 +0000)]
Simplify DSC/FDF files for OVMF
Remove duplicate FFS file GUID that would cause incremental builds to fail.
Final output file is OVMF.FD and that is what should be used as bios.bin when running QEMU.
myronporter [Fri, 25 Jun 2010 21:56:02 +0000 (21:56 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
mdkinney [Fri, 25 Jun 2010 18:01:52 +0000 (18:01 +0000)]
Update BASE_NAME to match the file names of the shell binaries so the INF files can be used from a DSC/FDF file to include the binary of the shell in a platform.
mdkinney [Fri, 25 Jun 2010 17:53:08 +0000 (17:53 +0000)]
Update BASE_NAME to match the file names of the shell binaries so the INF files can be used from a DSC/FDF file to include the binary of the shell in a platform.
myronporter [Thu, 24 Jun 2010 20:11:34 +0000 (20:11 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
myronporter [Thu, 24 Jun 2010 00:20:35 +0000 (00:20 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
myronporter [Tue, 22 Jun 2010 23:56:19 +0000 (23:56 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
MyronPorter [Tue, 22 Jun 2010 22:59:38 +0000 (22:59 +0000)]
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)