Re: [edk2] [PATCH V2 24/50] BaseTool/Pkcs7: Add TestRoot.cer.

2016-10-07 Thread Zhu, Yonghong
Reviewed-by: Yonghong Zhu  

Best 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.

2016-10-07 Thread Tian, Feng
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.

2016-10-07 Thread Jiewen Yao
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.

2016-10-07 Thread Jiewen Yao
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 Ni 
Cc: 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.

2016-10-07 Thread Jiewen Yao
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 Tian 
Cc: 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.

2016-10-07 Thread Jiewen Yao
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 Tian 
Cc: 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

2016-10-07 Thread Kinney, Michael D
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

2016-10-07 Thread Kinney, Michael D
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

2016-10-07 Thread Kinney, Michael D
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?

2016-10-07 Thread Tim Lewis
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

2016-10-07 Thread Michael Kinney
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 Steele 
Cc: 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

2016-10-07 Thread Michael Kinney
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 Steele 
Cc: 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

2016-10-07 Thread Michael Kinney
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 Steele 
Cc: 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

2016-10-07 Thread Steele, Kelly
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()

2016-10-07 Thread Steele, Kelly
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

2016-10-07 Thread Tapan Shah
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

2016-10-07 Thread Steele, Kelly


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()

2016-10-07 Thread Steele, Kelly


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()

2016-10-07 Thread Carsey, Jaben
Reviewed-by: Jaben Carsey 
And 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

2016-10-07 Thread Laszlo Ersek
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

2016-10-07 Thread Leif Lindholm
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

2016-10-07 Thread Leif Lindholm
On Fri, Oct 07, 2016 at 04:15:36PM +0100, Ard Biesheuvel wrote:
> On 7 October 2016 at 16:14, Ard Biesheuvel  wrote:
> > 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

2016-10-07 Thread Ard Biesheuvel
On 7 October 2016 at 16:14, Ard Biesheuvel  wrote:
> 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

2016-10-07 Thread Ard Biesheuvel
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

2016-10-07 Thread Laszlo Ersek
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

2016-10-07 Thread Brian J. Johnson
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 Johnson 
Cc: 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