oliviermartin [Tue, 13 Dec 2011 09:42:36 +0000 (09:42 +0000)]
SecurityPkg/VariableAuthenticated: Check if there is a NV Variable Storage header prior to use its attributes
The Variable PEI and RuntimeDxe drivers were using the attribute 'HeaderLength' of
EFI_FIRMWARE_VOLUME_HEADER without checking if a Firmware Volume Header was existing at
the base address.
In case the Firmware Volume Header does not exist or is corrupted, the attribute 'HeaderLength'
is a non valid value that can lead to a non valid physical address when accessing produces an
access error.
oliviermartin [Mon, 12 Dec 2011 19:00:59 +0000 (19:00 +0000)]
MdeModulePkg/Variable: Check if there is a NV Variable Storage header prior to use its attributes
The Variable PEI and RuntimeDxe drivers were using the attribute 'HeaderLength' of
EFI_FIRMWARE_VOLUME_HEADER without checking if a Firmware Volume Header was existing at
the base address.
In case the Firmware Volume Header does not exist or is corrupted, the attribute 'HeaderLength'
is a non valid value that can lead to a non valid physical address when accessing produces an
access error.
rsun3 [Fri, 9 Dec 2011 02:35:04 +0000 (02:35 +0000)]
MdeModulePkg DXE Core: Refine code to avoid UNIXGCC build break.
The UNIXGCC compiler generates an internal call for division operation when compiling CoreInternalWaitForTick(), which causes build break due to link failure. This check-in changes the implementation of CoreInternalWaitForTick() to avoid this case.
lgao4 [Wed, 7 Dec 2011 06:19:28 +0000 (06:19 +0000)]
Sync BaseTool trunk (version r2460) into EDKII BaseTools. The change mainly includes:
1. Support use expression as DSC file PCD value.
2. Update FDF parser to fix bug to get complete macro value.
3. Fix bug to replace SET statement macro and evaluate SET statement PCD value in FDF file.
4. Fix a bug for MACRO defined in conditional block cannot be processed correctly
oliviermartin [Tue, 6 Dec 2011 16:32:11 +0000 (16:32 +0000)]
ArmPlatformPkg/Sec: Enabled VFP (if supported by platform) prior to any library invocation
Some compilers uses VFP for some 64bit operation. If the VFP coprocessor is not enabled at
this stage the processor raises an undefined exception.
To prevent this case, the VFP enabling has been moved at the beginning of the platform
initialization phase.
oliviermartin [Mon, 5 Dec 2011 14:29:16 +0000 (14:29 +0000)]
ArmPlatformPkg: Update pending patches with the latest BaseTools SyncUp
- ARMLINUXGCC toolchain is now supported
- ARMGCC: Set '0x0' for the linkage base address
- Fixed Trim utility
- Fixed support for !include in DSC files
ydong10 [Mon, 5 Dec 2011 12:45:45 +0000 (12:45 +0000)]
Disable change value for grayout or readonly menu. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12817 6f19259b-4bc3-4df7-8a09-765794883524
lgao4 [Mon, 5 Dec 2011 01:51:12 +0000 (01:51 +0000)]
Correct DriverFamilyOverrideProtocol guid value defined in MdePkg. Signed-off-by: lgao4 Reviewed-by: mdkinney
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12814 6f19259b-4bc3-4df7-8a09-765794883524
darylm503 [Thu, 1 Dec 2011 18:24:25 +0000 (18:24 +0000)]
AppPkg/Applications/Python: Workaround recent build tool changes which prevent building Python.
Recent changes to the build tools removed user-defined MACRO capability in INF files. This change manually expands the PYTHON_VERSION macro so that one can again build Python.
qianouyang [Thu, 1 Dec 2011 05:10:41 +0000 (05:10 +0000)]
1. Remove the unnecessary check of the existing of BlockIo2 in PartitionDriverBindingSupported().
2. Remove the comments of the BlockIo2 check in PartitionDriverBindingStart().
darylm503 [Wed, 30 Nov 2011 00:52:45 +0000 (00:52 +0000)]
StdLib: Add isDirSep character classification macro and function. Implement several Posix functions and clean up EfiSysCall.h. Align file mode handling with UEFI file protocol flags.
Include/ctype.h: Function declaration and Macro definition of isDirSep
Include/unistd.h: Declarations added from EfiSysCall.h
Include/utime.h: New file. For the Posix utime() function.
Include/sys/_ctype.h: Update character class bit maps.
Include/sys/EfiSysCall.h: Move declarations to unistd.h
Include/sys/fcntl.h: Improve comments. Add UEFI-specific macros.
Include/sys/filio.h: Remove declarations for unsupported file ioctls.
Include/sys/stat.h: Fix flags. Add macros and declarations.
Include/sys/time.h: Add declarations for new functions Tm2Efi() and Time2Efi().
Include/sys/types.h: Use EFI-specific instead of BSD-specific definitions for typedefs.
Include/sys/unistd.h: Delete inappropriate content. Guard macro definitions.
LibC/Ctype/CClass.c: Character classification function implementation for isDirSep.
LibC/Ctype/iCtype.c: Update character classification and case conversion tables.
LibC/Time/TimeEfi.c: Improve comments. Implement new functions Tm2Efi() and Time2Efi().
LibC/Uefi/StubFunctions.c: Add missing include. Cosmetic changes to declarations.
LibC/Uefi/SysCalls.c: Add support function for utime().
LibC/Uefi/Uefi.inf: Add LibGen library class dependency.
LibC/Uefi/Xform.c: Enhance Omode2EFI().
LibC/Uefi/Devices/UefiShell/daShell.c: Enhance da_ShellMkdir. Implement da_ShellIoctl to set file times.
PosixLib/Gen/access.c: New file. Implement the access() function.
PosixLib/Gen/dirname.c: Enhance to use isDirSep and differentiate between the device, path, and filename components of UEFI Shell-style paths.
PosixLib/Gen/utime.c: New file. Implement the utime() function.
PosixLib/Gen/LibGen.inf: Change MODULE_TYPE. Add new files.
jcarsey [Tue, 29 Nov 2011 15:37:04 +0000 (15:37 +0000)]
ShellPkg: Fix handling of empty files in Hexedit
Currently hexedit thinks all files that are non-existent (i.e. new) or empty must be a memory error since the pointer is checked, but the file size is not referenced.
lgao4 [Mon, 28 Nov 2011 06:24:39 +0000 (06:24 +0000)]
Add the missing options for X64 and IPF arch of MSFT:NOOPT target. Signed-off-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12793 6f19259b-4bc3-4df7-8a09-765794883524
lgao4 [Mon, 28 Nov 2011 03:43:26 +0000 (03:43 +0000)]
Correctly use GetPtrTypeSize() to get MaxSize. Signed-off-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12790 6f19259b-4bc3-4df7-8a09-765794883524
lgao4 [Mon, 28 Nov 2011 03:36:25 +0000 (03:36 +0000)]
Fix PcdSetPtr() service to use the max buffer size to check whether new buffer data is filled into. Signed-off-by: lgao4 Reviewed-by: jlin16
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12789 6f19259b-4bc3-4df7-8a09-765794883524
erictian [Fri, 25 Nov 2011 08:08:54 +0000 (08:08 +0000)]
MdeModulePkg: The patch eliminates two assumptions
1) XHCI host controller hw always provides more than 5 interrupters.
Now using interrupter 0 to accommodate all received events.
2) XHCI host controller hw always provides 32bytes context size.
Now it dynamically detect context size and construct it.
also solved several issues:
1) Divides 64byte width register access to two 32bit registers access because some XHCI chipsets cannot support a single 64bit access.
2) Remove halt host controller statement in UsbBusDriverBindingStop(). It has been done by host controller’s DriverBindingStop(). And XhciDriverBindingStop() need XHCI host controller is in running state because it need execute DISABLE_SLOT cmd to release h/w resource.
lgao4 [Fri, 25 Nov 2011 06:21:03 +0000 (06:21 +0000)]
Sync BaseTool trunk (version r2423) into EDKII BaseTools. The change mainly includes:
1. Fix !include issues
2. Fix Trim to skip the postfix 'U' for hexadecimal and decimal numbers
3. Fix building error C2733 when building C++ code.
4. Add GCC46 tool chain definition
5. Add new RVCT and RVCTLINUX tool chains
lzeng14 [Fri, 25 Nov 2011 02:24:07 +0000 (02:24 +0000)]
Update DP to get Image name with the following methods orderly.
1. Image PDB
2. ComponentName2 protocol
3. FFS UI section
4. Image GUID
5. Image DevicePath
6. Unknown Driver Name
rsun3 [Fri, 25 Nov 2011 01:59:50 +0000 (01:59 +0000)]
PcAtChipsetPkg HPET Timer DXE Driver: Update CPU Arch Protocol.SetTimerPeriod() to program HPET/IOAPIC register with APIC ID of current BSP in case the BSP has been switched.
lzeng14 [Fri, 25 Nov 2011 01:57:23 +0000 (01:57 +0000)]
1. According to PI errata 0000840 and PI 1.2c Vol 3 3.2.3, remove description rows that start with a Required Alignment (bytes) of 2, 4, and 8.
2. In PeiFfsFvPpiGetFileInfo(), FileHeader->Attributes needs to be converted to EFI_FV_FILE_ATTRIBUTES from EFI_FFS_FILE_ATTRIBUTES before it is assigned to FileInfo->FileAttributes.
3. Set EFI_FV_FILE_ATTRIB_FIXED and EFI_FV_FILE_ATTRIB_MEMORY_MAPPED bits for EFI_FV_FILE_ATTRIBUTES based on the FFS file and FV image.
lzeng14 [Fri, 25 Nov 2011 01:56:58 +0000 (01:56 +0000)]
1. According to PI errata 0000840 and PI 1.2c Vol 3 3.2.3, remove description rows that start with a Required Alignment (bytes) of 2, 4, and 8.
2. In PeiFfsFvPpiGetFileInfo(), FileHeader->Attributes needs to be converted to EFI_FV_FILE_ATTRIBUTES from EFI_FFS_FILE_ATTRIBUTES before it is assigned to FileInfo->FileAttributes.
3. Set EFI_FV_FILE_ATTRIB_FIXED and EFI_FV_FILE_ATTRIB_MEMORY_MAPPED bits for EFI_FV_FILE_ATTRIBUTES based on the FFS file and FV image.
ydong10 [Thu, 24 Nov 2011 08:47:57 +0000 (08:47 +0000)]
Patch includes:
1. Support get default value for ref opcode logic.
2. Correct the sample for ref opcode with default value.
3. Refine logic about processing device path info in ref value. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12774 6f19259b-4bc3-4df7-8a09-765794883524
qianouyang [Wed, 23 Nov 2011 10:31:04 +0000 (10:31 +0000)]
1.Update IPsec driver to set the Transform structure’s Next Payload field to be zero when it is the last transform structure in a proposal. The same as Proposal Structure’s Next Payload filed, it also should be zero when it is the last proposal in the SA.
2.Delete all SAs in the IPsec->Stop().
rsun3 [Wed, 23 Nov 2011 08:15:14 +0000 (08:15 +0000)]
MdeModulePkg DXE Core: Update implementation of SetMemorySpaceAttributes() DXE Service to return EFI_NOT_AVAILABLE_YET if CPU Arch Protocol is not available per PI 1.2 Errata C spec.
jljusten [Tue, 22 Nov 2011 17:15:23 +0000 (17:15 +0000)]
MdePkg DxeServicesLib: Search further in GetFileBufferByFilePath
This function supports loading via these interfaces, in order:
* gEfiFirmwareVolume2ProtocolGuid
* gEfiSimpleFileSystemProtocolGuid
* gEfiLoadFile2ProtocolGuid
* gEfiLoadFileProtocolGuid
Previously, if a device path supported any of these interfaces,
it would only check that interface. (If it failed to load via
that interface, it would not move on and check the others.)
This change causes the other interfaces to still be checked if
the previous ones fail.
ydong10 [Tue, 22 Nov 2011 07:46:35 +0000 (07:46 +0000)]
Add support for EFI_IFR_QUESTION_REF3 opcode for browser when this opcode has the device path info. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12759 6f19259b-4bc3-4df7-8a09-765794883524
lzeng14 [Mon, 21 Nov 2011 09:32:09 +0000 (09:32 +0000)]
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
lzeng14 [Mon, 21 Nov 2011 08:59:54 +0000 (08:59 +0000)]
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
lzeng14 [Mon, 21 Nov 2011 08:57:02 +0000 (08:57 +0000)]
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
lzeng14 [Mon, 21 Nov 2011 08:56:48 +0000 (08:56 +0000)]
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
lzeng14 [Mon, 21 Nov 2011 08:53:54 +0000 (08:53 +0000)]
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.