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.)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11521 6f19259b-4bc3-4df7-8a09-765794883524
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.)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11520 6f19259b-4bc3-4df7-8a09-765794883524
1. Fix the incorrect definition of EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 (does not conform to the UEFI spec) in PciIo.h.
2. Add missing definitions of ISA and VGA IO attributes in PCI Root Bridge IO protocol.
3. Improve the algorithm in the PCI bus driver to get PCI platform policy from PCI Platform Protocol and PCI Override Protocol.
4. Update the PCI bus driver to use the PCI platform policy to determine the supported attributes that are returned by the EFI_PCI_IO_PROTOCOL.Attributes() function. This is required by the PI spec.
5. Add a backward compatibility workaround for PCI VGA drivers in Option ROM, which typically sets VGA_IO without checking supported attributes.
6. Update the PCI host bridge driver in PcAtChipsetPkg to report VGA_IO_16 and ISA_IO_16 instead of VGA_IO/ISA_IO attributes. Modern chipsets don’t have hardware capability to control 10-bit or 16-bit decoding for ISA/VGA aliases.
7. Update LPC/VGA device drivers to check supported attributes of VGA_IO/VGA_IO_16 or ISA_IO/ISA_IO_16.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11204 6f19259b-4bc3-4df7-8a09-765794883524
1. Remove PCDs those use the default values/types from the DEC file.
2. Remove the unused library instances.
3. Group common library instances in common [LibraryClasses] section as the default library instance for all modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10532 6f19259b-4bc3-4df7-8a09-765794883524
a. Add check validation of RemainingDevicePath in Supported()
b. In Star() function, if RemaingDevicePath is the End of Device Path Node, don't create child device and return EFI_SUCCESS.
2. fixed one device path issue in ScsiBus driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9264 6f19259b-4bc3-4df7-8a09-765794883524
Modify CirrusLogic5430Dxe to return mode info with PixelFormat
set to PixelBitMask. This enables the Linux framebuffer code to
function with the UEFI GOP framebuffer. Previously the code
would return PixelBltOnly for the PixelFormat, and thus would
not provide any framebuffer information.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8825 6f19259b-4bc3-4df7-8a09-765794883524
InitializeGraphicsMode. The update of this register would
cause the xorg-cirrus driver to mis-detect the size of
video memory for the QEMU cirrus video device.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8690 6f19259b-4bc3-4df7-8a09-765794883524
Previously a series of diagonal color lines would be drawn to the
screen, and then quickly replaced by the boot logo. Now the
screen will remain black until the boot logo is shown.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8689 6f19259b-4bc3-4df7-8a09-765794883524
EFI_SIGNATURE_16 -> SIGNATURE_16
EFI_SIGNATURE_32 -> SIGNATURE_32
EFI_SIGNATURE_64 -> SIGNATURE_64
EFI_FIELD_OFFSET -> OFFSET_OF
EFI_MAX_BIT -> MAX_BIT
EFI_MAX_ADDRESS -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7052 6f19259b-4bc3-4df7-8a09-765794883524
infinitely, since the Index variable was declared as UINT8, and
'EDID_BLOCK_SIZE * 2' is 256.
In the EFI_SUCCESS return path of CirrusLogic5430VideoModeSetup, check
that 'EdidOverrideDataBlock' has been allocated before attempting to
free this memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6688 6f19259b-4bc3-4df7-8a09-765794883524
2. produce EFI_EDID_DISCOVERED_PROTOCOL and EFI_EDID_ACTIVE_PROTOCOL in CirrusLogic5430 module.
3. consume EFI_OVERRIDE_PROTOCOL in CirrusLogic5430 module.
4. setup video mode according to EDID information in CirrusLogic5430 module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4479 6f19259b-4bc3-4df7-8a09-765794883524