Standard Libraries for EDK II.
This set of three packages: AppPkg, StdLib, StdLibPrivateInternalFiles; contains the implementation of libraries based upon non-UEFI standards such as ISO/IEC-9899, the library portion of the C Language Standard, POSIX, etc.
AppPkg contains applications that make use of the standard libraries defined in the StdLib Package.
StdLib contains header (include) files and the implementations of the standard libraries.
StdLibPrivateInternalFiles contains files for the exclusive use of the library implementations in StdLib. These files should never be directly referenced from applications or other code.
1) MEM_POLL stall time is incorrect.
Framework version: Duration is used for Stall(), which is Microseconds.
Total time is: Duration(Microseconds) * LoopTimes.
PI version: Duration is always 100ns. Delay is LoopTimes.
Total time is: 100ns * Delay.
So Delay = Duration(Microseconds) * LoopTimes / 100ns
= Duration * 1000ns * LoopTimes / 100ns
= Duration * 10 * LoopTimes
2) MEM_POLL BitMask/BitValue order is incorrect.
Framework version: First BitMask, then BitValue
PI version: First Data, then DataMask
So we revert their order in function call
1. Change guid name from EFI_CERT_X509 to EFI_CERT_X509_GUID, per UEFI Specification. 2.3.1.
2. Add the declaration for EFI_CERT_SHA224_GUID, EFI_CERT_SHA384_GUID and EFI_CERT_SHA512_GUID.
3. Update GUIDs description per UEFI Specification, 2.3.1.
ArmPlatformPkg/ArmPlatformLib: Renamed ArmPlatformInitialize into ArmPlatformSecInitialize
Some platforms require some of their controllers to be initialized in Secure world.
This function make the difference between Secure and Normal world platform initialization.
ArmPlatform: Remove dummy padding to make the Reset Vector aligned on 32 bytes boundary
A dummy padding was added before the Reset Vectors to force the alignment on a
32 bytes boundary in XIP code.
The correct fix is to define the alignment in the FDF file.
Change BlockIo drivers to return EFI_NO_MEDIA or EFI_MEDIA_CHANGED even the Buffer/BufferSize/Lba is invalid so that caller can probe the media status easier.
Change BlockIo drivers to return EFI_NO_MEDIA or EFI_MEDIA_CHANGED even the Buffer/BufferSize/Lba is invalid so that caller can probe the media status easier.
The hotkey callback in BDS module should defer loading the boot option until the TPL drops to TPL_APPLICATION after the keyboard driver is enhanced to call hotkey callback in timer handler whose TPL is higher than TPL_APPLICATION.
Update DebugLib to provide support for "err" command in the EFI Shell to adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask.
1) Add default mappings for the DebugPrintErrorLevelLib to the DSC file for this package.
OvmfPkg/*.fdf: Adjust FV/FD sizes for UNIXGCC DEBUG builds
In some configurations the UNIXGCC build will run out of
space when a DEBUG build is enabled. This change adjusts
the flash configuration a bit to allow the build succeed
on UNIXGCC.
This driver provides a UEFI Graphics Output Protocol (GOP) driver
for the QEMU Cirrus VGA hardware. It enables 24-bit color,
and uses the standard 32-bit GOP pixel format whenever possible.
OptionRomPkg BltLibSample: Add sample application for BltLib
This application uses BltLib to draw various items on the
screen. It can be used as a test for a BltLib library
implementation, and it can be used to compare the results of
two BltLib implementations (such as the performance).
OptionRomPkg: Add FrameBufferBltLib implementation of BltLib
This BltLib implementation will act on the BltLib functions by
directly manipulating a memory framebuffer. Therefore, it
should be usable by a Graphics Output Protocol (GOP) driver
to easily implement the GOP Blt function whenever a memory
framebuffer is available.
It can also be used in any situation where code would prefer to
not call the GOP Blt function, and would rather update the
framebuffer directly. (Assuming a framebuffer is available
for the graphics device.)
This library is intended to make it easy to perform blt operations
on a GOP framebuffer without using the GOP Blt function.
There can be two main forms of implementations of this library:
1) A library which interfaces directly with a framebuffer, and
has no dependence on the GOP protocol. Once configured with
the framebuffer parameters, it can operate directly on the
framebuffer.
2) A library which interfaces with the GOP protocol. In this
case this library provides a convenience layer and allows
blt code to look cleaner.
Potential uses for this library:
* Video driver with a framebuffer will not need to implement
GOP Blt function itself. Instead it can utilize an
implementation of this library as described in #1 above.
* OS Loader code which would like to easily use the GOP framebuffer
after Exit Boot Services. This would use a library instance
as described in #1 above.
* Any other code which would like to call GOP blt, but simplify
the code with the more convenient functions provided by this
library interface. (Using a library as described in #2 above.)
Old driver sample code does not return an EFI_UNSUPPORTED status code if a callback occurs for something which is unrecognized.
Now any call back type except:EFI_BROWSER_ACTION_FORM_OPEN, EFI_BROWSER_ACTION_FORM_CLOSE, EFI_BROWSER_ACTION_FROM_RETRIEVE and EFI_BROWSER_ACTION_FORM_CHANGING, all return EFI_UNSUPPORTED.
ShellParametersProtocol - remove parsing from within quoted parameters.
Pci - Add missing enumeration in switch statement.
For - Verify parameter before dereferencing.
Use the minimum value for Numeric and the first option value for OneOf as their default value when no specific default value is specified.
HII IFR Numeric and OneOf opcode may not specify their default value in opcode. And, zero may not be valid value for them. To make sure the valid value is set to default value, the minimum value for Numeric and the first option value for OneOf will be chosen as default value.
PerformancePkg.dsc:
1. Change FileHandleLib instance path.
2. Add SortLib used by ShellLib.
Detail:
This library instance was renamed from BaseFileHandleLib to UefiFileHandleLib in r11421.
The SortLib is added to be used by ShellLib in r11424.
> When GetHealthStatus() returns NULL FormHiiHandle, DeviceManager shouldn't call SendForm to show the configuration form.
> Combine the multiple reset request returned by GetHealthStatus() when repairing all the controllers.
> Fix the bug that source code and VFR code use different value for DRIVER_HEALTH_FORM_ID.
Set the BlockIo.Media.IoAlign to 0 because the BlockIo produced by Partition driver consumes DiskIo for read/write operation which doesn't have IO alignment requirement.
andrewfish [Thu, 31 Mar 2011 15:31:36 +0000 (15:31 +0000)]
Fix Xcode compile bug. It looks like these two arguments had an extra level of indirection that was in error. Good thing about extra compilers is we catch this kind of thing for almost free.
oliviermartin [Thu, 31 Mar 2011 12:28:01 +0000 (12:28 +0000)]
ArmPlatformPkg/Bds: Connect all drivers if the SimpleTextIO is not available
If none of the Simple Text Input/Output Protocol implementations were started
before starting BDS then an exception error occured.
This fix forces to connect all the drivers if no SimpleText IO protocols are
found.
oliviermartin [Thu, 31 Mar 2011 12:21:41 +0000 (12:21 +0000)]
ArmPlatformPkg/ArmPlatformLib: Move the UEFI memory partionning to MemoryInitPei
Formerly, each platform was responsible to declare the location of its UEFI memory
region (used by PEI and DXE Foundations).
The ArmPlatformLib was also declaring every region of its partitionned system memory
with a System Resource HOB.
In this new model, the MemoryInit expects the system memory to be declared with the
PCDs gArmTokenSpaceGuid.PcdSystemMemoryBase/Size.
These PCDs declare the largest continuous DRAM region. Additional regions can be
declared with the ArmPLatformLib function ArmPlatformGetAdditionalSystemMemory().
Now, it is the PEIM that partitions the system memory for every platform. It installs
a region of the size PcdSystemMemoryUefiRegionSize (default 128MB) for the PEI permanent
memory at the top of the DRAM region.
And a region of gArmPlatformTokenSpaceGuid.PcdSystemMemoryFixRegionSize (default 128MB)
is declared at the base of the system memory. This region is used for the allocation that
requires fixed address or have some constraints on their locations.