darylm503 [Fri, 15 Jun 2012 19:58:39 +0000 (19:58 +0000)]
StdLib: Add multi-byte character support. The normal "narrow" character set is now UTF-8 instead of ASCII.
Add library classes which are required by StdLib, but not commonly defined in Platform DSC files, to StdLib.inc.
Modify MB_LEN_MAX to be 4, the maximum length of UTF-8 characters.
Adjust size of internal buffers to be multiples of MB_LEN_MAX instead of assuming 1-byte characters.
Make the XYoffset object public and move its declaration into EfiSysCall.h.
lzeng14 [Tue, 12 Jun 2012 04:52:23 +0000 (04:52 +0000)]
EFI_STATUS_CODE_DATA_MAX_SIZE is just for the maximum size of an EFI_DEBUG_INFO structure. Seemly, it is not suitable to be used in SerialStatusCodeHandler, so update SerialStatusCodeHandler to use MAX_DEBUG_MESSAGE_LENGTH (0x100) as the max printed string size to align with other DebugLib’s behavior.
lzeng14 [Tue, 12 Jun 2012 04:46:33 +0000 (04:46 +0000)]
To be consistent with PeiReportStatusCodeLib and DxeReportStatusCode, use MAX_EXTENDED_DATA_SIZE (0x200) as the local max buffer size in RuntimeDxeReportStatusCodeLib.
vanjeff [Mon, 11 Jun 2012 02:15:11 +0000 (02:15 +0000)]
This revision can only work with Intel(c) UDK Debugger Tool version 1.2 or greater. Detailed change log is as below:
1. Define the transfer protocol revision mechanism. Increase the revision number to 0.2 and inform user to use the latest one when the HOST software is too old.
New HOST software will implement logic to handle all other revision mismatch cases.
2. Define new debug message packet to print the debug agent trace information by debug port channel.
3. Add check sum mechanism in the communication protocol between TARGET/HOST.
4. Introduced one "try" mechanism to avoid Debug Agent crashed by some invalid HOST command.
5. Enable the late-attach feature: Change the break in from "!" to "\xFC". Add a new short symbol "\xFA" for attach and a new debug command for detach.
6. Support Terminal work on debug port by install EFI Serial IO protocol upon Debug Communication Library.
7. Enable CPUID feature.
8. Enable the hardware data breakpoint.
9. add handshake to improve usb debug cable identify stability issue.
10.Refine all the communication protocol packet to improve extensibility and debugging performance.
a. Use 64bit for IO port address.
b. Add additional Width field to READ_MEMORY/WRITE_MEMORY.
c. Add SEARCH_SIGNATURE support to speed the symbol finding for late attach.
d. Remove READ_GROUP register.
e. Add READ_ALL_REGISTERS support (WinDbg always requests to read all registers).
11.Move AcquireDebugPortControl () in advance to fix resource collision on IpiSentByApFlag.
12.Fix IO break point does not work issue in PEI phase.
13.Avoid BSP/APs collision when they met break point at the same time.
14.Solve a bug of calculating debug handle in sec phase.
15.Use mailbox content at Dxe phase but not clear it and reinitialize again.
16.Fix FP/MMX/XMM/IO/MSR access issue in both Gdb and WinDbg.
Signed-off-by: Jeff Fan <jeff.fan@intel.com> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13437 6f19259b-4bc3-4df7-8a09-765794883524
lpleahy [Fri, 8 Jun 2012 20:53:12 +0000 (20:53 +0000)]
Fix port retry behavior during connect - All port error paths exit through ConnectComplete to try the next port. When the last port fails to connect, the port error status to errno translation gets done by ConnectPoll.
Testing:
Using two network adapters, second one always connected to the network.
1. Eth0 not configured, not connected - short delay
2. Eth0 not configured, connected - short delay
3. Eth0 configured, not connected - short delay
4. Eth0 configured, connected to private network - long delay due to connection timeout, failover to Eth1
5. Eth1 configured, connected, no server - long delay due to connection timeout, returned timeout error.
lpleahy [Fri, 1 Jun 2012 20:01:30 +0000 (20:01 +0000)]
UseEfiSocketLib.c - Only exit for out of resources, otherwise use all network adapters.
Service.c - Return EFI_SUCCESS if any of the protocols are present. Return failure only when no protocols are available or no more memory available.
KVM can substantially boost the speed of the rep insb/insw/insl
and rep outsb/outsw/outsl instructions by transferring up to
a page of data per VM trap.
This change adds assembly handling of the PCI Host Bridge
I/O FIFO Reads and Writes.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13424 6f19259b-4bc3-4df7-8a09-765794883524
rsun3 [Thu, 31 May 2012 04:06:13 +0000 (04:06 +0000)]
Change returned status codes for SmiManage() per PI 1.2.1 spec.
Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13394 6f19259b-4bc3-4df7-8a09-765794883524
vanjeff [Thu, 31 May 2012 01:34:44 +0000 (01:34 +0000)]
Remove CPU dead loop code from IA32 assembly codes.
Signed-off-by: Fan Jeff <jeff.fan@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13388 6f19259b-4bc3-4df7-8a09-765794883524
jljusten [Wed, 30 May 2012 23:15:59 +0000 (23:15 +0000)]
OvmfPkg/AcpiPlatformDxe: Dynamically add Local APIC entries in MADT
Update MADT processing for QEMU to add additional Local APIC
entries to the MADT.
The MADT is still built with a single Local APIC entry.
If the AcpiPlatformDxe driver determines that more processors
are available, then additional Local APIC entries are added
to the MADT at runtime.
jcarsey [Wed, 30 May 2012 17:34:16 +0000 (17:34 +0000)]
ShellPkg: Enable Runtime DXE drivers to make use of Shell libraries with the expectation that the driver is responsible for ensuring that they are only called when boot services are present. Also adds a ShellCommandLib Depex for gEfiUnicodeCollation2ProtocolGuid to fix constructor crash when used by drivers.
rsun3 [Wed, 30 May 2012 05:24:42 +0000 (05:24 +0000)]
MdePkg SmmCpu.h: Add EFI_SMM_SAVE_STATE_REGISTER_PROCESSOR_ID in enum EFI_SMM_SAVE_STATE_REGISTER Per PI 1.2.1 spec.
Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13374 6f19259b-4bc3-4df7-8a09-765794883524
lzeng14 [Wed, 30 May 2012 02:53:10 +0000 (02:53 +0000)]
According to UEFI spec 2.3.1a. hardware error record variable should use the EFI_HARDWARE_ERROR_VARIABLE VendorGuid and have the L"HwErrRec####" name convention, #### is a printed hex value and no 0x or h is included in the hex value.
Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Guo Dong <guo.dong@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13373 6f19259b-4bc3-4df7-8a09-765794883524
lzeng14 [Tue, 29 May 2012 05:22:01 +0000 (05:22 +0000)]
Update DxeCore and FwVolDxe drivers to inherit authentication status for the FV image, if the image came from an FV image file and section in another firmware volume.
lzeng14 [Tue, 29 May 2012 05:02:43 +0000 (05:02 +0000)]
Optimize the log entry search algorithm to save boot performance.
1. Search from the first entry can be changed to Search from the end entry, because most End just follows its Start.
2. Match Start and End entry, the first comparison can be changed from Handle to EndTimeStamp, because only zero EndTimeStamp is required to be matched.
niruiyu [Fri, 25 May 2012 03:02:26 +0000 (03:02 +0000)]
Correct a bug in AsmCpuidEx() to return correct ECX and EDX.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13359 6f19259b-4bc3-4df7-8a09-765794883524
niruiyu [Thu, 24 May 2012 08:29:09 +0000 (08:29 +0000)]
Remove the check of signature because the code which looks for the input NotifyHandle in the internal linked list is enough.
Enhance ConSplitter to register hot keys for new connected consoles.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13358 6f19259b-4bc3-4df7-8a09-765794883524
niruiyu [Thu, 24 May 2012 03:33:39 +0000 (03:33 +0000)]
Enhance the ConPlatform driver's matching algorithm to manage the console controller when it shares the same parent with a certain instance in the "ConOut".
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13356 6f19259b-4bc3-4df7-8a09-765794883524
leegrosenbaum [Wed, 23 May 2012 00:22:50 +0000 (00:22 +0000)]
Fix build break in OvmfPkgIa32X64.dsc where gEfiSecurityPkgTokenSpaceGuid was no longer found.
It is declared in SecurityPkg.dec, but with the latest build tools, since this package builds multiple architectures (IA32 & X64) and there are no IA32 modules used from the SecurityPkg, it is now necessary to place the gEfiSecurityPkgTokenSpaceGuid PCD's in a [PcdsFixedAtBuild.X64] section.
geekboy15a [Fri, 18 May 2012 20:29:14 +0000 (20:29 +0000)]
UefiCpuPkg: Added code to enable Local APIC.
This patch enables interrupt delivery via the Local APIC as part of the initialization process.
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Rosenbaum, Lee G <lee.g.rosenbaum@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13338 6f19259b-4bc3-4df7-8a09-765794883524
geekboy15a [Fri, 18 May 2012 20:22:36 +0000 (20:22 +0000)]
DuetPkg: Enabled build with new version of CpuDxe driver.
Added a definition to the LocalApicLib in the project files to allow Duet to build with the updated version of the CpuDxe driver.
Tracker: 207345
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Rosenbaum, Lee G <lee.g.rosenbaum@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13337 6f19259b-4bc3-4df7-8a09-765794883524
ydong10 [Fri, 18 May 2012 02:24:25 +0000 (02:24 +0000)]
Add logic to validate variable before use it.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Jiewen Yao <jiewen,yao@intel.com> Reviewed-by: Michael D. Kinney <michael.d.kinney@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13323 6f19259b-4bc3-4df7-8a09-765794883524
lgao4 [Wed, 16 May 2012 00:42:41 +0000 (00:42 +0000)]
Update MdePkg and EdkCompatibilityPkg INT8 definition to be typedef signed char to follow UEFI spec. Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Michael D. Kinney <michael.d.kinney@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13313 6f19259b-4bc3-4df7-8a09-765794883524
lgao4 [Wed, 16 May 2012 00:42:21 +0000 (00:42 +0000)]
Update MdePkg and EdkCompatibilityPkg INT8 definition to be typedef signed char to follow UEFI spec. Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Michael D. Kinney <michael.d.kinney@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13312 6f19259b-4bc3-4df7-8a09-765794883524
sfu5 [Mon, 14 May 2012 07:36:20 +0000 (07:36 +0000)]
Update auth-variable and secure boot UI driver to support only time-based PK, KEK and Signature Database variable variable according to UEFI Spec requirement.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Dong Guo <guo.dong@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13310 6f19259b-4bc3-4df7-8a09-765794883524
lzeng14 [Fri, 11 May 2012 01:48:45 +0000 (01:48 +0000)]
The code line where judges if offset exceed the FTW work space boundary, in some special situations where there are so many records, the offset may happen to be just equal to FtwWorkSpaceSize. And then FtwHead will be updated to be outside of work space wrongly, and cause the system to hang in this driver.
lzeng14 [Fri, 11 May 2012 01:41:28 +0000 (01:41 +0000)]
Currently, CapsulePei assumes ScatterGatherList are all related. But, UEFI spec has no such requirement, ScatterGatherList may be standalone. So update CapsulePei to only ignore the invalid ScatterGatherList, and still keep the valid ScatterGatherList.