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.
lzeng14 [Mon, 21 Nov 2011 08:53:04 +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.
lzeng14 [Mon, 21 Nov 2011 08:52:27 +0000 (08:52 +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:51:39 +0000 (08:51 +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:50:41 +0000 (08:50 +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.
jyao1 [Mon, 21 Nov 2011 08:35:14 +0000 (08:35 +0000)]
1) Fix GCC version EBC interpreter bug.
Add missing EFIPAI for EbcInterpret and ExecuteEbcImageEntryPoint().
Get return value in EbcLLCALLEXNative(), remove EbcLLGetReturnValue().
2) Fix IA32 EBC interpreter bug on MOVsnw and MOVsnd.
3) Some cleanup
Add missing ReturnEBCStack() for IA32 build.
Remove unnecessary EbcLLGetStackPointer() for X64 and IPF build.
Remove deadcode EbcLLGetStackPointer() and EbcLLGetReturnValue() in IA32/X64/IPF ASM code.
Dump more info in CommonEbcExceptionHandler().
ydong10 [Mon, 21 Nov 2011 07:42:53 +0000 (07:42 +0000)]
Initialize the variable before use it to avoid SCT test failed. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12744 6f19259b-4bc3-4df7-8a09-765794883524
ydong10 [Fri, 18 Nov 2011 07:07:31 +0000 (07:07 +0000)]
Enable buffer type when process some expression opcode which support buffer type. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12739 6f19259b-4bc3-4df7-8a09-765794883524
ydong10 [Fri, 18 Nov 2011 07:05:17 +0000 (07:05 +0000)]
Patch for:
1. Get default value base on the priority: default opcode has highest priority and get from minimum or first option has lowest.
2. When default value saved in expression, not set default value for this question. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12738 6f19259b-4bc3-4df7-8a09-765794883524
lzeng14 [Fri, 18 Nov 2011 01:29:39 +0000 (01:29 +0000)]
According to PI errata 0000718 and PI 1.2c Vol 3 3.2.1, comment out "Types" for EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE structure and "Data" for EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE structure.
vanjeff [Thu, 17 Nov 2011 07:01:12 +0000 (07:01 +0000)]
Remove CONST prefix to follow PI Specification.
This was one incompatible updating, the module produced SMBUS HC protocol should be updated to remove CONST prefix accordingly.
niruiyu [Thu, 17 Nov 2011 01:59:30 +0000 (01:59 +0000)]
Correct the code to use SIZE_OF_EFI_FILE_INFO instead of sizeof (EFI_FILE_INFO) to fix a bug when creating a file/directory with single char as file name in root directory.
niruiyu [Thu, 17 Nov 2011 01:56:30 +0000 (01:56 +0000)]
Correct the code to use SIZE_OF_EFI_FILE_INFO instead of sizeof (EFI_FILE_INFO) to fix a bug when creating a file/directory with single char as file name in root directory.
jyao1 [Wed, 16 Nov 2011 09:41:55 +0000 (09:41 +0000)]
UEFI231 spec compliance:
UEFI231 defines EFI_SMM_COMMUNICATION_ACPI_TABLE. We should move it from Pi/ dir to Uefi/ dir.
UEFI231 defines EFI_SMM_COMMUNICATE_HEADER. We should move it from Protocol/SmmCommunication.h to Uefi/ dir.
The original file will still include the new data structure to keep compatibility.
rsun3 [Wed, 16 Nov 2011 09:38:12 +0000 (09:38 +0000)]
DuetPkg BootSector:
Update start.asm(S)/start16.asm(S)/start32.asm(S)/efi32.asm(S) under DuetPkg\BootSector to follow the IA32 recommendations on switching to protected mode: Immediately following the MOV CR0 instruction, execute a far JMP or far CALL instruction. (This operation is typically a far jump or call to the next instruction in the instruction stream.)
ydong10 [Wed, 16 Nov 2011 07:16:03 +0000 (07:16 +0000)]
Patch include:
1. Browser not support suppress attribute for date/time opcode, not enable this attribute.
2. Show year field in %04d format, old format is %4d.
3. Add sample to use the suppress attribute.
ydong10 [Wed, 16 Nov 2011 05:23:38 +0000 (05:23 +0000)]
Enable lock attribute for statement and form; show this attribute same as grayout. Signed-off-by: ydong10 Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12721 6f19259b-4bc3-4df7-8a09-765794883524
qianouyang [Tue, 15 Nov 2011 13:44:06 +0000 (13:44 +0000)]
In AtaAtapiPassThru driver
1. move the non-blocking task related setting ahead to store the MapTable and PageCount in case there is a IO operation error happened then the error handler code could use those information to release the resource.
2. Enlarge the TPL protective area to make sure the simulative delay time is accurate when there is mixing usage of Non blocking and blocking I/O.
qianouyang [Tue, 15 Nov 2011 10:22:35 +0000 (10:22 +0000)]
Update ConfigAcess Protocol which is produced by SecureBootConfigDxe to follow the UEFI SPEC (Handle the Request parameter is NULL in ExtractConfig interface).
li-elvin [Tue, 15 Nov 2011 07:59:21 +0000 (07:59 +0000)]
CSM is updated to remove RaiseTPL (TPL_HIGH_LEVEL) and disable 2 known UEFI interrupts instead. This is needed to process HPET timer interrupt before going into real mode.