Commit Graph

53 Commits

Author SHA1 Message Date
jljusten a12199e66f 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).

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11523 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-12 15:08:26 +00:00
jljusten 4d19deac2a OptionRomPkg: Add GOP based BltLib
This BltLib provides a wrapper for calling the UEFI Graphics
Output Protocol (GOP) functions for a single GOP instance.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11522 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-12 15:08:08 +00:00
jljusten e5e1d2e270 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.)

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11521 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-12 15:07:52 +00:00
jljusten caebd91505 OptionRomPkg: Add BltLib definition
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
2011-04-12 15:07:34 +00:00
mdkinney 15b96d9368 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.






git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11372 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-10 22:37:39 +00:00
rsun3 e0ee9d9314 Clean ISA_IO/ISA_IO_16 and VGA_IO/VGA_IO_16 attribute usage in PCI bus driver/PCI host bridge drivers/LPC/VGA device drivers.
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
2010-12-28 10:10:10 +00:00
ydong10 80448f6c1a Refine some code to make code run safely.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10893 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-20 03:20:56 +00:00
lgao4 3a8ab9513c Clean up package/platform DSC files by the following steps:
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
2010-05-21 02:49:38 +00:00
hhtian ac1ca10416 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10425 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 12:03:22 +00:00
klu2 3276b5739a Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10080 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 17:04:34 +00:00
lgao4 7b202cb0f9 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 23:58:38 +00:00
xdu2 135ec2db42 Update UNDI driver to expose dynamic media detect capability.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9995 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 08:45:38 +00:00
tye cd41792556 Enable Undi driver to support multicast MAC address mapped from IPv6 address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9561 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-14 08:14:08 +00:00
gikidy dc9624aa55 Remove Driver Health sample driver from OptionRomPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9558 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-14 01:51:42 +00:00
gikidy 432cf05bcf A sample driver produces driver health protocol. This driver use DiskIO driver as a template.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9516 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-04 03:49:48 +00:00
vanjeff 6fe852082f 1. updated PCI/AGP Devices to check RemainingDevicePath in Supported() and Start() functions. The main changes are:
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
2009-09-15 07:50:48 +00:00
eric_tian 5781db0852 if module doesn't explicitly depend on specific Pci spec, it should include IndustryStandard/Pci.h rather than Pcixxx.h.
Also remove those self-defined "bit(a)" macro, it had been defined as BITx in Base.h.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8994 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-24 06:15:06 +00:00
jljusten b9c6eef15b Add default parameters for EfiRom for Cirrus Logic 5430.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8943 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-14 23:32:37 +00:00
jljusten 110d3a9ac5 Use PixelFormat PixelBitMask in CirrusLogic5430Dxe driver.
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
2009-07-09 00:04:41 +00:00
vanjeff 51ebae6b69 add UndiRuntimeDxe from MdeModulePkg to OptionRomPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8738 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-03 14:35:24 +00:00
lgao4 c453660804 Fix Build failure
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8712 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-02 01:52:32 +00:00
jljusten 85f8bc32d4 Do not update the GL-GD5446 DRAM Control register during
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
2009-06-30 15:57:33 +00:00
jljusten 8c5c1f32a5 Do not draw anything during DrawLogo.
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
2009-06-30 15:57:31 +00:00
gikidy 8469b6628e Replace references to RFC 3066 with RFC 4646.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8214 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 05:37:31 +00:00
vanjeff 9f35431085 add new files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8087 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-15 03:36:35 +00:00
vanjeff 2e2938977f retire i2c library, move its implementation to CirrusLogic5430Dxe
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8085 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-15 03:25:39 +00:00
lgao4 0e27fefd6a Add PCI option to generate OptionRom
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8017 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-03 01:18:19 +00:00
xli24 dcbb35eb6c Add comments in DSC files to explain the function and design of components section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7490 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 08:58:47 +00:00
qhuang8 712ef76bdc Removed unused library instances for Option ROM package DSC files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7380 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-01 03:26:01 +00:00
mdkinney 9346dfb0ff Split out Synchronization Library from Base Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7371 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-30 00:31:46 +00:00
qhuang8 32438080c4 Clean up to update the reference of the these macros:
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
2008-12-16 15:32:08 +00:00
jljusten fe186365de Fix build warning generated by ICC and MSVC compilers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6725 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-26 01:24:35 +00:00
jljusten d52be0e242 Use the Controller handle to open the protocol, rather than the
NULL handle which was stored in Private->Handle.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6689 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 00:37:12 +00:00
jljusten 6f716497de Resolve a bug where the initial ReadEdidData 'for' loop would loop
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
2008-11-24 00:30:53 +00:00
qhuang8 3501cc994c Add the dependency of DevicePathLib for the reference of DevicePathLib macros.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6542 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-14 01:48:58 +00:00
jji4 ba31c2e08e Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6300 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:12:45 +00:00
vanjeff bc14bdb317 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6240 6f19259b-4bc3-4df7-8a09-765794883524 2008-10-27 01:52:32 +00:00
xli24 cc1143b81c Modify DSC file according to update of MDE library instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6228 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-25 16:19:48 +00:00
lgao4 7338117bbf remove the unused msa/npsd files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5936 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-20 06:18:16 +00:00
vanjeff ed66e1bc0d clean up the un-suitable ';' location when declaring the functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5820 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:37:28 +00:00
qhuang8 6fc89cb1d2 Update the library instance: PeiDxeDebugLibReportStatusCode library instance should not be applied to option ROM drivers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5571 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-26 07:41:52 +00:00
qhuang8 995ceff679 Fix typo in GUID declarations
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5570 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-26 07:38:09 +00:00
qhuang8 93da4b6bff Fix case issues
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5569 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-26 07:37:34 +00:00
vanjeff 0de1895fd6 remove ACPI_DISPLAY_ADR definition, since it has been defined in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5367 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-24 09:19:43 +00:00
klu2 4e768df674 Modify all file header to follow doxygen format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4909 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-19 03:35:19 +00:00
vanjeff 31f9e63117 1. add DxeI2c Library in OptionRomPkg.
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
2008-01-03 06:44:03 +00:00
qhuang8 c281c698a5 Add preparation for FAR release.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4413 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-21 03:27:03 +00:00
vanjeff 6a6d955c5f Fixed potential issues to release resources when error occurs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4341 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-28 03:55:36 +00:00
vanjeff 94b73c2482 Save original PCI attributes in start() function and restore it in Stop().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4324 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-23 06:19:16 +00:00
qhuang8 54857d5a7c Apply library to test controller handle.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4323 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-23 06:10:27 +00:00