Problem with PXE boot to Windows Server 2008 install. The reason is that UdpRead and UdpWrite interfaces cannot work well with the same UDP instance.
[Solution]
Use separate instances for UDP Read and UDP write in UefiPxeBC module.
[Impaction]:
UefiPxeBcDxe and Udp4Dxe module.
[Reference Info]:
EDK tracker 1133 - Problem with PXE boot to Windows Server 2008 install.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5303 6f19259b-4bc3-4df7-8a09-765794883524
Fixed one bug in PciBus. PciBus doesn't clear the bridges bus number for all the root bridges before scanning any of them.
[Description]:
The static IP configuration no long works in the EDK 1.04 network package. The cause is that changing the type of EFI_IP4_IPCONFIG_DATA.RouteTable from a variable length array to a pointer is not clean. If the whole structure is read from variable, the pointer is invalid.
[Solution]
Fix the pointer before using it
[Impaction]:
Ip4ConfigDxe module.
[Reference Info]:
EDK tracker 1134 - Static IP configuration no long works.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5291 6f19259b-4bc3-4df7-8a09-765794883524
Memory may leak because the handles in IScsiUpdateDeviceList is not freed if the "iSCSIDeviceList" already exists
[Impaction]
add Free() func to free memory properly.
[Reference Info]
The Handles in IScsiUpdateDeviceList is not freed if the "iSCSIDeviceList" already exists
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5211 6f19259b-4bc3-4df7-8a09-765794883524
add a judgement of whether the control command is equal with previous one or not.
[Impaction]
Judge if the control command is equaled with previous one. This handler can improve performance.
[Reference Info]
Currently the terminal driver outputs control commands upon user's request regardless of whether the new attribute is the same as previous one or not.
Actually, it could be implemented as only outputting control command when the new Attribute is different than previous one
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5113 6f19259b-4bc3-4df7-8a09-765794883524
change the old code style to comply with Doxgen format
[Impaction]
add comments for every function
[Reference Info]
add comments to achieve the highest standard of code quality matrix
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5079 6f19259b-4bc3-4df7-8a09-765794883524
solve the big file transfer issue using ISCSI
[Impaction]
change the control flow on IScsiExecuteScsiCommand function
[Reference Info]
The original design incorrectly uses a timer (its span is usually 2 seconds) to ensure the timely execution of CMD PDU send by initiator. For example: When initiator delivers a CMD PDU(WRITE command) in which the ExpDataXferLength filed is larger than DataSegmentLength field, according to ISCSI protocol spec, the target will respond it with a R2T PDU which is followed by a sequential DATA-OUT PDUs. In this situation, the original code may loop to deal with the arrival packet until initiator receives a RESPONSE PDU or the timer is expired. This way may cause the bigger file is more likely to fail.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5044 6f19259b-4bc3-4df7-8a09-765794883524
'cast from pointer to integer of different size'
when casting from a pointer directly to a
64 bit number. Added an intermediate cast to
UINTN.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5009 6f19259b-4bc3-4df7-8a09-765794883524
solve the x64 exception issue when unloading iSCSI driver
[Impaction]
add some handler for failure branch and prohibit the additional ISCSI INITIATOR NAME PROTOCOL from being installed.
[Reference Info]
this bug is reported by DELL. it causes an exception in x64 on unloading iscsi driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4941 6f19259b-4bc3-4df7-8a09-765794883524
The patch enhanced variable services to support:
1) If adding variable does not execute completely, the state is in_deleted, the next time find variable should have to retrieve the in_deleted variable.
2) when Reclaiming the variable storage, the 1) variable should be considered.
[Impaction]:
This is backward-compatible update.
[Reference Info]:
9552, 8632
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4916 6f19259b-4bc3-4df7-8a09-765794883524
PeiGetVariable() and PeiGetNextVariableName() do not check NULL pointer access, not follow spec
[Impaction]
modify the Variable.c file in MdeModulePkg/Universal/Variable/Pei
[Reference Info]
PeiGetVariable() and PeiGetVariableName() do not follow spec
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4899 6f19259b-4bc3-4df7-8a09-765794883524
1) Remove HiiLibAddFontPackageToHiiDatabase as it is not properly defined API. It only cover Simplified Font. User is recomended to use Hii Font Protocol API to add various font into HII database.
[Impaction]:
All modules that may reference HiiLibAddFontPackageToHiiDatabase function.
[Reference Info]:
No.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4856 6f19259b-4bc3-4df7-8a09-765794883524
fix the wrote data corrupt bug about iscsi
[Impaction]
modify the IScsiGenerateDataOutPduSequence() function in MdeModulePkg.
[Reference Info]
when writing some data from local disk into remote iscsi disk, the data may be corrupt.The root cause is caused by the data out PDU's offset is not created correctly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4843 6f19259b-4bc3-4df7-8a09-765794883524
Resolve gcc warning. The backslash ('\') at the end of a comment
line is interpretted as a multi-line comment and generates a
warning.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4838 6f19259b-4bc3-4df7-8a09-765794883524
1. some code fragments refer to Data field will pointer + sizeof (BBS_TYPE) + sizeof (UINT16).
2. The list of BM_LEGACY_DEV_ORDER_CONTEXT is supposed to be saved to variable on flash. Progma it can help to reduce variable size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4760 6f19259b-4bc3-4df7-8a09-765794883524
edk2/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.c:
edk2/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.h:
edk2/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf:
edk2/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.msa:
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4717 6f19259b-4bc3-4df7-8a09-765794883524
WatchDogTimer.c WatchDogTimer.h WatchDogTimer.inf WatchDogTimer.msa
renamed to
WatchdogTimer.c WatchdogTimer.h WatchdogTimer.inf WatchdogTimer.msa
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4714 6f19259b-4bc3-4df7-8a09-765794883524
WatchDogTimer.c WatchDogTimer.h WatchDogTimer.inf WatchDogTimer.msa
renamed to
WatchdogTimer.c WatchdogTimer.h WatchdogTimer.inf WatchdogTimer.msa
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4713 6f19259b-4bc3-4df7-8a09-765794883524
WatchDogTimer.c WatchDogTimer.h WatchDogTimer.inf WatchDogTimer.msa
renamed to
WatchdogTimer.c WatchdogTimer.h WatchdogTimer.inf WatchdogTimer.msa
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4712 6f19259b-4bc3-4df7-8a09-765794883524
WatchDogTimer.c WatchDogTimer.h WatchDogTimer.inf WatchDogTimer.msa
renamed to
WatchdogTimer.c WatchdogTimer.h WatchdogTimer.inf WatchdogTimer.msa
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4711 6f19259b-4bc3-4df7-8a09-765794883524
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
Consistency is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4710 6f19259b-4bc3-4df7-8a09-765794883524
Moving usage of 'WatchDogTimer' to 'WatchdogTimer' to match
the architectural protocol, as well as the more common usage
of 'watchdog timer' vs. 'watch dog timer'.
This change is needed for building on systems with
case-sensitive filesystems.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4709 6f19259b-4bc3-4df7-8a09-765794883524
2) Add ExtendedHiiLib and ExtendedIfrSupportLib which implement APIs that require the OPcode and Device Path which is specific to Intel's implementation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4662 6f19259b-4bc3-4df7-8a09-765794883524
1. The default with of hex value is 0 according to MdeLib spec. If we expect it to be 16, we need to state it in the format string explicitly.
2. For UnicodeSPrint, the output buffer size of 0 will not print anything to the buffer according to MdeLib spec. We need to specify the maximum possible buffer size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4635 6f19259b-4bc3-4df7-8a09-765794883524
1. Add one OverrideVariableGuid in MdeModulePkg
2. Add one library PlatDriOverLib used by PlatformDriOverrideDxe.
3. Add PlatformDriOverrideDxe in MdeModulePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4557 6f19259b-4bc3-4df7-8a09-765794883524
2) Add HEADER_VALID_ONLY state of variable, which represents only the header is valid and the data/name is stale. This may be caused by incomplete data updating. Adding the state helps to check whether the header is valid. If variable header is valid, then we must skip the data of variable with the valid size. If the header is invalid, we should only skip the header of variable.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4555 6f19259b-4bc3-4df7-8a09-765794883524
2) Check the integrity of Variable header. In original implementation, if not whole header is correct, then the variable will be treat as invalid. typically, if the NameSize has been programed but the DataSize not, then the variable storage would failed to set new variable.
3) Change the Variable Header Alignment from 1 to 4 bytes on x86. It avoids the DataSize or NameSize cross two blocks. For example, in original implementation, if the NameSize crosses two block, when the FLASH manipulation is interrupted after programed HSB of NameSize and prior to program LSB of NameSize on next block, then the invalid variable header will result in the Variable Storgae broken.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4538 6f19259b-4bc3-4df7-8a09-765794883524