qhuang8 [Wed, 18 Nov 2009 06:31:04 +0000 (06:31 +0000)]
Fix incorrect EDK library enumeration in EdkShellPkg.dsc:
EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf: apply to both IA32 and x64 CPU architectures.
EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf: apply to IPF CPU architecture.
qhuang8 [Wed, 18 Nov 2009 04:12:26 +0000 (04:12 +0000)]
Update framework CPU I/O protocol to solve some symbol duplication and conflict issues. This protocol is different from PI one in that it is a runtime protocol.
xli24 [Tue, 17 Nov 2009 15:00:28 +0000 (15:00 +0000)]
Following 3 updates are for spec update published in PI 1.2.
1. Rename EFI_PEI_NEXT_VARIABLE_NAME2 to EFI_PEI_GET_NEXT_VARIABLE_NAME2, as PI 1.2 specifies.
2. Add return status description for PEI Service FfsGetVolumeInfo.
3. Update parameter description for EFI_PEI_READ_ONLY_VARIABLE2_PPI.NextVariableName().
qouyang [Tue, 17 Nov 2009 07:57:02 +0000 (07:57 +0000)]
Updated the IpIoLiband and the change includes:
1) Add one structure member – IpHdrLen in the EFI_NET_SESSION_DATA data structure.
2) Pass IP header length to upper-layer through this new member. The length of IP header will be used for ICMP6 packet generation in upper-layer.
rsun3 [Mon, 16 Nov 2009 06:36:22 +0000 (06:36 +0000)]
There should be no CONST modifier for the This parameter of EFI_SMM_ACCESS2_PROTOCOL.Open()/Close()/Lock() because LockState or OpenState field of the EFI_SMM_ACCESS2_PROTOCOL may be changed during these functions.
xdu2 [Thu, 12 Nov 2009 10:40:58 +0000 (10:40 +0000)]
1. Add UEFI 2.2 VLAN device path definition to MdePkg
2. Update DevicePathDxe to support VLAN device path node
3. Update GenericBdsLib function DevicePathToStr() to support VLAN device path node
xdu2 [Thu, 12 Nov 2009 04:58:19 +0000 (04:58 +0000)]
1. Update SetupBrowser to pass correct buffer value for OrderedList Callback
2. Fix UI hang issue in SuppressIf Form support checkin
3. Update DriverSample to demo storage width of OrderedList could be defined to types other than UINT8. (Note: this requires BaseTools >= r9397 for updated VfrCompiler.exe)
tye [Wed, 11 Nov 2009 07:06:27 +0000 (07:06 +0000)]
1. Add Link MTU support to IP4 and TCP4 driver.
2. Integrate IPsec functionality to IP4 driver.
3. Move IP_VERSION_4/IP_VERSION_6 definition from IpIoLib to NetLib.
4. Move the Ip6/Udp6 protocol declaration from driver INF to Library INF (DxeIpIoLib and DxeUdpIoLib) for better readability.
klu2 [Wed, 11 Nov 2009 05:51:45 +0000 (05:51 +0000)]
To make backward compatiblity, if can not find corresponding the handle of FV then treat FV as build-in FFS2 format and memory mapped FV that FV handle is pointed to the address of first byte of FV.
klu2 [Wed, 11 Nov 2009 03:27:39 +0000 (03:27 +0000)]
Enabling EFI_PEI_FIRMWARE_VOLUME_PPI introduced by PI1.2.
1, Implement EFI_PEI_FIRMWARE_VOLUME_PPI for FFS2 format as build-in supporting FV format in PeiCore.
2, Reduce the assumption of memory-mapped FV in PeiCore. PeiCore should access FV via EFI_PEI_FIRMWARE_VOLUME_PPI interface but not cast FvHandle/FileHandle to EFI_FIRMWARE_VOLUME_HEADER/EFI_FV_FILE_HEADER directly.
3, Reduce AllFv[] and AllFvCount in PEI_CORE_INSTANCE structure. Original PEI_CORE_INSTANCE use AllFv[] and Fv[] array to manage discovered FV and dispatched FV. But not need to make thing too complex. Now PEI_CORE_FV_HANDLE array of Fv[] will take responsibility to manage all FV instance and status.
4, Fix the bug use PeiDispatcher use wrong index for PeiFfsFindNextVolume(),
5, Fix the bug in PeiFfsFindNextVolume(), if instance is not found, *VolumeHandle should be set to NULL but not VolumeHandle was set to NULL.
AJFISH [Tue, 10 Nov 2009 20:00:37 +0000 (20:00 +0000)]
Added a patch for Shell svn rev 33 that makes it build under GCC and ARM RVCT. Update ReadMe.txt to include optinal instructions to add the patch. This patch does not fix all the case issues in the Shell, but it does name all files in a consistent way so fixing the file name in the file system should fix any build issues on a case sensative file system. Fixing case bugs was breaking the patch and I could not figure out how to make it work.
AJFISH [Tue, 10 Nov 2009 17:54:08 +0000 (17:54 +0000)]
Adding GCC and RVCT support. Since edk uses [nmake] section we add to add <BuildOpitons> to pass the correct flags to the shell. I had to make lots of changes to the Shell svn r33 to make it compile for GCC and to compile with RVCT. I will post a diff to the discusion list and see how we should handle the Shell source code changes.
klu2 [Tue, 10 Nov 2009 08:45:07 +0000 (08:45 +0000)]
Make PcdPeim/PcdDxe driver also produce EFI_PCD_PPI/EFI_PCD_PROTOCOL defined in PI 1.2 vol3. The EFI_PCD_PPI/EFI_PCD_PROTOCOL only support dynamic-ex type PCD, but original PCD_PPI/PCD_PROTOCOL in MdePkg support dynamic and dynamic-ex type PCDs.
klu2 [Tue, 10 Nov 2009 08:44:56 +0000 (08:44 +0000)]
Make PcdPeim/PcdDxe driver also produce EFI_PCD_PPI/EFI_PCD_PROTOCOL defined in PI 1.2 vol3. The EFI_PCD_PPI/EFI_PCD_PROTOCOL only support dynamic-ex type PCD, but original PCD_PPI/PCD_PROTOCOL in MdePkg support dynamic and dynamic-ex type PCDs.
qhuang8 [Mon, 9 Nov 2009 05:13:14 +0000 (05:13 +0000)]
Change the GUID value of FVB to be that of FVB2 in PI 1.2 spec. this will force FVB drivers built through the ECP to produce the PI 1.2 FVB2 Protocol GUID
rsun3 [Thu, 5 Nov 2009 08:53:47 +0000 (08:53 +0000)]
Change the behavior of the HII Library function HiiGetHiiHandles() when the PackageListGuid parameter is not NULL. The original behavior is that if this parameter is not NULL at most 1 HII Handle is returned. Behavior after change is if this parameter is not NULL zero or more HII Handles associated with PackageListGuid are returned, because it is possible that there are multiple package lists with same package list GUID in the HII Database.
tye [Wed, 4 Nov 2009 08:18:34 +0000 (08:18 +0000)]
[Change summary]:
1. Update NetLib to a combined NetLib support dual network stack:
1) Add Network Debug facility for IPv4 stack.
2) Extend the library APIs to support IPv6 stack:
a. NetIp6IsUnspecifiedAddr
b. NetIp6IsLinkLocalAddr
c. NetIp6IsNetEqual
d. NetLibCreateIPv6DPathNode.
e. NetIp6PseudoHeadChecksum
f. NetIp6IsValidUnicast
3) Update the structure definitions:
a. Update NET_BUF to add EFI_IP6_HEADER and EFI_UDP_HEADER
b. Add NET_IP6_PSEUDO_HDR
4) Update Ip4IsUnicast to NetIp4IsUnicast
2. Update the impacted modules to adopt the combined NetLib.
3. Clean up coding style errors in all network drivers and libraries.
vanjeff [Wed, 4 Nov 2009 06:51:07 +0000 (06:51 +0000)]
1. rolled back Hob library to remove new API - BuildCapsuleHob() and related implementation in MdePkg.
2. implemented BuildCvHob() in PeiHobLib/HobLib.c.
xli24 [Mon, 2 Nov 2009 04:13:25 +0000 (04:13 +0000)]
The value of PcdStatusCodeValueSetVirtualAddressMap is changed from 0x03101004 to 0x03111004, which equals EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP.
xli24 [Mon, 2 Nov 2009 03:22:51 +0000 (03:22 +0000)]
2 PCD values of status code are updated:
1. PcdStatusCodeValueBootServiceExit. Its value is changed from 0x3100019 to 0x3101019, which equals EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_BS_PC_EXIT_BOOT_SERVICES.
2. PcdStatusCodeValuePeiHandoffToDxe. Its value is changed from 0x3031001 to 0x3021001, which equals EFI_SOFTWARE_PEI_CORE | EFI_SW_PEI_CORE_PC_HANDOFF_TO_NEXT.
tye [Fri, 30 Oct 2009 05:11:38 +0000 (05:11 +0000)]
1. Update the UdpIo to a combined UdpIo to support both v4 and v6 stack.
2. Update Dhcp4 and Mtftp4 driver to adopt the combined UdpIo.
3. Clean up coding style problems in combined IpIoLib/NetLib. Update Tcp4 and Udp4 to adopt the changes.
mdkinney [Tue, 27 Oct 2009 22:58:55 +0000 (22:58 +0000)]
Update transition from EBC function to native IPF function to guarantee that at least 0x40 bytes of stack frame are reserved to prevent stack corruption.
tye [Mon, 26 Oct 2009 10:15:40 +0000 (10:15 +0000)]
NetLib:
1. Add new interface Ip6IsValidUnicast
2. Add new enum IP6_EXTENSION_HEADER_TYPE
3. Add new structure IP6_ICMP_* definitions
4. Update structure from EFI_UDP4_HEADER to EFI_UDP_HEADER
5. Add new macro EFI_IP6_EQUAL
IpIoLib:
1. Update the IpIoLib to a combined library for both v4 and v6 network stack
2. Fix a bug in IpIoIcmpHandler() - for IPv6 packet, the header length is variable (basic header + extension) rathar than fixed length.
The fix removes the IPv6 header fields and notify the user with the ICMPv6 packet only containing payload.
TcpDxe/UdpDxe:
1. Update to adapt the new combined IpIoLib
2. Add gEfiIp6ProtocolGuid/gEfiIp6ServiceBindingProtocolGuid to [Protocols] in INF file since the Ip6.h is included in IpIoLib and NetLib.
3. Pass the TCP4/UDP4 UEFI SCT test on NT32 platform.
xdu2 [Mon, 26 Oct 2009 07:44:10 +0000 (07:44 +0000)]
Update SetupBrowser to support call to SendForm() by specify a formset class GUID with input parameter FormsetGuid.
With this update, SendForm() could support formset class GUID other than EFI_HII_PLATFORM_SETUP_FORMSET_GUID, for example, the EFI_HII_DRIVER_HEALTH_FORMSET_GUID.
jchen20 [Mon, 26 Oct 2009 06:54:55 +0000 (06:54 +0000)]
For now PEI Core LoadImage() service to always call LoadAndRelocatePeCoffImage() even for XIP PEIMs.However the AllocatePage invoked in S3 path will make system assert. The patch is to fix it.
xdu2 [Mon, 26 Oct 2009 06:47:50 +0000 (06:47 +0000)]
Fix a UI hang bug when adding Boot Option or Driver Option.
Reproduce steps:
1. plug a NIC card to system
2. boot and select "Boot Maintenance Manager"->"Driver Options"->"Add Driver Option", a "MAC" device path will show up
3. select "MAC" device path and press Enter, and then press ESC
4. select "MAC" device path again, then the UI will hang.
xdu2 [Mon, 26 Oct 2009 03:05:16 +0000 (03:05 +0000)]
1. Code clean up: add IN/OUT modifier for parameters.
2. UI enchancement: if there is no editable item in a Form, the F9/F10 will not be displayed in the footer.
xdu2 [Mon, 26 Oct 2009 03:04:08 +0000 (03:04 +0000)]
Update FormBrowser to conform to UEFI spec Table 197. Callback Behavior for Cross-Reference:
"CHANGING: If EFI_UNSUPPORTED or EFI_SUCCESS, cross-reference is taken. Any other error the cross-reference will not be taken."
xdu2 [Mon, 26 Oct 2009 03:03:47 +0000 (03:03 +0000)]
Add support for newly defined VarStore type EFI_IFR_TYPE_UNDEFINED, EFI_IFR_TYPE_ACTION and EFI_IFR_TYPE_BUFFER in UEFI spec.
Note: with this update, the limitation for "OrderedList should use array of data type UINT8 as its storage" is removed; now OrderedList could use any data type (UINT8/UINT16/UINT32/UINT64) as its storage array.
xdu2 [Mon, 26 Oct 2009 03:03:12 +0000 (03:03 +0000)]
Change the FormBrowser behavior of "Pressing ESC":
The old behavior is: if press ESC, it will exit the whole Formset.
The new behavior is: if press ESC, it will return to the parent Form; if current Form is the root Form of a FormSet, it will exit the whole FormSet.
tye [Thu, 22 Oct 2009 06:29:51 +0000 (06:29 +0000)]
1. Fix timer unit bug in MNP: default rx/tx timeout value should be 10,000,000 (10s) according to UEFI spec.
2. Enable the mapping from IPv6 multicast address to MAC address in MnpMcastIpToMac().
3. Remove 2 tabs.
tye [Wed, 21 Oct 2009 09:37:10 +0000 (09:37 +0000)]
1. Fix a bug in Dhcp4 to prevent unexpected broadcast DHCP packets be queued up in the system: these packets will never be freed and will cumulate as time goes on, and then it will cause the system becomes very slow. This issue is reported by HP.
2. Sync HSD #210249 patch: Fix bug in handling certain network errors in EfiDhcp4TransmitReceive() for DHCP4 driver
3. Enhance DhcpCleanLease to clear Netmask as well, so that Dhcp4->GetModeData() could return clean data in Dhcp4Stopped state.
davidhuang [Tue, 20 Oct 2009 03:44:43 +0000 (03:44 +0000)]
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