Commit Graph

337 Commits

Author SHA1 Message Date
mdkinney 250057b56a Use REPORT_STATUS_CODExxx() macros directly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11223 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-03 19:24:17 +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
xdu2 84909ad446 1. update MatchUsbWwid() to check Vendor Id, Product Id and Interface Number.
2. update SerialNumber comparing logic to handle possible NULL-terminator in WWID device path
3. fix bug in UsbIo->UsbIoGetSupportedLanguages(): TableSize is size in bytes of LangIDTable instead of number of LangID.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11197 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-24 05:32:34 +00:00
rsun3 7afa5ea800 Add special treatment for EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE and EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM, because these attributes are only for PCI IO, while not supported by PCI Root Bridge IO.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11165 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-14 09:52:38 +00:00
rsun3 4ed4e19c08 Update the PCI bus driver to correctly set the EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM attribute of PCI IO. Per UEFI spec, this attribute is used to determine if the ROM image is from the ROM BAR or from a platform specific location.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11159 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-14 02:33:15 +00:00
erictian 68bb5ce77e EHCI Controllers with a CapLen of 0 are ignored.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11093 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-26 01:49:27 +00:00
rsun3 55565b0859 The PCI HotPlug Init Protocol returns a list of Root HPC, but it is possible that some HPCs in the list are not found during PCI enumeration. In this case, the PCI HotPlug Init Protocol.InitializeRootHpc() will not be called for the un-found HPCs. However, in AllRootHPCInitialized(), all reported HPCs are checked to see if it has been initialized, so TIME_OUT happens.
This check-in fix the issue by adding a flag to indicate if a HPC is found during PCI enumeration or not. This check-in also adds a debug message if any found HPC failed with initialization.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11081 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-22 07:16:02 +00:00
vanjeff c1450e1670 Fix bug: The lower 2 bits of Width and stripped, Count will always be multiplied by 1, which will leave Count unchanged.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11043 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-12 02:10:21 +00:00
rsun3 f13f9683db Fix ICC build break.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11020 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-10 03:16:25 +00:00
rsun3 aeeb84bab4 Some existing PCI adapters with UEFI option ROMs make unaligned requests through the PCI I/O Protocol. Add support for unaligned requests in the PCI IO protocol implementation in the PCI Bus driver to be compatible with those UEFI option ROMs.
This solution defines a PCD Feature Flag to enabled support for unaligned requests through the PCI I/O Protocol.  This flag is disabled by default. Platforms that do want to support such EFI/UEFI drivers that make unaligned PCI I/O requests should enable this feature.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11016 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-09 03:41:03 +00:00
rsun3 13fd0d50b5 Per the UEFI spec, if a PCI controller is a P2P bridge, then the I/O, Memory and Bus Master bits in the Command register of the PCI configuration header should be placed in the enabled state by the PCI Bus driver.
But current PCI bus driver has a bug that if a P2P bridge has no child devices detected during enumeration, the bits won’t be set. This may impact PCI hot plug capable bridges because the OS may re-assign resources for them causing the reserved resource by the firmware will be overwritten.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11013 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-08 07:36:12 +00:00
erictian 12873d5766 S.M.A.R.T feature enable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10985 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-28 07:44:11 +00:00
erictian c6e797aeda return EFI_DEVICE_ERROR if the Status value is not EFI_SUCCESS.
it's because BlockIo.Reset() only has two possible values: EFI_SUCCESS and EFI_DEVICE_ERROR according to UEFI2.3 spec

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10956 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-19 02:55:16 +00:00
erictian 8304070106 set the interface of usb hid device to boot protocol if it's not in such case.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10953 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-18 07:54:33 +00:00
erictian 5dec0c688e fix 32bit build warning
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10935 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-14 01:33:04 +00:00
jljusten 815119f3d9 DuetPkg, MdeModulePkg: Fix several enum comparions
These comparisons were not comparing an enum variable
with a member of the same enum type.

GCC 4.5 generated a warning for these comparison
operations.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10932 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-13 07:08:29 +00:00
erictian aca84419c4 remove additional space from comments and pass ICC/GCC44 build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10903 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-30 08:44:59 +00:00
erictian a41b5272cd add native ide/ahci driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10901 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-29 05:50:45 +00:00
ydong10 cd7bfc2c63 Refine code to make code run safely.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10880 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-16 04:51:25 +00:00
ydong10 c9325700d0 Refine soma code to make code run safely.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10877 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-15 07:48:11 +00:00
qhuang8 034ffda8b2 Fill AtaDeviceHeader field in ATA command block
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10849 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-02 08:00:27 +00:00
li-elvin f95bc04893 Change the check condition for 16 byte command, when HDD size is > 2TB, use 16 byte command instead.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10817 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-23 10:05:44 +00:00
niruiyu 6989af7168 clear the correct BAR register. Because for P2P device, only register from 0x10 to 0x14 is BAR register.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10805 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-18 12:21:21 +00:00
li-elvin 379f83dff0 According to SCSI spec, ANSI version is 3 bits, so 0x7 should be used to get correct ANSI version.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10773 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-04 08:39:55 +00:00
qhuang8 09ba0c4660 Update AtaBus module to use Uefi.h as the master header file as it is a pure UEFI driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10693 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-26 07:43:29 +00:00
rsun3 05399810c5 Return from ProgramBar() after VF BARs are programmed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10645 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-13 02:13:55 +00:00
rsun3 d40483911c 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.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10644 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-13 01:58:47 +00:00
li-elvin 5bf5fb30b4 Change MaxBlock to HEX value to avoid GCC build failure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10566 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-04 05:27:03 +00:00
li-elvin a108933ea8 If SCSI version support Read/Write (16) command, use both commands to access disk especially for above 2TB.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10550 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-28 06:58:59 +00:00
mdkinney 2dda77a650 Update UHCI and ECHI drivers to both Stop and Reset the host controller at ExitBootServices().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10464 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 22:46:14 +00:00
mdkinney 8063b47b1c Fix bug in PciHostBridgeEnumerator().
A linked list is created for the list of PCI Root Bridges in the platform.  This list is then traversed to enumerate each PCI Root Bridge.  After enumeration, the RootBridgeDev is destroyed, but it was not removed from the linked list before it was destroyed.  This left the linked list of PCI Root Bridges in a bad state, specially if memory is cleared on frees, or the freed buffer was reallocated.

The fix is to remove the node from the linked list before the RootBridgeDev is destroyed.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10463 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 22:44:54 +00:00
erictian 15cc67e616 raise TPL to TPL_CALLBACK level at DriverBindingStart() for all usb-related modules, which prevent DriverBindingStop() from being invoked when DriverBindingStart() runs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10460 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-05 05:21:38 +00:00
hhtian cd5ebaa06d Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
erictian d4a622c488 Use SimpleTextInEx.Reset to initialize correctly KeyToggleStatue and KeyShiftState value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10382 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-19 05:34:25 +00:00
lgao4 6691cae97e Fix compile break on IA32 arch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10292 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-20 06:49:56 +00:00
erictian aa91de055c Fix a bug that usb keybarod can not work well when it is inserted at a usb 2.0 hub.
It's due to AsyncInterruptList does not update the corresponding QTDHw->Data with pci bus master address.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10286 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 06:54:35 +00:00
erictian c61f936286 fix ia32 build error.
With IA32 tool chain, we can not use a 64bit data to divide a 32 bit data. MS tool chain may introduce an intrinsic function.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10267 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 11:06:21 +00:00
erictian fa03149c12 The ATA alignment_logic_in_phy_blocks field doesn’t directly report the lowest aligned LBA. Instead, there’s some modulo arithmetic involved.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10265 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 09:46:53 +00:00
rsun3 a1bd217a5d Minor comment fix.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10226 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 05:38:25 +00:00
lgao4 8776881fe8 Add a blank line in the end of file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10210 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 09:16:53 +00:00
erictian 6e374f4997 fix build error
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10206 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 05:40:17 +00:00
erictian e172ea16a7 roll back the parameter check of AsyncInterruptTransfer() and SyncInterruptTransfer() of Usb2HcProtocol to follow current uefi spec.
current uefi spec only supports interrupt in endpoint.
but there are usb devices which support interrupt out endpoint. we propose to update uefi spec to remove the limitation. after the ecr is approved, the corresponding patch will be submitted.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10205 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 04:35:26 +00:00
andrewfish d03171efd1 Add an EHCI register dump function for debug. Not hooked in any place...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10195 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 22:38:21 +00:00
erictian 3a2f9cce7d uniform the sw and hw expression to avoid confusing. it does not effect hw function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10186 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 09:29:34 +00:00
rsun3 60cf9cfc14 Minor bug fix and robustness check improvement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 09:40:16 +00:00
erictian 592b87a46d update Ehci driver to distinct pci memory address and host address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10121 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-28 13:00:58 +00:00
lgao4 6bfbb5f0e0 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@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
niruiyu c39c3e2190 add more comments for gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10032 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-20 07:11:13 +00:00
erictian ea02100237 1. free those inserted NsKeyNode resource when releasing SetKeyBoardLayout event.
2. cleanup HiiDataBaseDxe to directly use gEfiHiiKeyBoardLayoutGuid which is used as the guid of event group.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9978 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:47:10 +00:00
rsun3 4140a6635b Coding style fix and minor improvements.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +00:00
erictian d10a41e634 when remaining device path is not NULL, check if it's the device managed by bus driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9904 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-02 00:48:19 +00:00
mdkinney 188e4e8444 Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays.
Do some minor clean ups to INF files
 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9868 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 23:39:48 +00:00
xli24 f9876ecf8a Remove reference to PCDs of status code value. Use macros introduced in PI1.2 instead.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9833 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 04:00:58 +00:00
qhuang8 6ea8e37bfa Clean up AtaBus driver to not depend on PI IdeControllerInit Protocol definitions
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9821 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 05:21:52 +00:00
rsun3 1ccdbf2a3e Improve coding style in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-19 06:42:21 +00:00
rsun3 aa75dfeccd Fix some coding style issues in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9774 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 08:03:23 +00:00
rsun3 c11fa40c4e Fix the issue in MdeModulePkg that mismatch between PCD type and the PCD Lib API to get the PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9751 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 09:46:12 +00:00
davidhuang 67f7e37652 1. Add missing CloseProtocol in case RemainingDevicePath is NULL or EndOfDp
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9707 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-11 05:54:01 +00:00
davidhuang d548f0a10c 1. Eliminate RemainingDevicePath Type limitation, let PassThru to check its validation.
2. Change ScsiTargetId from allocation to local variable.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9706 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-11 05:44:16 +00:00
qhuang8 05a44e91fe Fix minor coding style issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9655 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 06:46:49 +00:00
qhuang8 907c1a0039 Remove the hard-code IoAlign in BlockIo.Media; instead, this value should inherit from lower Ata Pass Thru protocol instance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9654 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 05:28:14 +00:00
qhuang8 3bfa77f0f6 Fix bug that that the template does not match fields in structure EFI_BLOCK_IO_MEDIA
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9645 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-30 06:26:54 +00:00
rsun3 4661d5df04 Fix a bug about linked list manipulation in DegradeResource() in PCI bus driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9622 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-29 06:16:29 +00:00
rsun3 de028a62de Fix a bug in DegradeResource().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9621 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-29 03:14:37 +00:00
qhuang8 61d4f8f92a Add assertion to ensure the boolean value must be 0 or 1 before the use of array index
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9602 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 04:28:31 +00:00
rsun3 f00b5d8352 Fix ICC toolchain build break.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9600 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 01:56:24 +00:00
rsun3 6051620257 Update resource degrade algorithm in PCI bus driver. (1)If any child device has both option ROM and 64-bit BAR, degrade its PMEM64/MEM64 requests in case that if a legacy option ROM image can not access 64-bit resources. (2) If there are both PMEM64 and PMEM32 requests from child devices, which can not be satisfied by a P2P bridge simultaneously, keep PMEM64 and degrade PMEM32 to MEM32. (3) PMEM64/MEM64 are not supported when firmware is in 32-bit mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9599 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-24 14:05:36 +00:00
rsun3 1ef2678316 Update PCI bus driver to support non-standard PCI to PCI bridge I/O window alignment, such as 2K/1K/512 byte. Feature PCD PcdPciBridgeIoAlignmentProbe is introduced to turn on/off this feature.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9598 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-24 11:58:04 +00:00
qhuang8 423401f9ea 1. Fix bug in some boundary cases to calculate SectorCountExp.
2. Add assertion to ensure the boolean value must be 0 or 1 before the use of array index

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9597 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-24 08:31:31 +00:00
qhuang8 ad86a50ae7 Add new UEFI driver AtaBusDxe:
1. Layer on UEFI 2.2 ATA pass through protocol to perform ATA transaction.
2. Produce Block IO and DiskInfo protocol for each ATA devices.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9585 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22 07:35:49 +00:00
qhuang8 d716651f8c Enhance SCSI disk module to produce Disk Info protocol on the same Block IO handle:
SCSI Interface GUID: Physical SCSI disk
IDE  Interface GUID: ATAPI device run in legacy IDE mode
AHCI Interface GUID: ATAPI device run in AHCI mode.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9584 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22 07:31:18 +00:00
eric_tian efe9186f09 add error handling on usb related modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9566 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-16 00:58:46 +00:00
AJFISH f147a39e3c Tempoprary removal of this ASSERT as it crashes the BeagleBoard. We can put it back in when we figure out the issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9547 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-10 00:24:29 +00:00
vanjeff 0ce94f384e Set Handle to NULL when creating a new handle.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9358 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-26 02:28:49 +00:00
davidhuang 9060e3ec6d 1. Impl PI 1.2 PCI part. Major changes include:
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@9347 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-20 03:43:40 +00:00
jljusten ce422d36a8 MdeModule EhciDxe: Fix compiler warning for IA32 architecture.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9340 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-14 20:47:57 +00:00
eric_tian 739802e49c update code to eliminate the wrong assumption that pci address is equal to host address in all archs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9339 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-14 06:22:49 +00:00
jljusten d7576cf9b6 MdeModulePkg-UsbBusDxe: Add work around for slower USB hubs/devices
Increase the value of USB_GENERAL_DEVICE_REQUEST_TIMEOUT from
50 milliseconds to 100 milliseconds.  This provides a work around
for slower USB hubs and devices.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9330 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-05 17:59:53 +00:00
eric_tian db731882fa For the data region which will be touched by Pci Bus Master, we should allocate memory by PciIo.AllocateBuffer() but not AllocatePool() base library API. So the memory region can be used to map into Pci controller-specific address thru PciIo.Map().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9323 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-30 03:00:36 +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
vanjeff af4a63857c updated the Bus Driver that is able to create all or one of its child handles on each call to Start() not to create new child handle if RemainingDeviepath is the End of Device Path Node, per UEFI 2.3.
The others changes include:
1. Check RemainingDevicePath at beginning of Supported(), make sure it has been verified before Start() is called.
2. Check IO protocol firstly rather than EfiDevicePathProtocolGuid, reduce the times entering into Start() function because EfiDevicePathProtocolGuid existed on most of handle.
3. If no any child device is created on last time, and RemainingDevicePath is valid Uart Devcie path, go on creating child device handle based on this RemainingDevicePath.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9262 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-14 08:55:03 +00:00
eric_tian 3af875e220 In various archs, Processor memory address may not be same with Pci memory address. For usb host controller, we should use pci memory address to initialize framelist register and all address field in QH/TD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9259 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-14 05:26:09 +00:00
eric_tian 16a97771ad free allocated memory in error handler.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9173 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 06:24:24 +00:00
eric_tian 73f8ef8c08 add error handler in return places.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9119 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 02:32:56 +00:00
eric_tian 9420fc148a modify the incorrect timeout value definitions in Usb driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9117 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 01:41:43 +00:00
eric_tian ba19956ac3 add comments to clarify the enhancement on EHCI driver, which is guaranteed to get attached to EHCI host controller before UHCI driver attaches to uhci host controller.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9040 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 05:55:14 +00:00
eric_tian a261044cf5 code cleanup:
1. remove unused macro/remove unnecessary included header file
2. for those values defined by PCI spec, use the naming of definition in IndustryStandard/Pci.h
3. use BITX macro in Base.h rather than define one by self.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8992 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-24 05:34:55 +00:00
eric_tian cd92e3fb28 Adding a segment code to make sure that the EHCI controller get attached to the EHCI controller before the UHCI driver attaches to the UHCI controller
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8984 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-23 12:50:08 +00:00
rsun3 88e349f1fe Fixed a bug that the system hangs with an assert in DiskIo.c that is division overflow due to block size == 0 when no flppy media is present in a specific type of USB floppy drive (NEC PC-VP-BU04)at power on.
Root cause is that Read Capacity command returns media not present error, then UsbMassStorage driver issues Sense Request command to get the sense data. However, the USB floppy drive still returns the previous error for the Sense Request command. UsbBootRequestSense() does not handle this case correctly and returns EFI_SUCCESS so that the block size of the Block IO protocol instance is set to be 0.

Solution is to fix the logic to handle the case and add protective logic to avoid setting block size to be 0.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8979 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-23 01:30:16 +00:00
vanjeff 6795df33dd remove UndiRuntimeDxe from MdeModulePkg to OptionRomPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8739 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-03 14:36:04 +00:00
gikidy d14faa5275 Update the SCSI Disk Driver to not mount drives on physical only SCSI channels
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8677 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-29 05:58:14 +00:00
gikidy ef13cf23ee Enhance error handle of BuildDevicePath for it is possible to receive other errors.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8667 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-26 06:29:00 +00:00
eric_tian 7e038442a8 remove the self-implementation on checksum() in this module by using BaseLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8637 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-24 02:30:53 +00:00
gikidy 4607d9e5e1 The USB keyboard driver use too high TPL event (Notify) to a ckeck repeated key stoke, should use CallBack instead.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8527 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-11 06:25:30 +00:00
mdkinney 776a705ef1 Update USB Mass Storage driver to declare its dependency on the BaseLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8353 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 20:04:23 +00:00
rsun3 d1a8a1dc99 Fix a bug in the SCSI Bus driver due to which some SCSI devices can not be discovered. Per SCSI spec, the standard INQUIRY data shall contain at least 36 bytes and the length of the data is variable. The definition
///
/// Standard INQUIRY data format
///
typedef struct {
  UINT8 Peripheral_Type : 5;
  UINT8 Peripheral_Qualifier : 3;
  UINT8 DeviceType_Modifier : 7;
  UINT8 Rmb : 1;
  UINT8 Version;
  UINT8 Response_Data_Format;
  UINT8 Addnl_Length;
  UINT8 Reserved_5_95[95 - 5 + 1];
} EFI_SCSI_INQUIRY_DATA;

is longer than 36 bytes and EFI_BAD_BUFFER_SIZE may be returned if the actual inquiry data is less than that of EFI_SCSI_INQUIRY_DATA.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8329 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 05:38:40 +00:00
gikidy 0254efc01e Replace references to RFC 3066 with RFC 4646.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8212 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 05:32:11 +00:00
vanjeff bdc825139c Changed ID into Id.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8130 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-20 05:47:57 +00:00
rsun3 cb7d01c0c9 HII Library Class interface refine.
The "HiiLib" prefix for all HII Library API function names changed to "Hii".

Remove: 
  HiiLibPreparePackageList(), replaced by HiiAddPackages()
  HiiLibNewString(), replaced by HiiSetString()
  HiiLibGetStringFromHandle(), replaced by HiiGetString()
  HiiLibGetStringFromToken(), replaced by HiiGetPackageString()
  HiiLibExtractGuidFromHiiHandle()
  HiiLibDevicePathToHiiHandle()
  HiiLibGetSupportedSecondaryLanguages()
  HiiLibGetSupportedLanguageNumber()
  HiiLibExportPackageLists()
  HiiLibListPackageLists()
  
Interface change:
  HiiAddPackages()
  HiiSetString()
  HiiGetString()
  HiiGetHiiHandles()

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8083 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-14 10:47:19 +00:00
jljusten 6d3ea23f11 Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8062 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-10 20:58:18 +00:00