Re: [edk2] [PATCH V2 24/50] BaseTool/Pkcs7: Add TestRoot.cer.
Reviewed-by: Yonghong ZhuBest Regards, Zhu Yonghong -Original Message- From: Yao, Jiewen Sent: Friday, September 30, 2016 8:22 PM To: edk2-devel@lists.01.org Cc: Zhu, Yonghong ; Gao, Liming ; Kinney, Michael D Subject: [PATCH V2 24/50] BaseTool/Pkcs7: Add TestRoot.cer. We add this binary data file for TestRoot.cer. So that a platform may include this default file in FDF, to check if the platform is using default test key, or different production key. Cc: Yonghong Zhu Cc: Liming Gao Cc: Michael D Kinney Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer | Bin 0 -> 756 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer b/BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer new file mode 100644 index ..e42f073d84af32513cc83f292ebc78ca6b5a6239 GIT binary patch literal 756 zcmXqLV)|gv#CT@`GZP~dlYohVdOfS{)K=#OOTO~VdVb1)lZ{oIkC{o9mBB#RP|$#% zjX9KsS(qavwYVfGKflC4PMp`!%)r9H#L(2h(8MB2oY(8w5wOf5| 2`lQS=r~2)ypNf^*~>Y)m)nqq zVO!UMm0uMv*q_~yUK?Pn_gh*=Oz!gSAyBoXL7skmz{9zc71LVkJp+Ni)?iGLG7PLN~YgwIGW^-nAp6~JV4Li<$OS9jXv*5)XwS-+OS??Bl z?PXZO^F3g-%Qd@pMH}5`#_Dm3>O1dPcwDoZ_E6kCHT9e=6Eh @<;fq9II5RS2^FH9Z@GjbZTd_ydi!ad+ z-`-?6`jju@cd)TRR>H1#7SVyp1y}1>|2=Wl5>1l+bE9-}*tchFt%~0{+|_peWA$ z6!OKA(oALZ(RwtFEJ`wDc>VYHKwneptH-3DJvz-)97@p$v>4RE*lQ56_;kM zy@w~z0-_Nkct8mhK8cH3A4JyZX6X@_fee7*MuW!4w#(_cKw(VzdLxc;#Co=sWN zTA#Bo->JW^e_=Hn+npy-jagY){m_J)IS8>JiHRdsT%L |0{{R3 literal 0 HcmV?d1 -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] Add PcdRecoveryFileName PCD.
Reviewed-by: Feng Tian-Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jiewen Yao Sent: Saturday, October 8, 2016 11:00 AM To: edk2-devel@lists.01.org Subject: [edk2] [PATCH 0/3] Add PcdRecoveryFileName PCD. This series patch adds PcdRecoveryFileName PCD. This PCD is used to indicated the recovery file name. The previous name - FvMain.Fv is hardcoded in FatPei and CdExpressPei. It does not make sense to force the name. Now a platform may use any recovery file name. Jiewen Yao (3): MdeModulePkg/dec: Add PcdRecoveryFileName PCD. MdeModulePkg/CdExpressPei: Use PcdRecoveryFileName PCD. FatPkg/FatPei: Use PcdRecoveryFileName PCD. FatPkg/FatPei/FatLiteApi.c| 8 FatPkg/FatPei/FatLitePeim.h | 4 +--- FatPkg/FatPei/FatPei.inf | 5 - MdeModulePkg/MdeModulePkg.dec | 6 ++ MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf | 5 - MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c | 16 ++-- MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h | 7 +-- 7 files changed, 34 insertions(+), 17 deletions(-) -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 0/3] Add PcdRecoveryFileName PCD.
This series patch adds PcdRecoveryFileName PCD. This PCD is used to indicated the recovery file name. The previous name - FvMain.Fv is hardcoded in FatPei and CdExpressPei. It does not make sense to force the name. Now a platform may use any recovery file name. Jiewen Yao (3): MdeModulePkg/dec: Add PcdRecoveryFileName PCD. MdeModulePkg/CdExpressPei: Use PcdRecoveryFileName PCD. FatPkg/FatPei: Use PcdRecoveryFileName PCD. FatPkg/FatPei/FatLiteApi.c| 8 FatPkg/FatPei/FatLitePeim.h | 4 +--- FatPkg/FatPei/FatPei.inf | 5 - MdeModulePkg/MdeModulePkg.dec | 6 ++ MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf | 5 - MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c | 16 ++-- MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h | 7 +-- 7 files changed, 34 insertions(+), 17 deletions(-) -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 3/3] FatPkg/FatPei: Use PcdRecoveryFileName PCD.
This PCD is used to indicated the recovery file name. The previous name - FvMain.Fv is hardcoded in FatPei. It does not make sense to force the name. Now a platform may use any recovery file name. Cc: Ruiyu NiCc: Feng Tian Cc: Star Zeng Cc: Liming Gao Cc: Eric Dong Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- FatPkg/FatPei/FatLiteApi.c | 8 FatPkg/FatPei/FatLitePeim.h | 4 +--- FatPkg/FatPei/FatPei.inf| 5 - 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/FatPkg/FatPei/FatLiteApi.c b/FatPkg/FatPei/FatLiteApi.c index d96774e..aa05c53 100644 --- a/FatPkg/FatPei/FatLiteApi.c +++ b/FatPkg/FatPei/FatLiteApi.c @@ -1,7 +1,7 @@ /** @file FAT recovery PEIM entry point, Ppi Functions and FAT Api functions. -Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. +Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this @@ -370,7 +370,7 @@ GetNumberRecoveryCapsules ( // RecoveryCapsuleCount = 0; for (Index = 0; Index < PrivateData->VolumeCount; Index++) { -Status = FindRecoveryFile (PrivateData, Index, PEI_FAT_RECOVERY_CAPSULE_WITHOUT_NT_EMULATOR, ); +Status = FindRecoveryFile (PrivateData, Index, PcdGetPtr(PcdRecoveryFileName), ); if (EFI_ERROR (Status)) { continue; } @@ -452,7 +452,7 @@ GetRecoveryCapsuleInfo ( // RecoveryCapsuleCount = 0; for (Index = 0; Index < PrivateData->VolumeCount; Index++) { -Status = FindRecoveryFile (PrivateData, Index, PEI_FAT_RECOVERY_CAPSULE_WITHOUT_NT_EMULATOR, ); +Status = FindRecoveryFile (PrivateData, Index, PcdGetPtr(PcdRecoveryFileName), ); if (EFI_ERROR (Status)) { continue; @@ -576,7 +576,7 @@ LoadRecoveryCapsule ( // RecoveryCapsuleCount = 0; for (Index = 0; Index < PrivateData->VolumeCount; Index++) { -Status = FindRecoveryFile (PrivateData, Index, PEI_FAT_RECOVERY_CAPSULE_WITHOUT_NT_EMULATOR, ); +Status = FindRecoveryFile (PrivateData, Index, PcdGetPtr(PcdRecoveryFileName), ); if (EFI_ERROR (Status)) { continue; } diff --git a/FatPkg/FatPei/FatLitePeim.h b/FatPkg/FatPei/FatLitePeim.h index e838390..d343d88 100644 --- a/FatPkg/FatPei/FatLitePeim.h +++ b/FatPkg/FatPei/FatLitePeim.h @@ -1,7 +1,7 @@ /** @file Data structures for FAT recovery PEIM -Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. +Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this @@ -37,8 +37,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // // Definitions // -#define PEI_FAT_RECOVERY_CAPSULE_WITH_NT_EMULATOR L"fv0001.fv" -#define PEI_FAT_RECOVERY_CAPSULE_WITHOUT_NT_EMULATOR L"fvmain.fv" #define PEI_FAT_CACHE_SIZE4 #define PEI_FAT_MAX_BLOCK_SIZE8192 diff --git a/FatPkg/FatPei/FatPei.inf b/FatPkg/FatPei/FatPei.inf index 0304b00..1409e28 100644 --- a/FatPkg/FatPei/FatPei.inf +++ b/FatPkg/FatPei/FatPei.inf @@ -1,7 +1,7 @@ ## @file #Lite Fat driver only used in Pei Phase. # -# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. +# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved. # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -69,6 +69,9 @@ [FeaturePcd] gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ## CONSUMES + [Depex] gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 2/3] MdeModulePkg/CdExpressPei: Use PcdRecoveryFileName PCD.
This PCD is used to indicated the recovery file name. The previous name - FvMain.Fv is hardcoded in CdExpressPei. It does not make sense to force the name. Now a platform may use any recovery file name. Cc: Feng TianCc: Star Zeng Cc: Liming Gao Cc: Eric Dong Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf | 5 - MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c | 16 ++-- MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h | 7 +-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf index e9d45e5..facad47 100644 --- a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf @@ -5,7 +5,7 @@ # finds whether there is Recovery data in the device. If it finds recovery # data, it will install Device Recovery Module PPI. # -# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. +# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved. # # This program and the accompanying materials # are licensed and made available under the terms and conditions @@ -68,6 +68,9 @@ [FeaturePcd] gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ## CONSUMES + [Depex] gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c index 371ab73..d3cbfaa 100644 --- a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c @@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "PeiCdExpress.h" PEI_CD_EXPRESS_PRIVATE_DATA *mPrivateData = NULL; +CHAR8 *mRecoveryFileName; +UINTN mRecoveryFileNameSize; /** Installs the Device Recovery Module PPI, Initialize BlockIo Ppi @@ -48,6 +50,16 @@ CdExpressPeimEntry ( return EFI_OUT_OF_RESOURCES; } + mRecoveryFileNameSize = PcdGetSize(PcdRecoveryFileName) / sizeof(CHAR16); + mRecoveryFileName = AllocatePool(mRecoveryFileNameSize); + if (mRecoveryFileName == NULL) { +return EFI_OUT_OF_RESOURCES; + } + Status = UnicodeStrToAsciiStrS(PcdGetPtr(PcdRecoveryFileName), mRecoveryFileName, mRecoveryFileNameSize); + if (EFI_ERROR(Status)) { +return Status; + } + // // Initialize Private Data (to zero, as is required by subsequent operations) // @@ -466,12 +478,12 @@ RetrieveCapsuleFileFromRoot ( } } -if (Index != (sizeof (PEI_RECOVERY_FILE_NAME) - 1)) { +if (Index != mRecoveryFileNameSize - 1) { Buffer += FileRecord->Length; continue; } -if (!StringCmp (FileRecord->FileID, (UINT8 *) PEI_RECOVERY_FILE_NAME, sizeof (PEI_RECOVERY_FILE_NAME) - 1, FALSE)) { +if (!StringCmp (FileRecord->FileID, (UINT8 *)mRecoveryFileName, mRecoveryFileNameSize - 1, FALSE)) { Buffer += FileRecord->Length; continue; } diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h index 91f34dc..1c8843c 100644 --- a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h @@ -1,7 +1,7 @@ /** @file Header file for CD recovery PEIM -Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. +Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions @@ -43,11 +43,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define PEI_MEMMORY_PAGE_SIZE 0x1000 // -// Recovery file name (in root directory) -// -#define PEI_RECOVERY_FILE_NAME "FVMAIN.FV" - -// // Following are defined according to ISO-9660 specification // #define PEI_CD_STANDARD_ID "CD001" -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 1/3] MdeModulePkg/dec: Add PcdRecoveryFileName PCD.
This PCD is used to indicated the recovery file name. The previous name - FvMain.Fv is hardcoded in FatPei and CdExpressPei. It does not make sense to force the name. Now a platform may use any recovery file name. Cc: Feng TianCc: Star Zeng Cc: Liming Gao Cc: Eric Dong Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- MdeModulePkg/MdeModulePkg.dec | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 1e88568..0d0691a 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -1674,6 +1674,12 @@ # @ValidList 0x8001 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x002c + ## This is recover file name in PEI phase. + # The file must be in the root directory. + # The file name must be the 8.3 format. + # The PCD data must be in UNICODE format. + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"FVMAIN.FV"|VOID*|0x1019 + [PcdsDynamic, PcdsDynamicEx] ## This dynamic PCD hold an address to point to private data structure used in DxeS3BootScriptLib library # instance which records the S3 boot script table start address, length, etc. To introduce this PCD is -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] MdePkg: Fix some typing errors in the header files
Thomas, Thanks for fixing these typos. I have also reviewed both of your patches and have pushed them to edk2/master. https://github.com/tianocore/edk2/commit/00b7cc0fe327fcd00d70a8d30f16245cca0c55f2 https://github.com/tianocore/edk2/commit/3868d06d8209d4907c0c6b6f5ec690aebb8b5971 Mike > -Original Message- > From: Thomas Huth [mailto:th...@redhat.com] > Sent: Tuesday, October 4, 2016 1:38 AM > To: Gao, Liming; edk2-de...@ml01.01.org > Cc: Kinney, Michael D > Subject: Re: [PATCH] MdePkg: Fix some typing errors in the header files > > Hi, > > thanks for the review! Could you please also push my patches to the > repository? I do not have write access there. Or do you rather expect a > pull request for the patches? > > Regards, > Thomas > > On 12.09.2016 11:09, Gao, Liming wrote: > > Reviewed-by: Liming Gao > > > >> -Original Message- > >> From: Thomas Huth [mailto:th...@redhat.com] > >> Sent: Monday, September 12, 2016 4:36 PM > >> To: edk2-de...@ml01.01.org > >> Cc: Kinney, Michael D ; Gao, Liming > >> > >> Subject: [PATCH] MdePkg: Fix some typing errors in the header files > >> > >> Correct the typos in some header files of MdePkg. > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Thomas Huth > >> --- > >> MdePkg/Include/AArch64/ProcessorBind.h| 2 +- > >> MdePkg/Include/Arm/ProcessorBind.h| 2 +- > >> MdePkg/Include/Base.h | 2 +- > >> MdePkg/Include/Ia32/ProcessorBind.h | 4 ++-- > >> MdePkg/Include/Ipf/ProcessorBind.h| 2 +- > >> MdePkg/Include/Library/BaseLib.h | 2 +- > >> MdePkg/Include/Library/DebugPrintErrorLevelLib.h | 2 +- > >> MdePkg/Include/Library/FileHandleLib.h| 8 > >> > >> MdePkg/Include/Library/PeCoffLib.h| 2 +- > >> MdePkg/Include/Pi/PiSmmCis.h | 2 +- > >> MdePkg/Include/Protocol/BlockIo2.h| 2 +- > >> MdePkg/Include/Protocol/BlockIoCrypto.h | 2 +- > >> MdePkg/Include/Protocol/Dns4.h| 2 +- > >> MdePkg/Include/Protocol/Dns6.h| 2 +- > >> MdePkg/Include/Protocol/FirmwareManagement.h | 2 +- > >> MdePkg/Include/Protocol/ImageDecoder.h| 2 +- > >> MdePkg/Include/Protocol/Mtftp4.h | 4 ++-- > >> MdePkg/Include/Protocol/Mtftp6.h | 8 > >> > >> MdePkg/Include/Protocol/NvmExpressPassthru.h | 2 +- > >> MdePkg/Include/Protocol/SimpleTextOut.h | 2 +- > >> MdePkg/Include/Protocol/Timer.h | 2 +- > >> MdePkg/Include/Uefi/UefiPxe.h | 2 +- > >> MdePkg/Include/X64/ProcessorBind.h| 4 ++-- > >> MdePkg/Library/BaseMemoryLibMmx/MemLibInternals.h | 2 +- > >> .../BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h| 2 +- > >> MdePkg/Library/DxeIoLibCpuIo2/DxeCpuIo2LibInternal.h | 2 +- > >> MdePkg/Library/SmmIoLibSmmCpuIo2/SmmCpuIoLibInternal.h| 2 +- > >> 27 files changed, 36 insertions(+), 36 deletions(-) > >> > >> diff --git a/MdePkg/Include/AArch64/ProcessorBind.h > >> b/MdePkg/Include/AArch64/ProcessorBind.h > >> index c5fe874..fa311e2 100644 > >> --- a/MdePkg/Include/AArch64/ProcessorBind.h > >> +++ b/MdePkg/Include/AArch64/ProcessorBind.h > >> @@ -32,7 +32,7 @@ > >> > >> #if _MSC_EXTENSIONS > >>// > >> - // use Microsoft* C complier dependent integer width types > >> + // use Microsoft* C compiler dependent integer width types > >>// > >>typedef unsigned __int64UINT64; > >>typedef __int64 INT64; > >> diff --git a/MdePkg/Include/Arm/ProcessorBind.h > >> b/MdePkg/Include/Arm/ProcessorBind.h > >> index 5ee7465..dc45b94 100644 > >> --- a/MdePkg/Include/Arm/ProcessorBind.h > >> +++ b/MdePkg/Include/Arm/ProcessorBind.h > >> @@ -37,7 +37,7 @@ > >> > >> #if _MSC_EXTENSIONS > >>// > >> - // use Microsoft* C complier dependent integer width types > >> + // use Microsoft* C compiler dependent integer width types > >>// > >>typedef unsigned __int64UINT64; > >>typedef __int64 INT64; > >> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h > >> index 93f6686..c666148 100644 > >> --- a/MdePkg/Include/Base.h > >> +++ b/MdePkg/Include/Base.h > >> @@ -302,7 +302,7 @@ struct _LIST_ENTRY { > >> > >> // > >> // UEFI specification claims 1 and 0. We are concerned
Re: [edk2] [PATCH] MdePkg: Fix some typing errors in the header files
Reviewed-by: Michael Kinney> -Original Message- > From: Gao, Liming > Sent: Monday, September 12, 2016 2:10 AM > To: Thomas Huth ; edk2-de...@ml01.01.org > Cc: Kinney, Michael D > Subject: RE: [PATCH] MdePkg: Fix some typing errors in the header files > > Reviewed-by: Liming Gao > > > -Original Message- > > From: Thomas Huth [mailto:th...@redhat.com] > > Sent: Monday, September 12, 2016 4:36 PM > > To: edk2-de...@ml01.01.org > > Cc: Kinney, Michael D ; Gao, Liming > > > > Subject: [PATCH] MdePkg: Fix some typing errors in the header files > > > > Correct the typos in some header files of MdePkg. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Thomas Huth > > --- > > MdePkg/Include/AArch64/ProcessorBind.h| 2 +- > > MdePkg/Include/Arm/ProcessorBind.h| 2 +- > > MdePkg/Include/Base.h | 2 +- > > MdePkg/Include/Ia32/ProcessorBind.h | 4 ++-- > > MdePkg/Include/Ipf/ProcessorBind.h| 2 +- > > MdePkg/Include/Library/BaseLib.h | 2 +- > > MdePkg/Include/Library/DebugPrintErrorLevelLib.h | 2 +- > > MdePkg/Include/Library/FileHandleLib.h| 8 > > > > MdePkg/Include/Library/PeCoffLib.h| 2 +- > > MdePkg/Include/Pi/PiSmmCis.h | 2 +- > > MdePkg/Include/Protocol/BlockIo2.h| 2 +- > > MdePkg/Include/Protocol/BlockIoCrypto.h | 2 +- > > MdePkg/Include/Protocol/Dns4.h| 2 +- > > MdePkg/Include/Protocol/Dns6.h| 2 +- > > MdePkg/Include/Protocol/FirmwareManagement.h | 2 +- > > MdePkg/Include/Protocol/ImageDecoder.h| 2 +- > > MdePkg/Include/Protocol/Mtftp4.h | 4 ++-- > > MdePkg/Include/Protocol/Mtftp6.h | 8 > > > > MdePkg/Include/Protocol/NvmExpressPassthru.h | 2 +- > > MdePkg/Include/Protocol/SimpleTextOut.h | 2 +- > > MdePkg/Include/Protocol/Timer.h | 2 +- > > MdePkg/Include/Uefi/UefiPxe.h | 2 +- > > MdePkg/Include/X64/ProcessorBind.h| 4 ++-- > > MdePkg/Library/BaseMemoryLibMmx/MemLibInternals.h | 2 +- > > .../BaseUefiDecompressLib/BaseUefiDecompressLibInternals.h| 2 +- > > MdePkg/Library/DxeIoLibCpuIo2/DxeCpuIo2LibInternal.h | 2 +- > > MdePkg/Library/SmmIoLibSmmCpuIo2/SmmCpuIoLibInternal.h| 2 +- > > 27 files changed, 36 insertions(+), 36 deletions(-) > > > > diff --git a/MdePkg/Include/AArch64/ProcessorBind.h > > b/MdePkg/Include/AArch64/ProcessorBind.h > > index c5fe874..fa311e2 100644 > > --- a/MdePkg/Include/AArch64/ProcessorBind.h > > +++ b/MdePkg/Include/AArch64/ProcessorBind.h > > @@ -32,7 +32,7 @@ > > > > #if _MSC_EXTENSIONS > >// > > - // use Microsoft* C complier dependent integer width types > > + // use Microsoft* C compiler dependent integer width types > >// > >typedef unsigned __int64UINT64; > >typedef __int64 INT64; > > diff --git a/MdePkg/Include/Arm/ProcessorBind.h > > b/MdePkg/Include/Arm/ProcessorBind.h > > index 5ee7465..dc45b94 100644 > > --- a/MdePkg/Include/Arm/ProcessorBind.h > > +++ b/MdePkg/Include/Arm/ProcessorBind.h > > @@ -37,7 +37,7 @@ > > > > #if _MSC_EXTENSIONS > >// > > - // use Microsoft* C complier dependent integer width types > > + // use Microsoft* C compiler dependent integer width types > >// > >typedef unsigned __int64UINT64; > >typedef __int64 INT64; > > diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h > > index 93f6686..c666148 100644 > > --- a/MdePkg/Include/Base.h > > +++ b/MdePkg/Include/Base.h > > @@ -302,7 +302,7 @@ struct _LIST_ENTRY { > > > > // > > // UEFI specification claims 1 and 0. We are concerned about the > > -// complier portability so we did it this way. > > +// compiler portability so we did it this way. > > // > > > > /// > > diff --git a/MdePkg/Include/Ia32/ProcessorBind.h > > b/MdePkg/Include/Ia32/ProcessorBind.h > > index 458f7dd..da1810b 100644 > > --- a/MdePkg/Include/Ia32/ProcessorBind.h > > +++ b/MdePkg/Include/Ia32/ProcessorBind.h > > @@ -79,7 +79,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY > > KIND, EITHER EXPRESS OR IMPLIED. > > #pragma warning ( disable : 4057 ) > > > > // > > -// ASSERT(FALSE) or while (TRUE) are legal constructes so supress this > > warning >
Re: [edk2] [PATCH] MdePkg: Fix some typing errors
Reviewed-by: Michael Kinney> -Original Message- > From: Gao, Liming > Sent: Monday, September 12, 2016 2:10 AM > To: Thomas Huth ; edk2-de...@ml01.01.org > Cc: Kinney, Michael D > Subject: RE: [PATCH] MdePkg: Fix some typing errors > > Reviewed-by: Liming Gao > > > -Original Message- > > From: Thomas Huth [mailto:th...@redhat.com] > > Sent: Saturday, September 10, 2016 4:33 AM > > To: edk2-de...@ml01.01.org > > Cc: Kinney, Michael D ; Gao, Liming > > > > Subject: [PATCH] MdePkg: Fix some typing errors > > > > Correct the typos in some files of MdePkg. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Thomas Huth > > --- > > .../BaseExtractGuidedSectionLib.c| 6 +++--- > > MdePkg/Library/BaseLib/String.c | 2 +- > > MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c | 20 ++ > > -- > > MdePkg/Library/UefiUsbLib/UsbDxeLib.c| 2 +- > > 4 files changed, 15 insertions(+), 15 deletions(-) > > > > diff --git > > a/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionL > > ib.c > > b/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionL > > ib.c > > index 3a12cb1..28996f3 100644 > > --- > > a/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionL > > ib.c > > +++ > > b/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionL > > ib.c > > @@ -175,7 +175,7 @@ ExtractGuidedSectionRegisterHandlers ( > >EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo; > > > >// > > - // Check input paramter > > + // Check input parameter > >// > >ASSERT (SectionGuid != NULL); > >ASSERT (GetInfoHandler != NULL); > > @@ -270,7 +270,7 @@ ExtractGuidedSectionGetInfo ( > >EFI_GUID*SectionDefinitionGuid; > > > >// > > - // Check input paramter > > + // Check input parameter > >// > >ASSERT (InputSection != NULL); > >ASSERT (OutputBufferSize != NULL); > > @@ -449,7 +449,7 @@ ExtractGuidedSectionGetHandlers ( > >EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo; > > > >// > > - // Check input paramter > > + // Check input parameter > >// > >ASSERT (SectionGuid != NULL); > > > > diff --git a/MdePkg/Library/BaseLib/String.c > > b/MdePkg/Library/BaseLib/String.c > > index 07c0562..25962f8 100644 > > --- a/MdePkg/Library/BaseLib/String.c > > +++ b/MdePkg/Library/BaseLib/String.c > > @@ -1,5 +1,5 @@ > > /** @file > > - Unicode and ASCII string primatives. > > + Unicode and ASCII string primitives. > > > >Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved. > >This program and the accompanying materials > > diff --git a/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c > > b/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c > > index 8f3cde0..daed0f4 100644 > > --- a/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c > > +++ b/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c > > @@ -231,7 +231,7 @@ FileHandleWrite( > > > > @param FileHandle the file handle to close. > > > > -@retval EFI_SUCCESS the file handle was closed sucessfully. > > +@retval EFI_SUCCESS the file handle was closed successfully. > > **/ > > EFI_STATUS > > EFIAPI > > @@ -261,7 +261,7 @@ FileHandleClose ( > > > >@param FileHandle the file handle to delete > > > > - @retval EFI_SUCCESS the file was closed sucessfully > > + @retval EFI_SUCCESS the file was closed successfully > >@retval EFI_WARN_DELETE_FAILURE the handle was closed, but the file > > was not > > deleted > >@retval INVALID_PARAMETER One of the parameters has an invalid value. > > @@ -297,9 +297,9 @@ FileHandleDelete ( > >has the effect of starting the read process of the directory entries > > over. > > > >@param FileHandle The file handle on which the position is > > being set > > - @param Position Byte position from begining of file > > + @param Position Byte position from beginning of file > > > > - @retval EFI_SUCCESS Operation completed sucessfully. > > + @retval EFI_SUCCESS Operation completed successfully. > >@retval EFI_UNSUPPORTED the seek request for non-zero is not valid > > on > > directories. > >@retval INVALID_PARAMETER One of the parameters has an invalid value. > > @@ -330,9 +330,9 @@ FileHandleSetPosition ( > >if FileHandle is a directory. > > > >@param FileHandle The open file handle on which to get the > > position. > > - @param Position Byte position from begining of file. > > + @param Position Byte position from beginning of file.
[edk2] SetCurDir() doesn't allow '\\' in Dir?
I did a simple break apart of a path into map-name and directory. fs0:\MdeModulePkg So FileSystem was "fs0:" and Dir was "\MdeModulePkg" and the resulting working directory was: "fs0:MdeModulePkg" (with escape characters).. It seems the culprit is in EfiShellSetCurDir: if (DirectoryName != NULL) { // // change current dir on that file system // if (MapListItem->CurrentDirectoryPath != NULL) { FreePool(MapListItem->CurrentDirectoryPath); DEBUG_CODE(MapListItem->CurrentDirectoryPath = NULL;); } // ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL)); // MapListItem->CurrentDirectoryPath = StrnCatGrow(>CurrentDirectoryPath, , FileSystem, 0); ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL)); MapListItem->CurrentDirectoryPath = StrnCatGrow(>CurrentDirectoryPath, , L"\\", 0); ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL)); MapListItem->CurrentDirectoryPath = StrnCatGrow(>CurrentDirectoryPath, , DirectoryName, 0); if (MapListItem->CurrentDirectoryPath != NULL && MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] == L'\\') { ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL)); MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] = CHAR_NULL; } } } I checked with the Shell Specification and it doesn't mention this sort of pre-pending behavior. It also doesn't allow relative paths, so I would expect that all directory names passed in must be in the form \. The only exception to this rule seems to be FS0:\ I'm not sure what to do here, because I don't think the current behavior makes sense. Tim ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 2/2] BaseTools/GenFds: Skip parse time OUTPUT_DIRECTORY file verify
https://bugzilla.tianocore.org/show_bug.cgi?id=132 This patch relaxes the file verification for all FILE statements to not verify the file exists during initial FDF file parsing if the file specified is in $(OUTPUT_DIRECTORY). If a file is specified does not exist when a section is processed, then a build break will occur at that time instead. Cc: Kelly SteeleCc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney --- BaseTools/Source/Python/GenFds/FdfParser.py | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 693128c..b7edda9 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -3022,17 +3022,17 @@ class FdfParser: ## __VerifyFile # #Check if file exists or not: -# If current phase if GenFds, the file must exist; -# If current phase is AutoGen and the file is not in $(OUTPUT_DIRECTORY), the file must exist +# If the file is not in $(OUTPUT_DIRECTORY), then the file must exist #@param FileName: File path to be verified. # def __VerifyFile(self, FileName): if FileName.replace('$(WORKSPACE)', '').find('$') != -1: return -if not GlobalData.gAutoGenPhase or not self.__GetMacroValue("OUTPUT_DIRECTORY") in FileName: -ErrorCode, ErrorInfo = PathClass(NormPath(FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate() -if ErrorCode != 0: -EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) +if self.__GetMacroValue("OUTPUT_DIRECTORY") in FileName: +return +ErrorCode, ErrorInfo = PathClass(NormPath(FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate() +if ErrorCode != 0: +EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) ## __GetCglSection() method # -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 0/2] BaseTools/GenFds: Make FDF parser mode flexible
This patch series addresses the following issues: https://bugzilla.tianocore.org/show_bug.cgi?id=132 https://bugzilla.tianocore.org/show_bug.cgi?id=141 This patch series replaces the following patch email: https://lists.01.org/pipermail/edk2-devel/2016-October/002433.html The logic for the OUTPUT_DIRECTORY was simplified and supports files in more sections than just [FmpPayload] sections. Cc: Kelly SteeleCc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney Michael Kinney (2): BaseTools/GenFds: Support FDF sections in any order BaseTools/GenFds: Skip parse time OUTPUT_DIRECTORY file verify BaseTools/Source/Python/GenFds/FdfParser.py | 35 + 1 file changed, 10 insertions(+), 25 deletions(-) -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 1/2] BaseTools/GenFds: Support FDF sections in any order
https://bugzilla.tianocore.org/show_bug.cgi?id=141 This patch updates EDK II FDF parser in GenFds to allow sections to be placed in any order in the FDF file. Cc: Kelly SteeleCc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney --- BaseTools/Source/Python/GenFds/FdfParser.py | 23 --- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 02ae7c9..693128c 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1385,25 +1385,10 @@ class FdfParser: try: self.Preprocess() -while self.__GetFd(): -pass - -while self.__GetFv(): -pass - -while self.__GetFmp(): -pass - -while self.__GetCapsule(): -pass - -while self.__GetVtf(): -pass - -while self.__GetRule(): -pass - -while self.__GetOptionRom(): +# +# Keep processing sections of the FDF until no new sections or a syntax error is found +# +while self.__GetFd() or self.__GetFv() or self.__GetFmp() or self.__GetCapsule() or self.__GetVtf() or self.__GetRule() or self.__GetOptionRom(): pass except Warning, X: -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 0/5] QuarkPlatformPkg: Fix BOOT_IN_RECOVERY_MODE issues
Entire patch reviewed. Looks good to me. Reviewed-by: Kelly Steele> -Original Message- > From: Steele, Kelly > Sent: October 07, 2016 12:27 > To: Kinney, Michael D ; edk2-devel@lists.01.org > Subject: RE: [Patch 0/5] QuarkPlatformPkg: Fix BOOT_IN_RECOVERY_MODE > issues > > > > Reviewed-by: Kelly Steele > > > > > > -Original Message- > > From: Kinney, Michael D > > Sent: October 06, 2016 12:12 > > To: edk2-devel@lists.01.org > > Cc: Steele, Kelly > > Subject: [Patch 0/5] QuarkPlatformPkg: Fix BOOT_IN_RECOVERY_MODE issues > > > > This patch series addresses the following 3 issues in Bugzilla: > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=137 > > https://bugzilla.tianocore.org/show_bug.cgi?id=138 > > https://bugzilla.tianocore.org/show_bug.cgi?id=139 > > > > It also removes a function and library that are no longer used. > > > > Cc: Kelly Steele > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Michael Kinney > > > > Michael Kinney (5): > > QuarkPlatformPkg/ForceRecovery: Add UEFI application to force recovery > > QuarkPlatformPkg/PlatformInit: Fix recovery detection issues > > QuarkPlatformPkg/PlatformHelperLib: Remove > PlatformDebugPortGetChar8() > > QuarkPlatformPkg: Add ForceRecovery UEFI application > > QuarkPlatformPkg/RecoveryOemHookLib: Remove RecoveryOemHookLib > > > > .../Application/ForceRecovery/ForceRecovery.c | 53 ++ > > .../Application/ForceRecovery/ForceRecovery.inf| 39 +++ > > .../Include/Library/PlatformHelperLib.h| 16 +-- > > .../Include/Library/RecoveryOemHookLib.h | 45 - > > .../Library/PlatformHelperLib/PlatformHelperLib.c | 27 - > > .../Library/RecoveryOemHookLib/CommonHeader.h | 30 -- > > .../RecoveryOemHookLib/RecoveryOemHookLib.c| 61 --- > > .../RecoveryOemHookLib/RecoveryOemHookLib.inf | 49 - > > .../Platform/Pei/PlatformInit/BootMode.c | 89 ++-- > > .../Platform/Pei/PlatformInit/CommonHeader.h | 4 +- > > .../Platform/Pei/PlatformInit/MrcWrapper.c | 112 > > + > > .../Platform/Pei/PlatformInit/MrcWrapper.h | 11 +- > > .../Platform/Pei/PlatformInit/PlatformEarlyInit.c | 67 +++- > > .../Pei/PlatformInit/PlatformEarlyInit.inf | 1 - > > QuarkPlatformPkg/Quark.dsc | 6 +- > > QuarkPlatformPkg/QuarkMin.dsc | 1 - > > 16 files changed, 196 insertions(+), 415 deletions(-) > > create mode 100644 > > QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.c > > create mode 100644 > > QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.inf > > delete mode 100644 > > QuarkPlatformPkg/Include/Library/RecoveryOemHookLib.h > > delete mode 100644 > > QuarkPlatformPkg/Library/RecoveryOemHookLib/CommonHeader.h > > delete mode 100644 > > QuarkPlatformPkg/Library/RecoveryOemHookLib/RecoveryOemHookLib.c > > delete mode 100644 > > QuarkPlatformPkg/Library/RecoveryOemHookLib/RecoveryOemHookLib.inf > > > > -- > > 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 0/2] QuarkSocPkg/QncSmmDispatcher: Fix SMI Handler ASSERTs()
Entire patch reviewed. Looks good to me. Reviewed-by: Kelly Steele> -Original Message- > From: Steele, Kelly > Sent: October 07, 2016 12:09 > To: Kinney, Michael D ; edk2-devel@lists.01.org > Subject: RE: [Patch 0/2] QuarkSocPkg/QncSmmDispatcher: Fix SMI Handler > ASSERTs() > > > > Reviewed-by: Kelly Steele > > > > > -Original Message- > > From: Kinney, Michael D > > Sent: October 05, 2016 11:29 > > To: edk2-devel@lists.01.org > > Cc: Steele, Kelly > > Subject: [Patch 0/2] QuarkSocPkg/QncSmmDispatcher: Fix SMI Handler > > ASSERTs() > > > > This series fixes the following two issues: > > > > QuarkSocPkg QncSmmDispatcher passes incorrect context to SMI handler > > https://bugzilla.tianocore.org/show_bug.cgi?id=136 > > > > QuarkSockg Use after free in QNCSmmCoreDispatcher > > https://bugzilla.tianocore.org/show_bug.cgi?id=51 > > > > These issues can be reproduced using the unit test available in the > > following > > branch that registers a periodic SMI that is triggered every 8 seconds and > > unregisters itself after the periodic SMI handler has been triggered 4 > > times. > > > > https://github.com/mdkinney/edk2/tree/Bug51/Reproduce > > > > Cc: Kelly Steele > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Michael Kinney > > > > Michael Kinney (2): > > QuarkSocPkg/QncSmmDispatcher: Fix context passed to SMI handlers > > QuarkSocPkg/QncSmmDispatcher: Fix use after free issue > > > > .../QncSmmDispatcher/QNC/QNCSmmPeriodicTimer.c | 4 +- > > .../Smm/DxeSmm/QncSmmDispatcher/QNCSmm.h | 9 ++-- > > .../Smm/DxeSmm/QncSmmDispatcher/QNCSmmCore.c | 51 > > +- > > 3 files changed, 49 insertions(+), 15 deletions(-) > > > > -- > > 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] ShellPkg:‘cd \’ command fails to go back to the root directory of a file system
Allows cd command to go back to the root directory when 'cd \' executed in system. This change prevents last PathRemoveLastItem() call which truncates '\' from 'fs0:\' in desired root path which is required to set CWD to the root directory. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah--- ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c index 2e51b4c..0967bc7 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Cd.c @@ -1,6 +1,7 @@ /** @file Main file for attrib shell level 2 function. + (C) Copyright 2016 Hewlett Packard Enterprise Development LP (C) Copyright 2015 Hewlett-Packard Development Company, L.P. Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. This program and the accompanying materials @@ -164,7 +165,16 @@ ShellCommandRunCd ( StrCpyS (Cwd, StrSize (Directory) / sizeof (CHAR16) + 1, Directory); StrCatS (Cwd, StrSize (Directory) / sizeof (CHAR16) + 1, L"\\"); Drive = GetFullyQualifiedPath (Cwd); - while (PathRemoveLastItem (Drive)); + while (PathRemoveLastItem (Drive)) { +// +// Check if Drive contains 'fsx:\' only or still points to a sub-directory. +// Don't remove trailing '\' from Drive if it points to the root directory. +// +Path = StrStr (Drive, L":\\"); +if ((Path != NULL) && (*(Path + 2) == CHAR_NULL)) { + break; +} + } FreePool (Cwd); } } -- 1.9.5.msysgit.0 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 0/5] QuarkPlatformPkg: Fix BOOT_IN_RECOVERY_MODE issues
Reviewed-by: Kelly Steele> -Original Message- > From: Kinney, Michael D > Sent: October 06, 2016 12:12 > To: edk2-devel@lists.01.org > Cc: Steele, Kelly > Subject: [Patch 0/5] QuarkPlatformPkg: Fix BOOT_IN_RECOVERY_MODE issues > > This patch series addresses the following 3 issues in Bugzilla: > > https://bugzilla.tianocore.org/show_bug.cgi?id=137 > https://bugzilla.tianocore.org/show_bug.cgi?id=138 > https://bugzilla.tianocore.org/show_bug.cgi?id=139 > > It also removes a function and library that are no longer used. > > Cc: Kelly Steele > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Michael Kinney > > Michael Kinney (5): > QuarkPlatformPkg/ForceRecovery: Add UEFI application to force recovery > QuarkPlatformPkg/PlatformInit: Fix recovery detection issues > QuarkPlatformPkg/PlatformHelperLib: Remove PlatformDebugPortGetChar8() > QuarkPlatformPkg: Add ForceRecovery UEFI application > QuarkPlatformPkg/RecoveryOemHookLib: Remove RecoveryOemHookLib > > .../Application/ForceRecovery/ForceRecovery.c | 53 ++ > .../Application/ForceRecovery/ForceRecovery.inf| 39 +++ > .../Include/Library/PlatformHelperLib.h| 16 +-- > .../Include/Library/RecoveryOemHookLib.h | 45 - > .../Library/PlatformHelperLib/PlatformHelperLib.c | 27 - > .../Library/RecoveryOemHookLib/CommonHeader.h | 30 -- > .../RecoveryOemHookLib/RecoveryOemHookLib.c| 61 --- > .../RecoveryOemHookLib/RecoveryOemHookLib.inf | 49 - > .../Platform/Pei/PlatformInit/BootMode.c | 89 ++-- > .../Platform/Pei/PlatformInit/CommonHeader.h | 4 +- > .../Platform/Pei/PlatformInit/MrcWrapper.c | 112 > + > .../Platform/Pei/PlatformInit/MrcWrapper.h | 11 +- > .../Platform/Pei/PlatformInit/PlatformEarlyInit.c | 67 +++- > .../Pei/PlatformInit/PlatformEarlyInit.inf | 1 - > QuarkPlatformPkg/Quark.dsc | 6 +- > QuarkPlatformPkg/QuarkMin.dsc | 1 - > 16 files changed, 196 insertions(+), 415 deletions(-) > create mode 100644 > QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.c > create mode 100644 > QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.inf > delete mode 100644 > QuarkPlatformPkg/Include/Library/RecoveryOemHookLib.h > delete mode 100644 > QuarkPlatformPkg/Library/RecoveryOemHookLib/CommonHeader.h > delete mode 100644 > QuarkPlatformPkg/Library/RecoveryOemHookLib/RecoveryOemHookLib.c > delete mode 100644 > QuarkPlatformPkg/Library/RecoveryOemHookLib/RecoveryOemHookLib.inf > > -- > 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 0/2] QuarkSocPkg/QncSmmDispatcher: Fix SMI Handler ASSERTs()
Reviewed-by: Kelly Steele> -Original Message- > From: Kinney, Michael D > Sent: October 05, 2016 11:29 > To: edk2-devel@lists.01.org > Cc: Steele, Kelly > Subject: [Patch 0/2] QuarkSocPkg/QncSmmDispatcher: Fix SMI Handler > ASSERTs() > > This series fixes the following two issues: > > QuarkSocPkg QncSmmDispatcher passes incorrect context to SMI handler > https://bugzilla.tianocore.org/show_bug.cgi?id=136 > > QuarkSockg Use after free in QNCSmmCoreDispatcher > https://bugzilla.tianocore.org/show_bug.cgi?id=51 > > These issues can be reproduced using the unit test available in the following > branch that registers a periodic SMI that is triggered every 8 seconds and > unregisters itself after the periodic SMI handler has been triggered 4 times. > > https://github.com/mdkinney/edk2/tree/Bug51/Reproduce > > Cc: Kelly Steele > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Michael Kinney > > Michael Kinney (2): > QuarkSocPkg/QncSmmDispatcher: Fix context passed to SMI handlers > QuarkSocPkg/QncSmmDispatcher: Fix use after free issue > > .../QncSmmDispatcher/QNC/QNCSmmPeriodicTimer.c | 4 +- > .../Smm/DxeSmm/QncSmmDispatcher/QNCSmm.h | 9 ++-- > .../Smm/DxeSmm/QncSmmDispatcher/QNCSmmCore.c | 51 > +- > 3 files changed, 49 insertions(+), 15 deletions(-) > > -- > 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ShellPkg: Fix erroneous Status returned by ShellOpenFileByName()
Reviewed-by: Jaben CarseyAnd pushed. > -Original Message- > From: Shah, Tapan [mailto:tapands...@hpe.com] > Sent: Thursday, October 06, 2016 3:04 PM > To: Vladimir Olovyannikov ; edk2- > de...@lists.01.org; Carsey, Jaben > Subject: RE: [PATCH] ShellPkg: Fix erroneous Status returned by > ShellOpenFileByName() > Importance: High > > Reviewed-by: Tapan Shah > > > -Original Message- > From: Vladimir Olovyannikov [mailto:vladimir.olovyanni...@broadcom.com] > Sent: Thursday, October 06, 2016 5:02 PM > To: edk2-devel@lists.01.org; Shah, Tapan ; > jaben.car...@intel.com > Cc: Vladimir Olovyannikov > Subject: [PATCH] ShellPkg: Fix erroneous Status returned by > ShellOpenFileByName() > > In ShellOpenFileByName() the file is opened using > gEfiShellProtocol->OpenFileByName(). > It is supposed that if this call returns an EFI_ERROR, the function should > return that error immediately. However, this return was missing, and if > UnicodeCollationProtocol has not been located by this time, the Status gets > overwritten with LocateProtocol() call result, which eventually erroneously > returns EFI_SUCCESS to the Shell.c, and this leads to attempt to execute a > non-existent startup script, which fails, and which in turn leads to Shell > being > unloaded with "Invalid parameter" > error. This patch fixes the bug. > > Cc: Tapan Shah > Cc: Jaben Carsey > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Vladimir Olovyannikov > > --- > ShellPkg/Library/UefiShellLib/UefiShellLib.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c > b/ShellPkg/Library/UefiShellLib/UefiShellLib.c > index 53f54e1746d4..8db18b3b210f 100644 > --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c > +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c > @@ -723,6 +723,9 @@ ShellOpenFileByName( > Status = gEfiShellProtocol->OpenFileByName(FileName, > FileHandle, > OpenMode); > +if (EFI_ERROR(Status)) { > + return Status; > +} > > if (mUnicodeCollationProtocol == NULL) { >Status = gBS->LocateProtocol (, > NULL, (VOID**)); > -- > 1.9.1 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] MdeModulePkg/TerminalDxe: TtyTerm improvements
Roy, Ryan, On 10/07/16 16:53, Brian J. Johnson wrote: > This patch series implements some improvements to the TtyTerm terminal > type in the TerminalDxe driver. It fixes an end case with cursor > position tracking, and uses that to optimize cursor motion escape > sequences. It also adds support for the page up, page down, insert, > home, and end keys on some additional common terminal emulators. > > The result is improved performance, especially at the shell prompt, > and better compatibility with common terminal emulators. In > particular, as a side effect of the optimized cursor motion, terminal > windows which are taller than the current mode setting (eg. 25 lines) > work much better than before. > > Most of these fixes have been in production in some form on SGI's > servers for years. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Brian Johnson> Cc: Feng Tian > Cc: Star Zeng > > Brian J. Johnson (3): > MdeModulePkg/TerminalDxe: Improve TtyTerm cursor position tracking > MdeModulePkg/TerminalDxe: Optimize TtyTerm cursor motion > MdeModulePkg/TerminalDxe: Handle more keys with TtyTerm > > .../Universal/Console/TerminalDxe/Terminal.h | 2 + > .../Universal/Console/TerminalDxe/TerminalConIn.c | 24 +++-- > .../Universal/Console/TerminalDxe/TerminalConOut.c | 61 > -- > 3 files changed, 79 insertions(+), 8 deletions(-) > can you please provide feedback (testing or otherwise) on this series? Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] MdeModulePkg/TerminalDxe: TtyTerm improvements
Roy can now be found at Roy Franz(cc:d). On Fri, Oct 07, 2016 at 05:56:26PM +0200, Laszlo Ersek wrote: > Roy, Ryan, > > On 10/07/16 16:53, Brian J. Johnson wrote: > > This patch series implements some improvements to the TtyTerm terminal > > type in the TerminalDxe driver. It fixes an end case with cursor > > position tracking, and uses that to optimize cursor motion escape > > sequences. It also adds support for the page up, page down, insert, > > home, and end keys on some additional common terminal emulators. > > > > The result is improved performance, especially at the shell prompt, > > and better compatibility with common terminal emulators. In > > particular, as a side effect of the optimized cursor motion, terminal > > windows which are taller than the current mode setting (eg. 25 lines) > > work much better than before. > > > > Most of these fixes have been in production in some form on SGI's > > servers for years. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Brian Johnson > > Cc: Feng Tian > > Cc: Star Zeng > > > > Brian J. Johnson (3): > > MdeModulePkg/TerminalDxe: Improve TtyTerm cursor position tracking > > MdeModulePkg/TerminalDxe: Optimize TtyTerm cursor motion > > MdeModulePkg/TerminalDxe: Handle more keys with TtyTerm > > > > .../Universal/Console/TerminalDxe/Terminal.h | 2 + > > .../Universal/Console/TerminalDxe/TerminalConIn.c | 24 +++-- > > .../Universal/Console/TerminalDxe/TerminalConOut.c | 61 > > -- > > 3 files changed, 79 insertions(+), 8 deletions(-) > > > > can you please provide feedback (testing or otherwise) on this series? > > Thanks > Laszlo > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ArmPlatformPkg/PlatformPeiLib: allow patch PCDs for FV base address/size
On Fri, Oct 07, 2016 at 04:15:36PM +0100, Ard Biesheuvel wrote: > On 7 October 2016 at 16:14, Ard Biesheuvelwrote: > > Allow patchable or dynamic PCDs to be used for PcdFvBaseAddress and > > PcdFvBaseSize, so that platforms whose UEFI image may be loaded anywhere > > in memory can use PlatformPeiLib. > > > > ... and also, drop some references to PCDs that are in fact not used. > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Ard Biesheuvel > > --- > > ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf | 11 +-- > > 1 file changed, 1 insertion(+), 10 deletions(-) > > > > diff --git a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > > b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > > index 314789d0a990..2363d9aa966e 100644 > > --- a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > > +++ b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > > @@ -39,15 +39,6 @@ [Ppis] > >gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED > >gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED > > > > -[FixedPcd] > > - gArmTokenSpaceGuid.PcdFdBaseAddress > > - gArmTokenSpaceGuid.PcdFdSize > > - > > +[Pcd] > >gArmTokenSpaceGuid.PcdFvBaseAddress > >gArmTokenSpaceGuid.PcdFvSize > > - > > - gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize > > - gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize > > - > > -[depex] > > - TRUE So, especially the depex drop makes me prefer seeing the cleanup as a separate patch. Otherwise, looks good to me. / Leif > > -- > > 2.7.4 > > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ArmPlatformPkg/PlatformPeiLib: allow patch PCDs for FV base address/size
On 7 October 2016 at 16:14, Ard Biesheuvelwrote: > Allow patchable or dynamic PCDs to be used for PcdFvBaseAddress and > PcdFvBaseSize, so that platforms whose UEFI image may be loaded anywhere > in memory can use PlatformPeiLib. > ... and also, drop some references to PCDs that are in fact not used. > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel > --- > ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf | 11 +-- > 1 file changed, 1 insertion(+), 10 deletions(-) > > diff --git a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > index 314789d0a990..2363d9aa966e 100644 > --- a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > +++ b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf > @@ -39,15 +39,6 @@ [Ppis] >gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED >gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED > > -[FixedPcd] > - gArmTokenSpaceGuid.PcdFdBaseAddress > - gArmTokenSpaceGuid.PcdFdSize > - > +[Pcd] >gArmTokenSpaceGuid.PcdFvBaseAddress >gArmTokenSpaceGuid.PcdFvSize > - > - gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize > - gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize > - > -[depex] > - TRUE > -- > 2.7.4 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] ArmPlatformPkg/PlatformPeiLib: allow patch PCDs for FV base address/size
Allow patchable or dynamic PCDs to be used for PcdFvBaseAddress and PcdFvBaseSize, so that platforms whose UEFI image may be loaded anywhere in memory can use PlatformPeiLib. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel--- ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf | 11 +-- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf index 314789d0a990..2363d9aa966e 100644 --- a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf +++ b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf @@ -39,15 +39,6 @@ [Ppis] gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED -[FixedPcd] - gArmTokenSpaceGuid.PcdFdBaseAddress - gArmTokenSpaceGuid.PcdFdSize - +[Pcd] gArmTokenSpaceGuid.PcdFvBaseAddress gArmTokenSpaceGuid.PcdFvSize - - gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize - gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize - -[depex] - TRUE -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] OVMF.fd and placement of EfiBootServicesData
On 10/07/16 05:11, spam collector wrote: > - Original Message - >> From: "Laszlo Ersek">> To: "spam collector" >> Cc: edk2-de...@ml01.01.org >> Sent: Thursday, October 6, 2016 12:39:39 AM >> Subject: Re: [edk2] OVMF.fd and placement of EfiBootServicesData >> >>> Remember that I am running this in WinXPSP3. >> >> First, I can't "remember" it, because this is the first time you state >> that. :) > > I apologize for that. I thought I had mentioned it. > >> Second, WinXPSP3 as host machine, really?... :) > > What do you mean, "really?" [...] > If it isn't broke, I am not fixing it. > > For that matter, I am not expecting a reply to that. :-) No, I can explain it: https://en.wikipedia.org/wiki/Windows_XP#End_of_support Windows XP is remotely exploitable by numerous security holes that were discovered after Microsoft stopped supporting Windows XP. [...] > I believe I have all of the information and the new/correct files > and can boot my code with these new files. Great! > Thank you so much for your help and advice. I appreciate the > effort you placed on my behalf. My pleasure :) Cheers Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 2/3] MdeModulePkg/TerminalDxe: Optimize TtyTerm cursor motion
For TtyTerm terminals, output a shorter escape sequence when possible to move the cursor within the current line, and don't print any escape sequence if the cursor is already at the correct position. This removes extra cursor motion activity at the EFI shell prompt, improving performance. It also makes it possible in many cases to successfully use a terminal window which is taller than the driver's mode setting (eg. 80x25.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brian JohnsonCc: Feng Tian Cc: Star Zeng --- .../Universal/Console/TerminalDxe/Terminal.h | 2 ++ .../Universal/Console/TerminalDxe/TerminalConOut.c | 36 +++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h index 269d2ae..3ee3969 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h +++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h @@ -2,6 +2,7 @@ Header file for Terminal driver. Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved. +Copyright (C) 2016 Silicon Graphics, Inc. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -157,6 +158,7 @@ typedef union { #define BACKGROUND_CONTROL_OFFSET 11 #define ROW_OFFSET2 #define COLUMN_OFFSET 5 +#define FW_BACK_OFFSET2 typedef struct { UINT16 Unicode; diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c index b11e83f..e9b5ed0 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c @@ -83,6 +83,8 @@ CHAR16 mSetModeString[]= { ESC, '[', '=', '3', 'h', 0 }; CHAR16 mSetAttributeString[] = { ESC, '[', '0', 'm', ESC, '[', '4', '0', 'm', ESC, '[', '4', '0', 'm', 0 }; CHAR16 mClearScreenString[]= { ESC, '[', '2', 'J', 0 }; CHAR16 mSetCursorPositionString[] = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0 }; +CHAR16 mCursorForwardString[] = { ESC, '[', '0', '0', 'C', 0 }; +CHAR16 mCursorBackwardString[] = { ESC, '[', '0', '0', 'D', 0 }; // // Body of the ConOut functions @@ -755,6 +757,7 @@ TerminalConOutSetCursorPosition ( UINTN MaxRow; EFI_STATUS Status; TERMINAL_DEV*TerminalDevice; + CHAR16 *String; TerminalDevice = TERMINAL_CON_OUT_DEV_FROM_THIS (This); @@ -782,13 +785,36 @@ TerminalConOutSetCursorPosition ( // // control sequence to move the cursor // - mSetCursorPositionString[ROW_OFFSET + 0]= (CHAR16) ('0' + ((Row + 1) / 10)); - mSetCursorPositionString[ROW_OFFSET + 1]= (CHAR16) ('0' + ((Row + 1) % 10)); - mSetCursorPositionString[COLUMN_OFFSET + 0] = (CHAR16) ('0' + ((Column + 1) / 10)); - mSetCursorPositionString[COLUMN_OFFSET + 1] = (CHAR16) ('0' + ((Column + 1) % 10)); + // Optimize cursor motion control sequences for TtyTerm. Move + // within the current line if possible, and don't output anyting if + // it isn't necessary. + // + if (TerminalDevice->TerminalType == TTYTERMTYPE && + Mode->CursorRow == Row) { +if (Mode->CursorColumn > Column) { + mCursorBackwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) / 10)); + mCursorBackwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) % 10)); + String = mCursorBackwardString; +} +else if (Column > Mode->CursorColumn) { + mCursorForwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) / 10)); + mCursorForwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) % 10)); + String = mCursorForwardString; +} +else { + String = L""; // No cursor motion necessary +} + } + else { +mSetCursorPositionString[ROW_OFFSET + 0]= (CHAR16) ('0' + ((Row + 1) / 10)); +mSetCursorPositionString[ROW_OFFSET + 1]= (CHAR16) ('0' + ((Row + 1) % 10)); +mSetCursorPositionString[COLUMN_OFFSET + 0] = (CHAR16) ('0' + ((Column + 1) / 10)); +mSetCursorPositionString[COLUMN_OFFSET + 1] = (CHAR16) ('0' + ((Column + 1) % 10)); +String = mSetCursorPositionString; + } TerminalDevice->OutputEscChar = TRUE; - Status = This->OutputString (This, mSetCursorPositionString); + Status = This->OutputString (This, String); TerminalDevice->OutputEscChar = FALSE; if (EFI_ERROR (Status)) { -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org