[edk2] [PATCH staging][BaseToolsOpt 0/4] Enable multiple driver combination

2017-06-07 Thread Liming Gao
Combine more drivers into the single one can reduce the image size and 
compile link time. This patch adds this support in BaseTools.

Liming Gao (4):
  BaseTools: Merge multiple drivers into one for size and link
performance
  OvmfPkg: Update QemuVideo and VirtioGpuDxe to use NULL as
DriverBindingHandle
  OvmfPkg: Combine QemuVideoDxe and VirtioGpuDxe to one driver
  Update Readme.MD to include multiple driver combination.

 BaseTools/Source/Python/AutoGen/GenC.py | 24 +++-
 OvmfPkg/OvmfPkgIa32X64.dsc  |  6 --
 OvmfPkg/OvmfPkgIa32X64.fdf  |  2 +-
 OvmfPkg/QemuVideoDxe/Driver.c   |  2 +-
 OvmfPkg/VirtioGpuDxe/DriverBinding.c|  2 +-
 Readme.MD   |  1 +
 6 files changed, 27 insertions(+), 10 deletions(-)

-- 
2.8.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH staging][BaseToolsOpt 4/4] Update Readme.MD to include multiple driver combination.

2017-06-07 Thread Liming Gao
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao 
---
 Readme.MD | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Readme.MD b/Readme.MD
index a436dd5..b5646be 100644
--- a/Readme.MD
+++ b/Readme.MD
@@ -15,6 +15,7 @@ identified to be optimized. POC code will be added in this 
branch for evaluation
In Ubuntu 14.04 GCC5, OvmfPkgIa32X64 GenFds build time can be reduced from 
6s to 4s.
 2) Support to merge multiple drivers into one. It should save the link time. 
But, it doesn't save much in the multiple build. 
Besides, this feature can save the image size when the image is not 
compressed, such as PEI images.
+   POC code has been added. One example in OvmfPkgIa32X64.dsc is added to show 
how to combine more than drivers into single one.
 3) Reduce the extra copy actions in build process.
 4) Analyze cProfile data and enhance the parser logic. 
https://bugzilla.tianocore.org/show_bug.cgi?id=42
 
-- 
2.8.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH staging][BaseToolsOpt 2/4] OvmfPkg: Update QemuVideo and VirtioGpuDxe to use NULL as DriverBindingHandle

2017-06-07 Thread Liming Gao
To combine two drivers into one, they can't share ImageHandle as
DriverBindingHandle. So, update their code to use NULL as DriverBindingHandle.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao 
---
 OvmfPkg/QemuVideoDxe/Driver.c| 2 +-
 OvmfPkg/VirtioGpuDxe/DriverBinding.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/QemuVideoDxe/Driver.c b/OvmfPkg/QemuVideoDxe/Driver.c
index fc8025e..ce66c02 100644
--- a/OvmfPkg/QemuVideoDxe/Driver.c
+++ b/OvmfPkg/QemuVideoDxe/Driver.c
@@ -954,7 +954,7 @@ InitializeQemuVideo (
  ImageHandle,
  SystemTable,
  &gQemuVideoDriverBinding,
- ImageHandle,
+ NULL,
  &gQemuVideoComponentName,
  &gQemuVideoComponentName2
  );
diff --git a/OvmfPkg/VirtioGpuDxe/DriverBinding.c 
b/OvmfPkg/VirtioGpuDxe/DriverBinding.c
index 33c1ad3..908bd1d 100644
--- a/OvmfPkg/VirtioGpuDxe/DriverBinding.c
+++ b/OvmfPkg/VirtioGpuDxe/DriverBinding.c
@@ -839,6 +839,6 @@ VirtioGpuEntryPoint (
   )
 {
   return EfiLibInstallDriverBindingComponentName2 (ImageHandle, SystemTable,
-   &mDriverBinding, ImageHandle, NULL /* ComponentName */,
+   &mDriverBinding, NULL, NULL /* ComponentName */,
&mComponentName2);
 }
-- 
2.8.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH staging][BaseToolsOpt 3/4] OvmfPkg: Combine QemuVideoDxe and VirtioGpuDxe to one driver

2017-06-07 Thread Liming Gao
This is an example to show the driver combination in Platform.dsc.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao 
---
 OvmfPkg/OvmfPkgIa32X64.dsc | 6 --
 OvmfPkg/OvmfPkgIa32X64.fdf | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index e1e386c..9858d33 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -678,8 +678,10 @@
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 
-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
+
+  NULL|OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+  }
 
   #
   # ISA Support
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index f6ed418..adad890 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -349,7 +349,7 @@ INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
 !endif
 
 INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+#INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
 INF  OvmfPkg/PlatformDxe/Platform.inf
 
 !if $(SMM_REQUIRE) == TRUE
-- 
2.8.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH staging][BaseToolsOpt 1/4] BaseTools: Merge multiple drivers into one for size and link performance

2017-06-07 Thread Liming Gao
Update BaseTools to support the multiple driver combination. The merge style
reuses the library instance syntax in package.dsc file. The below example is
to combine VirtioGpu and QemuVideoDxe driver into one driver. VirtioGpu driver
entry point will be executed first, QemuVideoDxe entry point will run last.
[Components]
  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {

  NULL|OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
  }

Notes: When try combining some drivers, the compile failure may happen,
because the same function name are used in the different drivers. Those
drivers are required to be clean up first, then be combined.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao 
---
 BaseTools/Source/Python/AutoGen/GenC.py | 24 +++-
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/GenC.py 
b/BaseTools/Source/Python/AutoGen/GenC.py
index 67aaef7..6579457 100644
--- a/BaseTools/Source/Python/AutoGen/GenC.py
+++ b/BaseTools/Source/Python/AutoGen/GenC.py
@@ -1359,10 +1359,17 @@ def CreateLibraryDestructorCode(Info, AutoGenC, 
AutoGenH):
 def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH):
 if Info.IsLibrary or Info.ModuleType in ['USER_DEFINED', 'SEC']:
 return
+
+ModuleEntryPointList = []
+for Lib in Info.DependentLibraryList:
+if len (Lib.ModuleEntryPointList) > 0:
+ModuleEntryPointList = ModuleEntryPointList + 
Lib.ModuleEntryPointList
+ModuleEntryPointList = ModuleEntryPointList + 
Info.Module.ModuleEntryPointList
+
 #
 # Module Entry Points
 #
-NumEntryPoints = len(Info.Module.ModuleEntryPointList)
+NumEntryPoints = len(ModuleEntryPointList)
 if 'PI_SPECIFICATION_VERSION' in Info.Module.Specification:
 PiSpecVersion = Info.Module.Specification['PI_SPECIFICATION_VERSION']
 else:
@@ -1372,7 +1379,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH):
 else:
 UefiSpecVersion = '0x'
 Dict = {
-'Function'   :   Info.Module.ModuleEntryPointList,
+'Function'   :   ModuleEntryPointList,
 'PiSpecVersion'  :   PiSpecVersion + 'U',
 'UefiSpecVersion':   UefiSpecVersion + 'U'
 }
@@ -1385,7 +1392,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH):
   AUTOGEN_ERROR,
   '%s must have exactly one entry point' % Info.ModuleType,
   File=str(Info),
-  ExtraData= ", ".join(Info.Module.ModuleEntryPointList)
+  ExtraData= ", ".join(ModuleEntryPointList)
   )
 if Info.ModuleType == 'PEI_CORE':
 AutoGenC.Append(gPeiCoreEntryPointString.Replace(Dict))
@@ -1430,11 +1437,18 @@ def CreateModuleEntryPointCode(Info, AutoGenC, 
AutoGenH):
 def CreateModuleUnloadImageCode(Info, AutoGenC, AutoGenH):
 if Info.IsLibrary or Info.ModuleType in ['USER_DEFINED', 'SEC']:
 return
+
+ModuleUnloadImageList = []
+for Lib in Info.DependentLibraryList:
+if len (Lib.ModuleUnloadImageList) > 0:
+ModuleUnloadImageList = ModuleUnloadImageList + 
Lib.ModuleUnloadImageList
+ModuleUnloadImageList = ModuleUnloadImageList + 
Info.Module.ModuleUnloadImageList
+
 #
 # Unload Image Handlers
 #
-NumUnloadImage = len(Info.Module.ModuleUnloadImageList)
-Dict = {'Count':str(NumUnloadImage) + 'U', 
'Function':Info.Module.ModuleUnloadImageList}
+NumUnloadImage = len(ModuleUnloadImageList)
+Dict = {'Count':str(NumUnloadImage) + 'U', 
'Function':ModuleUnloadImageList}
 if NumUnloadImage < 2:
 AutoGenC.Append(gUefiUnloadImageString[NumUnloadImage].Replace(Dict))
 else:
-- 
2.8.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 1/1] ShellPkg/ifconfig: Update help message

2017-06-07 Thread hegdenag
Couple of instances had IP4 mentioned, instead of IPv4.
Changing all to IPv4 to maintain consistency.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hegde Nagaraj P 
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni 
| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
index d9bbb209cd..d427dd209f 100644
--- 
a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
+++ 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni
@@ -150,13 +150,13 @@
 ".SH DESCRIPTION\r\n"
 " \r\n"
 "NOTES:\r\n"
-"  1. This command modifies the default IP address for the UEFI IP4\r\n"
+"  1. This command modifies the default IP address for the UEFI IPv4\r\n"
 " network stack.\r\n"
 "  2. Use '-r' to renew configuration of interface and set dhcp policy.\r\n"
 "  3. Use '-l' to list the DNS and other address related settings for all\r\n"
 " interfaces or the specified interface.\r\n"
 "  4. Use '-s  static   ' with \r\n"
-" static IP4 address configuration for specified interface.\r\n"
+" static IPv4 address configuration for specified interface.\r\n"
 "  5. Use '-s  dhcp' for DHCP4 to request the IP4 address\r\n"
 " configuration dynamically for specified interface.\r\n"
 "  6. Use '-s  dns ' must under manual policy.\r\n"
-- 
2.13.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 1/1] NetworkPkg/HttpBootDxe: Handle new #define in HttpBootDxe

2017-06-07 Thread hegdenag
Add a error message in HttpBootPrintErrorMessage for HTTP 308
Redirect.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hegde Nagaraj P 
---
 NetworkPkg/HttpBootDxe/HttpBootSupport.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/NetworkPkg/HttpBootDxe/HttpBootSupport.c 
b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
index 56c4c15836..181cb0d1f3 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootSupport.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
@@ -186,6 +186,10 @@ HttpBootPrintErrorMessage (
 
   case HTTP_STATUS_307_TEMPORARY_REDIRECT:
 AsciiPrint ("\n  Redirection: 307 Temporary Redirect");
+break;
+
+  case HTTP_STATUS_308_PERMANENT_REDIRECT:
+AsciiPrint ("\n  Redirection: 308 Permanent Redirect");
 break; 
 
   case HTTP_STATUS_400_BAD_REQUEST:
-- 
2.13.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 1/1] MdeModulePkg/DxeHttpLib: Handle new #define in HttpMappingToStatusCode

2017-06-07 Thread hegdenag
Related to the ECR for support of HTTP Redirect (308)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hegde Nagaraj P 
---
 MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c 
b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c
index 292923875f..b781fc416f 100644
--- a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c
+++ b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c
@@ -1943,6 +1943,8 @@ HttpMappingToStatusCode (
 return HTTP_STATUS_305_USE_PROXY;
   case 307:
 return HTTP_STATUS_307_TEMPORARY_REDIRECT;
+  case 308:
+return HTTP_STATUS_308_PERMANENT_REDIRECT;
   case 400:
 return HTTP_STATUS_400_BAD_REQUEST;
   case 401:
-- 
2.13.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 1/1] MdePkg/Http.h: Add #define for 308 redirect

2017-06-07 Thread hegdenag
Adding Support for the ECR for HTTP 308 redirect.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hegde Nagaraj P 
---
 MdePkg/Include/Protocol/Http.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MdePkg/Include/Protocol/Http.h b/MdePkg/Include/Protocol/Http.h
index 269416c9fc..4f3f08d3be 100644
--- a/MdePkg/Include/Protocol/Http.h
+++ b/MdePkg/Include/Protocol/Http.h
@@ -5,7 +5,7 @@
   HTTP Protocol (HTTP)
 
   Copyright (c) 2016, Intel Corporation. All rights reserved.
-  (C) Copyright 2015 Hewlett Packard Enterprise Development LP
+  (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
   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
@@ -103,7 +103,8 @@ typedef enum {
   HTTP_STATUS_502_BAD_GATEWAY,
   HTTP_STATUS_503_SERVICE_UNAVAILABLE,
   HTTP_STATUS_504_GATEWAY_TIME_OUT,
-  HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED
+  HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED,
+  HTTP_STATUS_308_PERMANENT_REDIRECT
 } EFI_HTTP_STATUS_CODE;
 
 ///
-- 
2.13.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] GPT support in UEFI

2017-06-07 Thread Shubham Mittal
Hi,

i also think the block number provided by me was wrong. Actually i didn't know 
that parameter represents block number.
Now when i know all the parameters to gpt create command, i used as specified 
by you.
first of all, i used gpt clear BLK3 to install empty gpt tables.
then, i tried gpt create BLK3 P1 0 128 1 -type 0 to create a partition P1.
then, i have to format it using gpt fatformat BLK3 P1 but this gives an error 
saying

gpt: Invalid argument - 'P1'
could not find partition P1 (case-sensitive). Make sure the name is spelled 
properly

however, this shouldn't happen as i already created a partition named P1.

Any Suggestions are welcome!!

Thanks,
Shubham


Vladimir::
gpt clear just creates an empty gpt table on a block device. I doubt you need 
it for sd card. To format the sd card say on blk2 use gpt fatformat blk2.
Normally when you want to create gpt partitions from scratch you do
gpt clear
gpt create blk2 partname 0 partsizeinmb 0 -type N, and then you format 
partition with gpt fatformat blk2 partname.
gpt fatformat blk2 will format the whole device.
After that do gpt sync blk2 to let the upper layer know there is a need to 
reread devices. Then map -r and you will see your new filesystem in the list. 
The way you tried to create a partition is a bit strange to me. You want a 
partition to start from block 131242 and be 64MB?
I usually create ESP partition as
gpt create blk2 ESP 0 128 1 -type 0
gpt fatformat blk3 formats ENTIRE device effectively destroying gpt partition 
table. If you want to just format ESP partition to FAT32 then use
gpt fatformat blk3 ESP.
gpt create has this syntax:
gpt create blk partname startblk sizeinMB flag type. If you set startblk as 0, 
the first available block is used.

Hope this helps.

Thank you,
Vladimir

On Jun 7, 2017 2:30 AM, "Shubham Mittal" 
mailto:shubham.mit...@nxp.com>> wrote:

Thanks a lot for the guide to your GPT shell command patch.

I applied it in my local repository and i am able to see shell command "gpt" in 
UEFI.



Now, when the sd card is corrupted, i used "gpt clear BLK3:" where BLK3 is the 
sd.

then, i used "gpt create BLK3: F1 131242 64 1 -type 0" to create a partition 
named F1.

it does not give error, but when i use "gpt list BLK3:", it does not show the 
partition created.

also, i used "gpt fatformat BLK3:" to format the sd and then when i use "gpt 
sync BLK3:" and again start uefi, it does show FS0: which means a file system 
is created on the sd but the partition i created does not show there and also 
not showing when i use "gpt list BLK3:".



Please reply asap what is wrong here.

i think gpt create command is wrong because i am unable to understand what each 
parameter represents.



Thanks,

Shubham Mittal

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 00/10] *** BaseTools: Tools change to support PI v1.5 Specification. ***

2017-06-07 Thread Gao, Liming
Supreeth:
  Thanks for your contribution. I review this patch set, and have two comments. 
1) This is added in PI1.5. So, its version check should be with 0x00010032 (1 
and 50), not 0x0001000A (1 and 10).  Smm standalone module INF needs to specify 
PI_SPECIFICATION_VERSION   = 0x00010032.
2) Does the change conform to doc change recorded in below bugzilla?
https://bugzilla.tianocore.org/show_bug.cgi?id=550
https://bugzilla.tianocore.org/show_bug.cgi?id=551
https://bugzilla.tianocore.org/show_bug.cgi?id=552

Thanks
Liming
>-Original Message-
>From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
>Supreeth Venkatesh
>Sent: Tuesday, June 06, 2017 5:44 AM
>To: edk2-devel@lists.01.org
>Cc: leif.lindh...@arm.com; ard.biesheu...@linaro.org
>Subject: [edk2] [PATCH 00/10] *** BaseTools: Tools change to support PI v1.5
>Specification. ***
>
>***
>PI v1.5 Specification Volume 4 defines Management Mode Core Interface.
>In order to support Management Mode Core Interface, Module Types
>MM_STANDALONE, MM_CORE_STANDALONE are needed.
>PI specification v1.5 defines the following new file types:
>#define EFI_FV_FILETYPE_MM 0x0A
>#define EFI_FV_FILETYPE_COMBINED_MM_DXE 0x0C
>#define EFI_FV_FILETYPE_MM_STANDALONE 0x0E
>The following changes are necessitated in order to support the above changes
>to the specification.
>***
>
>Supreeth Venkatesh (10):
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>  BaseTools: Tools change to support PI v1.5 Specification.
>
> BaseTools/Source/C/GenFfs/GenFfs.c |   6 +-
> BaseTools/Source/C/GenFw/GenFw.c   |   5 +-
> BaseTools/Source/C/Include/Common/PiFirmwareFile.h |   1 +
> BaseTools/Source/Python/AutoGen/GenC.py| 148
>-
> BaseTools/Source/Python/AutoGen/GenDepex.py|  17 ++-
> BaseTools/Source/Python/Common/DataType.py |   4 +-
> BaseTools/Source/Python/Common/FdfParserLite.py|   4 +-
> .../Source/Python/CommonDataClass/CommonClass.py   |   6 +-
> .../Source/Python/CommonDataClass/PackageClass.py  |   2 +-
> BaseTools/Source/Python/Eot/FvImage.py |   1 +
> BaseTools/Source/Python/GenFds/FdfParser.py|   4 +-
> BaseTools/Source/Python/GenFds/Ffs.py  |   7 +-
> BaseTools/Source/Python/GenFds/FfsInfStatement.py  |   3 +
> .../Source/Python/Workspace/WorkspaceDatabase.py   |   4 +
> BaseTools/Source/Python/build/BuildReport.py   |   4 +-
> BaseTools/Source/Python/build/build.py |   2 +-
> 16 files changed, 199 insertions(+), 19 deletions(-)
>
>--
>2.7.4
>
>___
>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] SecurityPkg TcgDxe: Simplify debug msg when "TPM not working properly"

2017-06-07 Thread Star Zeng
Current code for case "TPM not working properly" uses the predefined
macro __FILE__ in debug format string, but uses predefined macro
__LINE__ as parameter, and it also uses multiple pairs of "" in debug
format string.

To be simple and clear, this patch is to update the code to just use
"DriverEntry: TPM not working properly\n" as the debug message.

Cc: Jiewen Yao 
Cc: Amy Chan 
Cc: Chasel Chiu 
Cc: Chao Zhang 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng 
---
 SecurityPkg/Tcg/TcgDxe/TcgDxe.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
index 5b7c5c3e165b..4a90c5ccef16 100644
--- a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
+++ b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
@@ -1406,9 +1406,7 @@ DriverEntry (
   if (EFI_ERROR (Status)) {
 DEBUG ((
   EFI_D_ERROR,
-  "Line %d in file " __FILE__ ":\n"
-  "DriverEntry: TPM not working properly\n",
-  __LINE__
+  "DriverEntry: TPM not working properly\n"
   ));
 return Status;
   }
-- 
2.7.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 1/1] OvmfPkg/AcpiPlatformDxe: alloc blobs from 64-bit space unless restricted

2017-06-07 Thread Laszlo Ersek
On 06/06/17 20:16, Laszlo Ersek wrote:
> On 06/05/17 19:47, Jordan Justen wrote:
>> On 2017-06-03 08:42:03, Laszlo Ersek wrote:
>>> ... by narrower than 8-byte ADD_POINTER references.
>>>
>>> Introduce the CollectRestrictedAllocations() function, which iterates over
>>
>> How about Collect32BitRestrictedAllocations and similar treatment for
>> other names that just say 'restricted'?
> 
> Something like this crossed my mind, but I didn't know how to prefix the
> simple variable / parameter names "RestrictedAllocations" with "32Bit",
> as the identifiers cannot start with a digit.
> 
> I even thought of spelling it out, as in
> "ThirtyTwoBitRestrictedAllocations", but that seemed ridiculous.
> 
> Prefixing "32Bit" with an underscore, _32Bit, looks ugly, plus the C
> standard actually reserves it:
> 
> All identifiers that begin with an underscore are always reserved
> for use as identifiers with file scope in both the ordinary and tag
> name spaces.
> 
> While I'd only use this variable name as function parameter / local
> variable, and thereby I'd shadow any such impl. defined global variable
> ("identifiers with file scope"), the shadowing would trigger a compiler
> warning for sure, and break the build.
> 
> What do you suggest?

Ultimately I went with

  s/RestrictedAllocations/AllocationsRestrictedTo32Bit/

in the patch body and in the commit message too. Cleaned up the line
lengths and such as well, plus retested the patch.

Commit 4275f38507a4.

Thanks,
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion

2017-06-07 Thread Ni, Ruiyu
I did think about changing as you suggested. But other errors also may be 
DEVICE_ERROR in case the NV storage has some problem. So I did not change it.
Sorry for not replying to you before checking in the code.

Send from mobile phone

> 在 2017年6月7日,下午11:35,Shah, Tapan  写道:
> 
> Ray,
>   I don't see your check-in includes the change I proposed below.
> 
> Tapan
> 
> 
> -Original Message-
> From: Shah, Tapan
> Sent: Tuesday, June 06, 2017 5:03 PM
> To: 'Carsey, Jaben' ; Ni, Ruiyu ; 
> edk2-devel@lists.01.org
> Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion
> 
> Instead of using  STR_GEN_ERR_UK here, it would be better to define a new 
> string token as "alias: '' does not exist."
> 
 +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN
 + (STR_GEN_ERR_UK),
 gShellLevel3HiiHandle, L"alias", Status);
> 
> Reviewed-by: Tapan Shah 
> 
> -Original Message-
> From: Carsey, Jaben [mailto:jaben.car...@intel.com]
> Sent: Tuesday, June 06, 2017 4:37 PM
> To: Ni, Ruiyu ; edk2-devel@lists.01.org
> Cc: Shah, Tapan 
> Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion
> 
> I am good with more clear error information coming to the user.
> Reviewed-by: Jaben Carsey 
> 
>> -Original Message-
>> From: Ni, Ruiyu
>> Sent: Tuesday, June 06, 2017 2:26 PM
>> To: Ni, Ruiyu ; edk2-devel@lists.01.org
>> Cc: Tapan Shah ; Carsey, Jaben
>> 
>> Subject: Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias
>> deletion
>> Importance: High
>> 
>> Including Jaben for review.
>> 
>> Send from mobile phone
>> 
>>> 在 2017年6月6日,下午4:43,Ni, Ruiyu  写道:
>>> 
>>> Including Tapan.
>>> 
>>> Thanks/Ray
>>> 
 -Original Message-
 From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf
 Of
>> Ruiyu
 Ni
 Sent: Tuesday, June 6, 2017 4:29 PM
 To: edk2-devel@lists.01.org
 Subject: [edk2] [PATCH] ShellPkg/alias: Return status for alias
 deletion
 
 Contributed-under: TianoCore Contribution Agreement 1.0
 Signed-off-by: Ruiyu Ni 
 Cc: Tapan Shah 
 ---
 ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c | 11
 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)
 
 diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
 b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
 index 5a3b7e5913..7277bd4b90 100644
 --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
 +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
 @@ -2,7 +2,7 @@
  Main file for Alias shell level 3 function.
 
  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.
 -  Copyright (c) 2009 - 2016, Intel Corporation. All rights
 reserved. 
 +  Copyright (c) 2009 - 2017, 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 distribution.  The full text of the
 license may be
>> found
 at @@ -151,6 +151,15 @@ ShellCommandRunAlias (
  // delete an alias
  //
  Status = gEfiShellProtocol->SetAlias(Param1, NULL, TRUE,
 FALSE);
 +  if (EFI_ERROR(Status)) {
 +if (Status == EFI_ACCESS_DENIED) {
 +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN
 + (STR_GEN_ERR_AD),
 gShellLevel3HiiHandle, L"alias");
 +  ShellStatus = SHELL_ACCESS_DENIED;
 +} else {
 +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN
 + (STR_GEN_ERR_UK),
 gShellLevel3HiiHandle, L"alias", Status);
 +  ShellStatus = SHELL_DEVICE_ERROR;
 +}
 +  }
} else if (ShellCommandLineGetCount(Package) == 3) {
  //
  // must be adding an alias
 --
 2.12.2.windows.2
 
 ___
 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] Jaben will be away until August.

2017-06-07 Thread Carsey, Jaben
Hi all,

I am going to be gone until early august without access to my email after this 
week.  Mike Kinney has graciously agreed to handle reviewing code patches in my 
place until I return.

Thanks Mike!


Thanks,
-Jaben
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH] ShellPkg: Remove unnecessary Readme.txt

2017-06-07 Thread Carsey, Jaben
Reviewed-by: Jaben Carsey 

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Ruiyu Ni
> Sent: Tuesday, June 06, 2017 10:52 PM
> To: edk2-devel@lists.01.org
> Cc: Carsey, Jaben 
> Subject: [edk2] [PATCH] ShellPkg: Remove unnecessary Readme.txt
> Importance: High
> 
> The Readme.txt contains instructions about how to integrate Shell
> into Nt32. Actually Nt32 already contains a macro USE_OLD_SHELL to
> choose OLD or NEW Shell.
> 
> So remove this txt file.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni 
> Cc: Jaben Carsey 
> ---
>  ShellPkg/Readme.txt | 29 -
>  1 file changed, 29 deletions(-)
>  delete mode 100644 ShellPkg/Readme.txt
> 
> diff --git a/ShellPkg/Readme.txt b/ShellPkg/Readme.txt
> deleted file mode 100644
> index 77841c0a2a..00
> --- a/ShellPkg/Readme.txt
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -
> ==
> ==
> - OVERVIEW
> -
> ==
> ==
> -The UEFI 2.0 shell provides a standard pre-boot command line processor.
> -It is similar to the EDK EFI Shell or a *nix command line parser.
> -
> -
> ==
> ==
> -HOW TO INCORPORATE THIS SHELL INTO NT32
> -
> ==
> ==
> -The instructions below are included as a sample and template on how a
> -developer may integrate this code into an existing platform:
> -
> -1. Add this shell build to the NT32 build:
> -   Add the shell.inf to the [components] section as it is in the 
> ShellPkg.dsc.
> -
> -2. Update system PCDs to support this new module
> -   Update the PCD as follows using the Shell's PCD:
> -   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5,
> 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4,
> 0xD1 }
> -
> -3. Remove the old shell from the NT32 Firmware list
> -   Remove the FILE APPLICATION section for the old shell.
> -
> -4. Add this shell to the NT32 firmware list
> -   Add the Shell.INF to the end of the list of DXE modules.
> -
> -5. Build NT32
> -
> -
> -
> ==
> ==
> --
> 2.12.2.windows.2
> 
> ___
> 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] ShellPkg/alias: Return status for alias deletion

2017-06-07 Thread Shah, Tapan
Ray,
   I don't see your check-in includes the change I proposed below.
 
Tapan


-Original Message-
From: Shah, Tapan 
Sent: Tuesday, June 06, 2017 5:03 PM
To: 'Carsey, Jaben' ; Ni, Ruiyu ; 
edk2-devel@lists.01.org
Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion

Instead of using  STR_GEN_ERR_UK here, it would be better to define a new 
string token as "alias: '' does not exist."

> >> +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN 
> >> + (STR_GEN_ERR_UK),
> >> gShellLevel3HiiHandle, L"alias", Status);

Reviewed-by: Tapan Shah 

-Original Message-
From: Carsey, Jaben [mailto:jaben.car...@intel.com]
Sent: Tuesday, June 06, 2017 4:37 PM
To: Ni, Ruiyu ; edk2-devel@lists.01.org
Cc: Shah, Tapan 
Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion

I am good with more clear error information coming to the user.
Reviewed-by: Jaben Carsey 

> -Original Message-
> From: Ni, Ruiyu
> Sent: Tuesday, June 06, 2017 2:26 PM
> To: Ni, Ruiyu ; edk2-devel@lists.01.org
> Cc: Tapan Shah ; Carsey, Jaben 
> 
> Subject: Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias 
> deletion
> Importance: High
> 
> Including Jaben for review.
> 
> Send from mobile phone
> 
> > 在 2017年6月6日,下午4:43,Ni, Ruiyu  写道:
> >
> > Including Tapan.
> >
> > Thanks/Ray
> >
> >> -Original Message-
> >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf 
> >> Of
> Ruiyu
> >> Ni
> >> Sent: Tuesday, June 6, 2017 4:29 PM
> >> To: edk2-devel@lists.01.org
> >> Subject: [edk2] [PATCH] ShellPkg/alias: Return status for alias 
> >> deletion
> >>
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Ruiyu Ni 
> >> Cc: Tapan Shah 
> >> ---
> >> ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c | 11 
> >> ++-
> >> 1 file changed, 10 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> >> b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> >> index 5a3b7e5913..7277bd4b90 100644
> >> --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> >> +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> >> @@ -2,7 +2,7 @@
> >>   Main file for Alias shell level 3 function.
> >>
> >>   (C) Copyright 2015 Hewlett-Packard Development Company, L.P.
> >> -  Copyright (c) 2009 - 2016, Intel Corporation. All rights 
> >> reserved. 
> >> +  Copyright (c) 2009 - 2017, 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 distribution.  The full text of the 
> >> license may be
> found
> >> at @@ -151,6 +151,15 @@ ShellCommandRunAlias (
> >>   // delete an alias
> >>   //
> >>   Status = gEfiShellProtocol->SetAlias(Param1, NULL, TRUE, 
> >> FALSE);
> >> +  if (EFI_ERROR(Status)) {
> >> +if (Status == EFI_ACCESS_DENIED) {
> >> +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN 
> >> + (STR_GEN_ERR_AD),
> >> gShellLevel3HiiHandle, L"alias");
> >> +  ShellStatus = SHELL_ACCESS_DENIED;
> >> +} else {
> >> +  ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN 
> >> + (STR_GEN_ERR_UK),
> >> gShellLevel3HiiHandle, L"alias", Status);
> >> +  ShellStatus = SHELL_DEVICE_ERROR;
> >> +}
> >> +  }
> >> } else if (ShellCommandLineGetCount(Package) == 3) {
> >>   //
> >>   // must be adding an alias
> >> --
> >> 2.12.2.windows.2
> >>
> >> ___
> >> 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] [RFC] migration of OpenPlatformPkg to tianocore

2017-06-07 Thread Leif Lindholm
Hi all,

OK, so I have now updated both edk2-non-osi and edk2-platforms
(devel-OpenPlatformPkg branches) with package renaming, and updating
.dsc/.fdf files to . 

It appears the problems I'm facing are mainly caused by the GenFds
stage not seeing a view consistent with the actual compilation stage.

To demonstrate, I build the Juno platform:
$ . edksetup.sh
$ make -C BaseTools
$ PACKAGES_PATH=/work/git/edk2-platforms/Platform/ARM \
   GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -n 9 -a AARCH64 \
   -t GCC5 -p JunoPkg/ArmJuno.dsc -b RELEASE

This build fails with:
---
Fd File Name:BL33_AP_UEFI

Generate Region at Offset 0x0
   Region Size = 0xF8000
  Region Name = FV

Generating FVMAIN_COMPACT FV

Generating FVMAIN FV


GenFds.py...
 : error F003: Output file for RAW section could not be found for
 JunoPkg/AcpiTables/AcpiTables.inf



build.py...
 : error 7000: Failed to execute command
   GenFds -f /work/git/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.fdf
   --conf=/work/git/edk2/Conf -o
   /work/git/edk2/Build/ArmJuno/RELEASE_GCC5 -t GCC5 -b RELEASE -p
   /work/git/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc -a
   AARCH64 -D "EFI_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D
   "EDK_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D
   "TOOL_CHAIN_TAG=GCC5" -D "TOOLCHAIN=GCC5" -D "TARGET=RELEASE" -D
   "FAMILY=GCC" -D "WORKSPACE=/work/git/edk2" -D
   "EDK_TOOLS_PATH=/work/git/edk2/BaseTools" -D "ARCH=AARCH64" -D
   "ECP_SOURCE=/work/git/edk2/EdkCompatibilityPkg" [/work/git/edk2]

- Failed -
---
, but if I add the symlink
ln -s edk2-platforms/Platform/ARM/JunoPkg/ Build/ArmJuno/RELEASE_GCC5/AARCH64/
it completes successfully on the next pass.

Same when building VExpressPkg/ArmVExpress-FVP-AArch64.dsc
ln -s edk2-platforms/Platform/ARM/VExpressPkg \
 Build/ArmVExpress-FVP-AArch64/RELEASE_GCC5/AARCH64/
resolves the build error.


Similarly, when I build the Overdrive/Overdrive.dsc, using:
$ 
PACKAGES_PATH=/work/git/edk2-platforms/Platform/AMD:/work/git/edk2-platforms/Silicon/AMD:/work/git/edk2-non-osi/Silicon/AMD/Styx:/work/git/edk2-non-osi/Platform/AMD
 \
 GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -n 9 -a AARCH64 -t GCC5
 -p OverdriveBoard/OverdriveBoard.dsc -b RELEASE
this fails with
---
Fd File Name:STYX_ROM

Generate Region at Offset 0x0
   Region Size = 0x20
  Region File Name =
  
/work/git/edk2/../edk2-non-osi/Platform/AMD/OverdriveBoard/PreUefiFirmware.bin

Generate Region at Offset 0x20
   Region Size = 0x26
  Region Name = FV

Generating STYX_EFI FV
Return Value = 2
GenFw: ERROR 0001: Error opening file

  
/work/git/edk2/Build/Overdrive/RELEASE_GCC5/AARCH64/StyxPkg/Drivers/PlatInitPei/PlatInitPei/OUTPUT/PlatInitPei.efi



GenFds.py...
### ['GenFw', '-t', '-o',
### 
'/work/git/edk2/Build/Overdrive/RELEASE_GCC5/FV/Ffs/769694a4-2572-4f29-a5bb-33d7df7be001PlatInitPei/769694a4-2572-4f29-a5bb-33d7df7be001Te.raw',
### 
'/work/git/edk2/Build/Overdrive/RELEASE_GCC5/AARCH64/StyxPkg/Drivers/PlatInitPei/PlatInitPei/OUTPUT/PlatInitPei.efi']
 : error 7000: Failed to generate firmware image



build.py...
 : error 7000: Failed to execute command
   GenFds -f
   /work/git/edk2-platforms/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
   --conf=/work/git/edk2/Conf -o
   /work/git/edk2/Build/Overdrive/RELEASE_GCC5 -t GCC5 -b RELEASE -p
   /work/git/edk2-platforms/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
   -a AARCH64 -D "EFI_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D
   "EDK_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D
   "TOOL_CHAIN_TAG=GCC5" -D "TOOLCHAIN=GCC5" -D "TARGET=RELEASE" -D
   "FAMILY=GCC" -D "WORKSPACE=/work/git/edk2" -D
   "FIRMWARE_VER=b941c34" -D "EDK_TOOLS_PATH=/work/git/edk2/BaseTools"
   -D "ARCH=AARCH64" -D
   "ECP_SOURCE=/work/git/edk2/EdkCompatibilityPkg" [/work/git/edk2]

- Failed -
---

Again, resolved by
ln -s edk2-platforms/Silicon/AMD/StyxPkg/ Build/Overdrive/RELEASE_GCC5/AARCH64/

Am I doing something wrong here? Are there any magic runes that could
help out?

/
Leif

On Fri, May 05, 2017 at 01:45:51PM +, Yao, Jiewen wrote:
> HI Leif
> It is great that you are adding more platform to edk2-platforms.
> 
> We (Intel) also have plan to add more boards there. In general, we are very 
> close on having silicon and platform folder.
> 
> I have a quick look. One minor suggestions here:
> Take Arm folder as example. (I assume Juno is one package, and VExpress is 
> the other package.)
> Can we name Juno to be JunoPkg, and VExpress to be VExpressPkg ?
> We do not add "Pkg" to a folder. And we usually add "Pkg" suffix to a package.
> 
> In general, I think it is a very good start.
> I may review the content in more detail and provide more feedback.
> 
> 
> Thank you
> Yao Jiewen
> 
> 
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Leif 
> Lindholm
> Sent: Thursday, May 4, 2017 6:56 AM
> To: edk2-devel@lists.01.org
> Cc: Ryan Harkin ; Ard Biesheuvel 
> ; Chenhui Sun ; Andrew 
> Fish ; Alan Ott ; Richardso

Re: [edk2] HTTPS boot support questions

2017-06-07 Thread Santhapur Naveen
Hi Jiaxin,

Thanks for the clarification.

Regards,
Naveen

-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com] 
Sent: Wednesday, June 07, 2017 1:14 PM
To: Santhapur Naveen; edk2-devel@lists.01.org
Subject: RE: HTTPS boot support questions

Naveen,

I mean the WinPE/Windows 10 OS can't be installed via UEFI HTTP(S) feature. 
Currently, I only verified the ISO image is SUSE SLES.

Thanks,
Jiaxin



> -Original Message-
> From: Santhapur Naveen [mailto:nave...@amiindia.co.in]
> Sent: Wednesday, June 7, 2017 3:29 PM
> To: Santhapur Naveen ; Wu, Jiaxin 
> ; edk2-devel@lists.01.org
> Subject: RE: HTTPS boot support questions
> 
> Hi Jiaxin,
> 
> For #2, you meant server for HTTPS can't be configured in Windows 
> alone or the OS can't be installed over HTTPS? I don't think the 
> latter is valid. Please clarify.
> 
> Thanks,
> Naveen
> 
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Santhapur Naveen
> Sent: Wednesday, June 07, 2017 12:43 PM
> To: Wu, Jiaxin; edk2-devel@lists.01.org
> Subject: Re: [edk2] HTTPS boot support questions
> 
> Hi Jiaxin,
> 
> Thanks for your comments.
> 
> Regards,
> Naveen
> 
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Wednesday, June 07, 2017 12:41 PM
> To: Santhapur Naveen; edk2-devel@lists.01.org
> Subject: RE: HTTPS boot support questions
> 
> Hi Naveen,
> 
> For your question:
> #1: Yes, HTTPS Boot can work with port 80, but you have to close any 
> possible website may be using the same port.
> 
> #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 
> OS installation.
> 
> #3: Yes, secure boot feature is not related to HTTPS boot. You can 
> finish the download process no matter secure boot enabled or not. But 
> the download image must be signed to continue the execution.
> 
> Thanks,
> Jiaxin
> 
> 
> 
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf 
> > Of Santhapur Naveen
> > Sent: Wednesday, June 7, 2017 12:11 PM
> > To: edk2-devel@lists.01.org
> > Subject: [edk2] HTTPS boot support questions
> >
> > Hello,
> >
> > I have some questions regarding HTTPS Boot and are as below.
> >
> > 1. If I'm using iPXE port 80 to communicate with server because of 
> > firewall concern. Does https boot happen  via the same 80 port?
> > 2. Does it support WinPE/Windows 10 OS installation? If yes, is 
> > there any open document available to achieve the same?
> > 3. Does it support network boot without disabling secure boot OS?
> >
> > Thanks in advance,
> > Naveen
> > ___
> > 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
> This e-mail is intended for the use of the addressee only and may 
> contain privileged, confidential, or proprietary information that is 
> exempt from disclosure under law. If you have received this message in 
> error, please inform us promptly by reply e-mail, then delete the 
> e-mail and destroy any printed copy. Thank you.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch] BaseTools: Fix the bug use same FMP_PAYLOAD in different capsule file

2017-06-07 Thread Gao, Liming
Reviewed-by: Liming Gao 

>-Original Message-
>From: Zhu, Yonghong
>Sent: Tuesday, June 06, 2017 9:52 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming 
>Subject: [Patch] BaseTools: Fix the bug use same FMP_PAYLOAD in different
>capsule file
>
>Fix the bug that use same FMP_PAYLOAD in different capsule file. Because
>in previous FMP generation, the FMP already be generated, so we don't
>need to regenerate again.
>
>Cc: Liming Gao 
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Yonghong Zhu 
>---
> BaseTools/Source/Python/GenFds/Capsule.py | 15 ++-
> BaseTools/Source/Python/GenFds/CapsuleData.py |  3 +++
> 2 files changed, 13 insertions(+), 5 deletions(-)
>
>diff --git a/BaseTools/Source/Python/GenFds/Capsule.py
>b/BaseTools/Source/Python/GenFds/Capsule.py
>index d025f0c..e03d789 100644
>--- a/BaseTools/Source/Python/GenFds/Capsule.py
>+++ b/BaseTools/Source/Python/GenFds/Capsule.py
>@@ -1,9 +1,9 @@
> ## @file
> # generate capsule
> #
>-#  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
>+#  Copyright (c) 2007 - 2017, 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 distribution.  The full text of the license may be
>found at
> #  http://opensource.org/licenses/bsd-license.php
>@@ -139,10 +139,15 @@ class Capsule (CapsuleClassObject) :
> PreSize += os.path.getsize(FileName)
> File = open(FileName, 'rb')
> Content.write(File.read())
> File.close()
> for fmp in self.FmpPayloadList:
>+if fmp.Existed:
>+FwMgrHdr.write(pack('=Q', PreSize))
>+PreSize += len(fmp.Buffer)
>+Content.write(fmp.Buffer)
>+continue
> if fmp.ImageFile:
> for Obj in fmp.ImageFile:
> fmp.ImageFile = Obj.GenCapsuleSubItem()
> if fmp.VendorCodeFile:
> for Obj in fmp.VendorCodeFile:
>@@ -167,16 +172,16 @@ class Capsule (CapsuleClassObject) :
> dwLength = 4 + 2 + 2 + 16 + os.path.getsize(CapOutputTmp) 
> -
>os.path.getsize(CapInputFile)
> else:
> dwLength = 4 + 2 + 2 + 16 + 16 + 256 + 256
> fmp.ImageFile = CapOutputTmp
> AuthData = [fmp.MonotonicCount, dwLength, WIN_CERT_REVISION,
>WIN_CERT_TYPE_EFI_GUID, fmp.Certificate_Guid]
>-Buffer = fmp.GenCapsuleSubItem(AuthData)
>+fmp.Buffer = fmp.GenCapsuleSubItem(AuthData)
> else:
>-Buffer = fmp.GenCapsuleSubItem()
>+fmp.Buffer = fmp.GenCapsuleSubItem()
> FwMgrHdr.write(pack('=Q', PreSize))
>-PreSize += len(Buffer)
>-Content.write(Buffer)
>+PreSize += len(fmp.Buffer)
>+Content.write(fmp.Buffer)
> BodySize = len(FwMgrHdr.getvalue()) + len(Content.getvalue())
> Header.write(pack('=I', HdrSize + BodySize))
> #
> # The real capsule header structure is 28 bytes
> #
>diff --git a/BaseTools/Source/Python/GenFds/CapsuleData.py
>b/BaseTools/Source/Python/GenFds/CapsuleData.py
>index 24c210d..5b806d9 100644
>--- a/BaseTools/Source/Python/GenFds/CapsuleData.py
>+++ b/BaseTools/Source/Python/GenFds/CapsuleData.py
>@@ -181,10 +181,12 @@ class CapsulePayload(CapsuleData):
> self.HardwareInstance = None
> self.ImageFile = []
> self.VendorCodeFile = []
> self.Certificate_Guid = None
> self.MonotonicCount = None
>+self.Existed = False
>+self.Buffer = None
>
> def GenCapsuleSubItem(self, AuthData=[]):
> if not self.Version:
> self.Version = '0x0002'
> if not self.ImageIndex:
>@@ -237,6 +239,7 @@ class CapsulePayload(CapsuleData):
> ImageFile.close()
> if self.VendorCodeFile:
> VendorFile = open(self.VendorCodeFile, 'rb')
> Buffer += VendorFile.read()
> VendorFile.close()
>+self.Existed = True
> return Buffer
>--
>2.6.1.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] HTTPS boot support questions

2017-06-07 Thread Wu, Jiaxin
Naveen,

I mean the WinPE/Windows 10 OS can't be installed via UEFI HTTP(S) feature. 
Currently, I only verified the ISO image is SUSE SLES.

Thanks,
Jiaxin



> -Original Message-
> From: Santhapur Naveen [mailto:nave...@amiindia.co.in]
> Sent: Wednesday, June 7, 2017 3:29 PM
> To: Santhapur Naveen ; Wu, Jiaxin
> ; edk2-devel@lists.01.org
> Subject: RE: HTTPS boot support questions
> 
> Hi Jiaxin,
> 
> For #2, you meant server for HTTPS can't be configured in Windows alone or
> the OS can't be installed over HTTPS? I don't think the latter is valid. 
> Please
> clarify.
> 
> Thanks,
> Naveen
> 
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Santhapur Naveen
> Sent: Wednesday, June 07, 2017 12:43 PM
> To: Wu, Jiaxin; edk2-devel@lists.01.org
> Subject: Re: [edk2] HTTPS boot support questions
> 
> Hi Jiaxin,
> 
> Thanks for your comments.
> 
> Regards,
> Naveen
> 
> -Original Message-
> From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
> Sent: Wednesday, June 07, 2017 12:41 PM
> To: Santhapur Naveen; edk2-devel@lists.01.org
> Subject: RE: HTTPS boot support questions
> 
> Hi Naveen,
> 
> For your question:
> #1: Yes, HTTPS Boot can work with port 80, but you have to close any possible
> website may be using the same port.
> 
> #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS
> installation.
> 
> #3: Yes, secure boot feature is not related to HTTPS boot. You can finish the
> download process no matter secure boot enabled or not. But the download
> image must be signed to continue the execution.
> 
> Thanks,
> Jiaxin
> 
> 
> 
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> > Santhapur Naveen
> > Sent: Wednesday, June 7, 2017 12:11 PM
> > To: edk2-devel@lists.01.org
> > Subject: [edk2] HTTPS boot support questions
> >
> > Hello,
> >
> > I have some questions regarding HTTPS Boot and are as below.
> >
> > 1. If I'm using iPXE port 80 to communicate with server because of
> > firewall concern. Does https boot happen  via the same 80 port?
> > 2. Does it support WinPE/Windows 10 OS installation? If yes, is there
> > any open document available to achieve the same?
> > 3. Does it support network boot without disabling secure boot OS?
> >
> > Thanks in advance,
> > Naveen
> > ___
> > 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
> This e-mail is intended for the use of the addressee only and may contain
> privileged, confidential, or proprietary information that is exempt from
> disclosure under law. If you have received this message in error, please
> inform us promptly by reply e-mail, then delete the e-mail and destroy any
> printed copy. Thank you.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] HTTPS boot support questions

2017-06-07 Thread Santhapur Naveen
Hi Jiaxin,

For #2, you meant server for HTTPS can't be configured in Windows alone or the 
OS can't be installed over HTTPS? I don't think the latter is valid. Please 
clarify.

Thanks,
Naveen

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
Santhapur Naveen
Sent: Wednesday, June 07, 2017 12:43 PM
To: Wu, Jiaxin; edk2-devel@lists.01.org
Subject: Re: [edk2] HTTPS boot support questions

Hi Jiaxin,

Thanks for your comments.

Regards,
Naveen

-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com]
Sent: Wednesday, June 07, 2017 12:41 PM
To: Santhapur Naveen; edk2-devel@lists.01.org
Subject: RE: HTTPS boot support questions

Hi Naveen,

For your question:
#1: Yes, HTTPS Boot can work with port 80, but you have to close any possible 
website may be using the same port.

#2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS 
installation.

#3: Yes, secure boot feature is not related to HTTPS boot. You can finish the 
download process no matter secure boot enabled or not. But the download image 
must be signed to continue the execution.

Thanks,
Jiaxin



> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Santhapur Naveen
> Sent: Wednesday, June 7, 2017 12:11 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] HTTPS boot support questions
>
> Hello,
>
> I have some questions regarding HTTPS Boot and are as below.
>
> 1. If I'm using iPXE port 80 to communicate with server because of 
> firewall concern. Does https boot happen  via the same 80 port?
> 2. Does it support WinPE/Windows 10 OS installation? If yes, is there 
> any open document available to achieve the same?
> 3. Does it support network boot without disabling secure boot OS?
>
> Thanks in advance,
> Naveen
> ___
> 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
This e-mail is intended for the use of the addressee only and may contain 
privileged, confidential, or proprietary information that is exempt from 
disclosure under law. If you have received this message in error, please inform 
us promptly by reply e-mail, then delete the e-mail and destroy any printed 
copy. Thank you.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] HTTPS boot support questions

2017-06-07 Thread Santhapur Naveen
Hi Jiaxin,

Thanks for your comments.

Regards,
Naveen

-Original Message-
From: Wu, Jiaxin [mailto:jiaxin...@intel.com] 
Sent: Wednesday, June 07, 2017 12:41 PM
To: Santhapur Naveen; edk2-devel@lists.01.org
Subject: RE: HTTPS boot support questions

Hi Naveen,

For your question:
#1: Yes, HTTPS Boot can work with port 80, but you have to close any possible 
website may be using the same port.

#2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS 
installation.

#3: Yes, secure boot feature is not related to HTTPS boot. You can finish the 
download process no matter secure boot enabled or not. But the download image 
must be signed to continue the execution.

Thanks,
Jiaxin



> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Santhapur Naveen
> Sent: Wednesday, June 7, 2017 12:11 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] HTTPS boot support questions
> 
> Hello,
> 
> I have some questions regarding HTTPS Boot and are as below.
> 
> 1. If I'm using iPXE port 80 to communicate with server because of 
> firewall concern. Does https boot happen  via the same 80 port?
> 2. Does it support WinPE/Windows 10 OS installation? If yes, is there 
> any open document available to achieve the same?
> 3. Does it support network boot without disabling secure boot OS?
> 
> Thanks in advance,
> Naveen
> ___
> 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] HTTPS boot support questions

2017-06-07 Thread Wu, Jiaxin
Hi Naveen,

For your question:
#1: Yes, HTTPS Boot can work with port 80, but you have to close any possible 
website may be using the same port.

#2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS 
installation.

#3: Yes, secure boot feature is not related to HTTPS boot. You can finish the 
download process no matter secure boot enabled or not. But the download image 
must be signed to continue the execution.

Thanks,
Jiaxin



> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Santhapur Naveen
> Sent: Wednesday, June 7, 2017 12:11 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] HTTPS boot support questions
> 
> Hello,
> 
> I have some questions regarding HTTPS Boot and are as below.
> 
> 1. If I'm using iPXE port 80 to communicate with server because of firewall
> concern. Does https boot happen  via the same 80 port?
> 2. Does it support WinPE/Windows 10 OS installation? If yes, is there any
> open document available to achieve the same?
> 3. Does it support network boot without disabling secure boot OS?
> 
> Thanks in advance,
> Naveen
> ___
> 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] MdePkg: update head files to meet UEFI 2.7

2017-06-07 Thread Ye, Ting
Reviewed-by: Ye Ting 

-Original Message-
From: Wang, Fan 
Sent: Tuesday, June 06, 2017 6:52 PM
To: edk2-devel@lists.01.org
Cc: Ye, Ting ; Fu, Siyuan ; Wang, Fan 

Subject: [Patch] MdePkg: update head files to meet UEFI 2.7

This patch is used to update supplicant.h and wifi2.h to meet UEFI 2.7 
definition. Add EfiSupplicant80211PMK field in EFI_SUPPLICANT_DATA_TYPE and 
change **NetworkDesc to NetworkDesc[1] in EFI_80211_GET_NETWORKS_RESULT.

Cc: Ye Ting 
Cc: Fu Siyuan 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wang Fan 
---
 MdePkg/Include/Protocol/Supplicant.h | 6 +-
 MdePkg/Include/Protocol/WiFi2.h  | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/MdePkg/Include/Protocol/Supplicant.h 
b/MdePkg/Include/Protocol/Supplicant.h
index 37e4c7e..2d7eed6 100644
--- a/MdePkg/Include/Protocol/Supplicant.h
+++ b/MdePkg/Include/Protocol/Supplicant.h
@@ -1,9 +1,9 @@
 /** @file
   This file defines the EFI Supplicant Protocol.
 
-  Copyright (c) 2016, Intel Corporation. All rights reserved.
+  Copyright (c) 2017, 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 distribution. The full text of the license may be 
found at
   http://opensource.org/licenses/bsd-license.php
 
@@ -150,10 +150,14 @@ typedef enum {
   //
   // 802.11 Integrity GTK. The corresponding Data is of type
   // EFI_SUPPLICANT_GTK_LIST.
   //
   EfiSupplicant80211IGTK,
+  //
+  // 802.11 PMK. The corresponding Data is 32 bytes pairwise master key.
+  //
+  EfiSupplicant80211PMK,
   EfiSupplicantDataTypeMaximum
 } EFI_SUPPLICANT_DATA_TYPE;
 
 ///
 /// EFI_80211_LINK_STATE
diff --git a/MdePkg/Include/Protocol/WiFi2.h b/MdePkg/Include/Protocol/WiFi2.h 
index fc4da5c..e370059 100644
--- a/MdePkg/Include/Protocol/WiFi2.h
+++ b/MdePkg/Include/Protocol/WiFi2.h
@@ -1,9 +1,9 @@
 /** @file
   This file defines the EFI Wireless MAC Connection II Protocol.
 
-  Copyright (c) 2016, Intel Corporation. All rights reserved.
+  Copyright (c) 2017, 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 distribution. The full text of the license may be 
found at
   http://opensource.org/licenses/bsd-license.php
 
@@ -200,11 +200,11 @@ typedef struct {
   UINT8 NumOfNetworkDesc;
   //
   // The NetworkDesc is a pointer to an array of EFI_80211_NETWORK_DESCRIPTION
   // instances. It is caller's responsibility to free this buffer.
   //
-  EFI_80211_NETWORK_DESCRIPTION **NetworkDesc;
+  EFI_80211_NETWORK_DESCRIPTION NetworkDesc[1];
 } EFI_80211_GET_NETWORKS_RESULT;
 
 ///
 /// EFI_80211_GET_NETWORKS_TOKEN
 ///
--
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel