[edk2] [PATCH] IntelSiliconPkg: Add package DSC file

2017-06-21 Thread Hao Wu
Cc: Jiewen Yao 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu 
---
 IntelSiliconPkg/IntelSiliconPkg.dsc | 46 +
 1 file changed, 46 insertions(+)
 create mode 100644 IntelSiliconPkg/IntelSiliconPkg.dsc

diff --git a/IntelSiliconPkg/IntelSiliconPkg.dsc 
b/IntelSiliconPkg/IntelSiliconPkg.dsc
new file mode 100644
index 00..f77f2a966e
--- /dev/null
+++ b/IntelSiliconPkg/IntelSiliconPkg.dsc
@@ -0,0 +1,46 @@
+## @file
+# This package provides common open source Intel silicon modules.
+#
+# 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
+#
+#THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
+#
+##
+
+[Defines]
+  PLATFORM_NAME  = IntelSiliconPkg
+  PLATFORM_GUID  = 9B96228E-1155-4967-8E16-D0ED8E1B4297
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x00010005
+  OUTPUT_DIRECTORY   = Build/IntelSiliconPkg
+  SUPPORTED_ARCHITECTURES= IA32|X64
+  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
+  SKUID_IDENTIFIER   = DEFAULT
+
+###
+#
+# Components Section - list of the modules and components that will be 
processed by compilation
+#  tools and the EDK II tools to generate PE32/PE32+/Coff 
image files.
+#
+# Note: The EDK II DSC file is not used to specify how compiled binary images 
get placed
+#   into firmware volume images. This section is just a list of modules to 
compile from
+#   source into UEFI-compliant binaries.
+#   It is the FDF file that contains information on combining binary files 
into firmware
+#   volume images, whose concept is beyond UEFI and is described in PI 
specification.
+#   Binary modules do not need to be listed in this section, as they 
should be
+#   specified in the FDF file. For example: Shell binary (Shell_Full.efi), 
FAT binary (Fat.efi),
+#   Logo (Logo.bmp), and etc.
+#   There may also be modules listed in this section that are not required 
in the FDF file,
+#   When a module listed here is excluded from FDF file, then 
UEFI-compliant binary will be
+#   generated for it, but the binary will not be put into any firmware 
volume.
+#
+###
+
+[Components]
+  IntelSiliconPkg/Library/DxeSmbiosDataHobLib/DxeSmbiosDataHobLib.inf
-- 
2.12.0.windows.1

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


Re: [edk2] EmulatorPkg build issue

2017-06-21 Thread Andrew Fish

> On Jun 21, 2017, at 6:48 PM, Gao, Liming  wrote:
> 
> Andrew:
>  There are two bugzillars to remove XCLANG and XCODE32 tool chain from 
> tools_def.txt. So, we can drop them now. 
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=562
> https://bugzilla.tianocore.org/show_bug.cgi?id=563
> 

Gao,

Thanks works for me. The older Xcode versions don't run on current OS versions, 
and the current OS usually runs on 6 or 7 year old Macs. 

Thanks,

Andrew Fish

> Thanks
> Liming
>> -Original Message-
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
>> Andrew Fish
>> Sent: Thursday, June 22, 2017 1:47 AM
>> To: Hengyan Tao 
>> Cc: edk2-devel@lists.01.org
>> Subject: Re: [edk2] EmulatorPkg build issue
>> 
>> Hengyan,
>> 
>> XCODE32 == Xcode 3.2 so the move to clang.
>> XCODE5 == Xcode 5.0 was the last time clang command line arguments change. 
>> That is probably what you should be using.
>> 
>> So try:
>>> git diff
>> diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
>> index 339c6b3..4f653d2 100755
>> --- a/EmulatorPkg/build.sh
>> +++ b/EmulatorPkg/build.sh
>> @@ -63,17 +63,8 @@ case `uname` in
>> echo UnixPkg requires Snow Leopard or later OS
>> exit 1
>>   else
>> -CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 
>> >/dev/null) || true
>> -if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
>> -then
>> -# only older versions of Xcode support -ccc-host-tripe, for newer 
>> versions
>> -# it is -target
>> -  HOST_TOOLS=XCODE32
>> -  TARGET_TOOLS=XCODE5
>> -else
>> -  HOST_TOOLS=XCODE32
>> -  TARGET_TOOLS=XCLANG
>> -fi
>> +HOST_TOOLS=XCODE5
>> +TARGET_TOOLS=XCODE5
>>   fi
>>   BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
>>   BUILD_FAT="-D BUILD_FAT"
>> 
>> Thanks,
>> 
>> Andrew Fish
>> 
>>> On Jun 21, 2017, at 10:25 AM, Hengyan Tao  wrote:
>>> 
>>> Hi Dear EmulatorPkg Maintainer,
>>> 
>>> I am having the below issue when building EmulatorPkg. Any help will be
>>> appreciated!
>>> 
>>> Initializing workspace
>>> 
>>> /Users/local/Documents/edk2/BaseTools
>>> 
>>> Loading previous configuration from
>>> /Users/local/Documents/edk2/Conf/BuildEnv.sh
>>> 
>>> WORKSPACE: /Users/local/Documents/edk2
>>> 
>>> EDK_TOOLS_PATH: /Users/local/Documents/edk2/BaseTools
>>> 
>>> CONF_PATH: /Users/local/Documents/edk2/Conf
>>> 
>>> using prebuilt tools
>>> 
>>> Build environment: Darwin-15.4.0-x86_64-i386-64bit
>>> 
>>> Build start time: 13:13:43, Jun.19 2017
>>> 
>>> 
>>> WORKSPACE= /Users/local/Documents/edk2
>>> 
>>> ECP_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
>>> 
>>> EDK_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
>>> 
>>> EFI_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
>>> 
>>> EDK_TOOLS_PATH   = /Users/local/Documents/edk2/BaseTools
>>> 
>>> CONF_PATH= /Users/local/Documents/edk2/Conf
>>> 
>>> 
>>> 
>>> Architecture(s)  = X64
>>> 
>>> Build target = DEBUG
>>> 
>>> Toolchain= XCODE32
>>> 
>>> 
>>> Active Platform  =
>>> /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.dsc
>>> 
>>> Flash Image Definition   =
>>> /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.fdf
>>> 
>>> 
>>> Processing meta-data .
>>> 
>>> 
>>> build.py...
>>> 
>>> : error F001: Module
>>> /Users/local/Documents/edk2/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
>>> NOT found in DSC file; Is it really a binary module?
>>> 
>>> 
>>> 
>>> 
>>> - Failed -
>>> 
>>> Build end time: 13:13:45, Jun.19 2017
>>> 
>>> Build total time: 00:00:02
>>> 
>>> 
>>> Command ./XcodeBuild.sh failed with exit code 1
>>> 
>>> 
>>> Thanks,
>>> Hengyan
>>> ___
>>> 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-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH] DuetPkg FSVariable: Add missing change in e286e118bafa

2017-06-21 Thread Ni, Ruiyu
Reviewed-by: Ruiyu Ni 

Thanks/Ray

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Star Zeng
> Sent: Wednesday, June 21, 2017 9:34 PM
> To: edk2-devel@lists.01.org
> Cc: Ni, Ruiyu ; Gao, Liming ;
> Zeng, Star 
> Subject: [edk2] [PATCH] DuetPkg FSVariable: Add missing change in
> e286e118bafa
> 
> e286e118bafa updated *.c file, but forgot to update *.h file.
> 
> Cc: Liming Gao 
> Cc: Ruiyu Ni 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng 
> ---
>  DuetPkg/FSVariable/FSVariable.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/DuetPkg/FSVariable/FSVariable.h
> b/DuetPkg/FSVariable/FSVariable.h index cc39323e97d8..cb37c29cc2a5
> 100644
> --- a/DuetPkg/FSVariable/FSVariable.h
> +++ b/DuetPkg/FSVariable/FSVariable.h
> @@ -6,7 +6,7 @@ disk. They can be changed by user. BIOS is not able to
> protoect those.
>  Duet trusts all meta data from disk. If variable code, variable metadata and
> variable  data is modified in inproper way, the behavior is undefined.
> 
> -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
> +Copyright (c) 2006 - 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
> @@ -129,7 +129,7 @@ DuetGetVariable (
>IN  EFI_GUID  *VendorGuid,
>OUT UINT32*Attributes OPTIONAL,
>IN OUT  UINTN *DataSize,
> -  OUT VOID  *Data
> +  OUT VOID  *Data OPTIONAL
>);
> 
>  EFI_STATUS
> --
> 2.7.0.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


Re: [edk2] EmulatorPkg build issue

2017-06-21 Thread Gao, Liming
Andrew:
  There are two bugzillars to remove XCLANG and XCODE32 tool chain from 
tools_def.txt. So, we can drop them now. 

https://bugzilla.tianocore.org/show_bug.cgi?id=562
https://bugzilla.tianocore.org/show_bug.cgi?id=563

Thanks
Liming
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Andrew 
> Fish
> Sent: Thursday, June 22, 2017 1:47 AM
> To: Hengyan Tao 
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] EmulatorPkg build issue
> 
> Hengyan,
> 
> XCODE32 == Xcode 3.2 so the move to clang.
> XCODE5 == Xcode 5.0 was the last time clang command line arguments change. 
> That is probably what you should be using.
> 
> So try:
> >git diff
> diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
> index 339c6b3..4f653d2 100755
> --- a/EmulatorPkg/build.sh
> +++ b/EmulatorPkg/build.sh
> @@ -63,17 +63,8 @@ case `uname` in
>  echo UnixPkg requires Snow Leopard or later OS
>  exit 1
>else
> -CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 
> >/dev/null) || true
> -if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> -then
> -# only older versions of Xcode support -ccc-host-tripe, for newer 
> versions
> -# it is -target
> -  HOST_TOOLS=XCODE32
> -  TARGET_TOOLS=XCODE5
> -else
> -  HOST_TOOLS=XCODE32
> -  TARGET_TOOLS=XCLANG
> -fi
> +HOST_TOOLS=XCODE5
> +TARGET_TOOLS=XCODE5
>fi
>BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
>BUILD_FAT="-D BUILD_FAT"
> 
> Thanks,
> 
> Andrew Fish
> 
> > On Jun 21, 2017, at 10:25 AM, Hengyan Tao  wrote:
> >
> > Hi Dear EmulatorPkg Maintainer,
> >
> > I am having the below issue when building EmulatorPkg. Any help will be
> > appreciated!
> >
> > Initializing workspace
> >
> > /Users/local/Documents/edk2/BaseTools
> >
> > Loading previous configuration from
> > /Users/local/Documents/edk2/Conf/BuildEnv.sh
> >
> > WORKSPACE: /Users/local/Documents/edk2
> >
> > EDK_TOOLS_PATH: /Users/local/Documents/edk2/BaseTools
> >
> > CONF_PATH: /Users/local/Documents/edk2/Conf
> >
> > using prebuilt tools
> >
> > Build environment: Darwin-15.4.0-x86_64-i386-64bit
> >
> > Build start time: 13:13:43, Jun.19 2017
> >
> >
> > WORKSPACE= /Users/local/Documents/edk2
> >
> > ECP_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> >
> > EDK_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> >
> > EFI_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> >
> > EDK_TOOLS_PATH   = /Users/local/Documents/edk2/BaseTools
> >
> > CONF_PATH= /Users/local/Documents/edk2/Conf
> >
> >
> >
> > Architecture(s)  = X64
> >
> > Build target = DEBUG
> >
> > Toolchain= XCODE32
> >
> >
> > Active Platform  =
> > /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.dsc
> >
> > Flash Image Definition   =
> > /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.fdf
> >
> >
> > Processing meta-data .
> >
> >
> > build.py...
> >
> > : error F001: Module
> > /Users/local/Documents/edk2/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
> > NOT found in DSC file; Is it really a binary module?
> >
> >
> >
> >
> > - Failed -
> >
> > Build end time: 13:13:45, Jun.19 2017
> >
> > Build total time: 00:00:02
> >
> >
> > Command ./XcodeBuild.sh failed with exit code 1
> >
> >
> > Thanks,
> > Hengyan
> > ___
> > 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-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] EmulatorPkg build issue

2017-06-21 Thread Andrew Fish
Hengyan,

XCODE32 == Xcode 3.2 so the move to clang. 
XCODE5 == Xcode 5.0 was the last time clang command line arguments change. That 
is probably what you should be using. 

So try:
>git diff
diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
index 339c6b3..4f653d2 100755
--- a/EmulatorPkg/build.sh
+++ b/EmulatorPkg/build.sh
@@ -63,17 +63,8 @@ case `uname` in
 echo UnixPkg requires Snow Leopard or later OS
 exit 1
   else
-CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 
>/dev/null) || true
-if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
-then
-# only older versions of Xcode support -ccc-host-tripe, for newer 
versions
-# it is -target
-  HOST_TOOLS=XCODE32
-  TARGET_TOOLS=XCODE5
-else
-  HOST_TOOLS=XCODE32
-  TARGET_TOOLS=XCLANG
-fi
+HOST_TOOLS=XCODE5
+TARGET_TOOLS=XCODE5
   fi
   BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
   BUILD_FAT="-D BUILD_FAT"

Thanks,

Andrew Fish

> On Jun 21, 2017, at 10:25 AM, Hengyan Tao  wrote:
> 
> Hi Dear EmulatorPkg Maintainer,
> 
> I am having the below issue when building EmulatorPkg. Any help will be
> appreciated!
> 
> Initializing workspace
> 
> /Users/local/Documents/edk2/BaseTools
> 
> Loading previous configuration from
> /Users/local/Documents/edk2/Conf/BuildEnv.sh
> 
> WORKSPACE: /Users/local/Documents/edk2
> 
> EDK_TOOLS_PATH: /Users/local/Documents/edk2/BaseTools
> 
> CONF_PATH: /Users/local/Documents/edk2/Conf
> 
> using prebuilt tools
> 
> Build environment: Darwin-15.4.0-x86_64-i386-64bit
> 
> Build start time: 13:13:43, Jun.19 2017
> 
> 
> WORKSPACE= /Users/local/Documents/edk2
> 
> ECP_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> 
> EDK_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> 
> EFI_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg
> 
> EDK_TOOLS_PATH   = /Users/local/Documents/edk2/BaseTools
> 
> CONF_PATH= /Users/local/Documents/edk2/Conf
> 
> 
> 
> Architecture(s)  = X64
> 
> Build target = DEBUG
> 
> Toolchain= XCODE32
> 
> 
> Active Platform  =
> /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.dsc
> 
> Flash Image Definition   =
> /Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.fdf
> 
> 
> Processing meta-data .
> 
> 
> build.py...
> 
> : error F001: Module
> /Users/local/Documents/edk2/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
> NOT found in DSC file; Is it really a binary module?
> 
> 
> 
> 
> - Failed -
> 
> Build end time: 13:13:45, Jun.19 2017
> 
> Build total time: 00:00:02
> 
> 
> Command ./XcodeBuild.sh failed with exit code 1
> 
> 
> Thanks,
> Hengyan
> ___
> 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-21 Thread Leif Lindholm
Hi all,

I have now pushed updated versions of devel-OpenPlatformPkg branches
to edk2-platforms and edk2-non-osi. I now also have a Readme.md at the
top-level of edk2-platforms describing

All the silly hacks are gone, and all platforms now build.

I would really appreciate if people could have a look (and a play).

Regards,

Leif

On Wed, May 03, 2017 at 11:55:39PM +0100, Leif Lindholm wrote:
> Hi all,
> 
> As some of you may be aware, I have been working around the lack of
> a clear upstreaming strategy for platform support by keeping such code
> in a dedicated repository I set up at Linaro for that purpose:
> https://git.linaro.org/uefi/OpenPlatformPkg.git
> 
> During discussions at the last Seattle plugfest we finally agreed on
> the (theoretical) details of how to use the edk2-platforms repository.
> After that I promised to migrate OpenPlatformPkg across to the
> edk2-platforms and edk2-non-osi structure, with the explicit end goal
> from my side that this should become the master branch for each.
> 
> And now, before the release of HURD 1.0, I have.
> 
> Current limitations (that I can remember):
> - A few references to OpenPlatformPkg remain, in ways that do not
>   appear to break any of the platform builds. Most likely this affects
>   dead code, but in case it's been accidentally orphaned, I thought it
>   best to 
> - I have simply nuked all references to Ebl (used in _addition_ to the
>   UEFI shell, which was never the intent) and the efi-toolkit
>   ramdisk driver.
> - The Marvell Yukon driver that I sent out for review last week has
>   not migrated anywhere, and so has been temporarily disabled
>   Mike suggested I should
> - USB support on the LeMaker Cello board depends on the patch
>   "OptionRomPkg: add firmware loader driver for Renesas PD72020x"
>   sent out by Ard on 18th of April.
> - I have dropped some of the binary-only modules from OpenPlatformPkg,
>   and contacted the platform owners with requests for modifications.
> - The git history is quite messy and will be cleaned up, but I wanted
>   to keep the transition quite visible in the RFC.
> - I haven't filled anything into the Maintainers.txt files - I am in
>   favour of moving to a fully machine-readable format with wildcards
>   as Laszlo has proposed in the past, and think this would be an
>   excellent point to have that discussion (which can be had separately
>   for edk2-platforms and edk2-non-osi from edk2).
> - Few of the platforms complete the FV generation stage, and I've
>   inserted a couple of silly hacks to get them to get as far as they
>   do. I think that either I am missing some points of how
>   PACKAGES_PATH is intended to work, or I'm simply hitting corner
>   cases no one has come across before. I could really use some help
>   debugging these issues. (examples below).
> 
> The below depends on the 3-part series I sent out today for importing
> DwEmmcDxe and EfiTimeBaseLib from OpenPlatformPkg. But apart from
> that, I have uploaded branches called devel-OpenPlatformPkg to:
> 
> https://github.com/tianocore/edk2-platforms/tree/devel-OpenPlatformPkg
> https://github.com/tianocore/edk2-non-osi/tree/devel-OpenPlatformPkg
> 
> These branches _will_ be rebased occasionally until they get to a
> point where they can move out of devel- stage (and hopefully onto
> master).
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] EmulatorPkg build issue

2017-06-21 Thread Hengyan Tao
Hi Dear EmulatorPkg Maintainer,

I am having the below issue when building EmulatorPkg. Any help will be
appreciated!

Initializing workspace

/Users/local/Documents/edk2/BaseTools

Loading previous configuration from
/Users/local/Documents/edk2/Conf/BuildEnv.sh

WORKSPACE: /Users/local/Documents/edk2

EDK_TOOLS_PATH: /Users/local/Documents/edk2/BaseTools

CONF_PATH: /Users/local/Documents/edk2/Conf

using prebuilt tools

Build environment: Darwin-15.4.0-x86_64-i386-64bit

Build start time: 13:13:43, Jun.19 2017


WORKSPACE= /Users/local/Documents/edk2

ECP_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg

EDK_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg

EFI_SOURCE   = /Users/local/Documents/edk2/EdkCompatibilityPkg

EDK_TOOLS_PATH   = /Users/local/Documents/edk2/BaseTools

CONF_PATH= /Users/local/Documents/edk2/Conf



Architecture(s)  = X64

Build target = DEBUG

Toolchain= XCODE32


Active Platform  =
/Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.dsc

Flash Image Definition   =
/Users/local/Documents/edk2/EmulatorPkg/EmulatorPkg.fdf


Processing meta-data .


build.py...

 : error F001: Module
/Users/local/Documents/edk2/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
NOT found in DSC file; Is it really a binary module?




- Failed -

Build end time: 13:13:45, Jun.19 2017

Build total time: 00:00:02


Command ./XcodeBuild.sh failed with exit code 1


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


Re: [edk2] [PATCH] MdeModulePkg Variable: Add missing change in dd59d95e1994

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

> -Original Message-
> From: Zeng, Star
> Sent: Wednesday, June 21, 2017 9:33 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Gao, Liming 
> Subject: [PATCH] MdeModulePkg Variable: Add missing change in dd59d95e1994
> 
> dd59d95e1994 updated *.c file, but forgot to update *.h file.
> 
> Cc: Liming Gao 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng 
> ---
>  MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h 
> b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
> index 55df13191b43..cd0d9568158a 100644
> --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
> +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
> @@ -2,7 +2,7 @@
>The internal header file includes the common header files, defines
>internal structure and functions used by Variable modules.
> 
> -Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
> +Copyright (c) 2006 - 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
> @@ -514,7 +514,8 @@ GetFvbInfoByAddress (
>@param Attributes Attribute value of the variable found.
>@param DataSize   Size of Data found. If size is less than 
> the
>  data, this value contains the required 
> size.
> -  @param Data   Data pointer.
> +  @param Data   The buffer to return the contents of the 
> variable. May be NULL
> +with a zero DataSize in order to 
> determine the size buffer needed.
> 
>@return EFI_INVALID_PARAMETER Invalid parameter.
>@return EFI_SUCCESS   Find the specified variable.
> @@ -529,7 +530,7 @@ VariableServiceGetVariable (
>IN  EFI_GUID  *VendorGuid,
>OUT UINT32*Attributes OPTIONAL,
>IN OUT  UINTN *DataSize,
> -  OUT VOID  *Data
> +  OUT VOID  *Data OPTIONAL
>);
> 
>  /**
> --
> 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] DuetPkg FSVariable: Add missing change in e286e118bafa

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

> -Original Message-
> From: Zeng, Star
> Sent: Wednesday, June 21, 2017 9:34 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Gao, Liming ; Ni, 
> Ruiyu 
> Subject: [PATCH] DuetPkg FSVariable: Add missing change in e286e118bafa
> 
> e286e118bafa updated *.c file, but forgot to update *.h file.
> 
> Cc: Liming Gao 
> Cc: Ruiyu Ni 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng 
> ---
>  DuetPkg/FSVariable/FSVariable.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/DuetPkg/FSVariable/FSVariable.h b/DuetPkg/FSVariable/FSVariable.h
> index cc39323e97d8..cb37c29cc2a5 100644
> --- a/DuetPkg/FSVariable/FSVariable.h
> +++ b/DuetPkg/FSVariable/FSVariable.h
> @@ -6,7 +6,7 @@ disk. They can be changed by user. BIOS is not able to 
> protoect those.
>  Duet trusts all meta data from disk. If variable code, variable metadata and 
> variable
>  data is modified in inproper way, the behavior is undefined.
> 
> -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
> +Copyright (c) 2006 - 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
> @@ -129,7 +129,7 @@ DuetGetVariable (
>IN  EFI_GUID  *VendorGuid,
>OUT UINT32*Attributes OPTIONAL,
>IN OUT  UINTN *DataSize,
> -  OUT VOID  *Data
> +  OUT VOID  *Data OPTIONAL
>);
> 
>  EFI_STATUS
> --
> 2.7.0.windows.1

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


[edk2] [PATCH] DuetPkg FSVariable: Add missing change in e286e118bafa

2017-06-21 Thread Star Zeng
e286e118bafa updated *.c file, but forgot to update *.h file.

Cc: Liming Gao 
Cc: Ruiyu Ni 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng 
---
 DuetPkg/FSVariable/FSVariable.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/DuetPkg/FSVariable/FSVariable.h b/DuetPkg/FSVariable/FSVariable.h
index cc39323e97d8..cb37c29cc2a5 100644
--- a/DuetPkg/FSVariable/FSVariable.h
+++ b/DuetPkg/FSVariable/FSVariable.h
@@ -6,7 +6,7 @@ disk. They can be changed by user. BIOS is not able to protoect 
those.
 Duet trusts all meta data from disk. If variable code, variable metadata and 
variable
 data is modified in inproper way, the behavior is undefined.
 
-Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 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
@@ -129,7 +129,7 @@ DuetGetVariable (
   IN  EFI_GUID  *VendorGuid,
   OUT UINT32*Attributes OPTIONAL,
   IN OUT  UINTN *DataSize,
-  OUT VOID  *Data
+  OUT VOID  *Data OPTIONAL
   );
 
 EFI_STATUS
-- 
2.7.0.windows.1

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


[edk2] [PATCH] MdeModulePkg Variable: Add missing change in dd59d95e1994

2017-06-21 Thread Star Zeng
dd59d95e1994 updated *.c file, but forgot to update *.h file.

Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng 
---
 MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h 
b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
index 55df13191b43..cd0d9568158a 100644
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h
@@ -2,7 +2,7 @@
   The internal header file includes the common header files, defines
   internal structure and functions used by Variable modules.
 
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 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
@@ -514,7 +514,8 @@ GetFvbInfoByAddress (
   @param Attributes Attribute value of the variable found.
   @param DataSize   Size of Data found. If size is less than 
the
 data, this value contains the required 
size.
-  @param Data   Data pointer.
+  @param Data   The buffer to return the contents of the 
variable. May be NULL
+with a zero DataSize in order to determine 
the size buffer needed.
 
   @return EFI_INVALID_PARAMETER Invalid parameter.
   @return EFI_SUCCESS   Find the specified variable.
@@ -529,7 +530,7 @@ VariableServiceGetVariable (
   IN  EFI_GUID  *VendorGuid,
   OUT UINT32*Attributes OPTIONAL,
   IN OUT  UINTN *DataSize,
-  OUT VOID  *Data
+  OUT VOID  *Data OPTIONAL
   );
 
 /**
-- 
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/2] BaseTools/tools_def GCC: ARM/AARCH64: replace -save-temps with -pipe

2017-06-21 Thread Leif Lindholm
On Wed, Jun 21, 2017 at 01:31:15PM +0200, Ard Biesheuvel wrote:
> > "-pipe" isn't used anywhere else in "tools_def.template". Can we imagine
> > a platform where cross-compiling to aarch64 with gcc works otherwise,
> > but "-pipe" might break that? Cygwin perhaps? (No clue, honestly.)
> >
> > For consistency with the rest of "tools_def.template", I'd suggest
> > simply dropping "-save-temps", and thinking about "-pipe" separately
> > (and then for all the GCC toolchains and for all arches). But, I don't
> > feel particularly strongly about this.
> >
> 
> Yeah, that's a fair point. The fact that -save-temps is specific to
> ARM does not mean we should perpetuate that with -pipe.
> 
> Leif, if you agree, I will drop the addition of -pipe from this patch,
> and we can revisit it later for all GCC flavors.

Much as I would like to find out if there really are any platforms
that still have issues with -pipe (in which case, why wouldn't GCC
just use temp files anyway?), I guess that is a sensible approach.

Reviewed-by: Leif Lindholm 
for the dropping of -save-temps.

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


Re: [edk2] [PATCH] MdeModulePkg: Enhance the debug message for InstallProtocolInterface

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

> -Original Message-
> From: Zeng, Star
> Sent: Wednesday, June 21, 2017 1:35 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Gao, Liming 
> Subject: [PATCH] MdeModulePkg: Enhance the debug message for 
> InstallProtocolInterface
> 
> Current code is using debug message like below for
> InstallProtocolInterface.
> InstallProtocolInterface: ---- XXX
> 
> User could not know whether the installation is failed or not by the
> debug message, for example, the code below does not initialize Handle
> before calling InstallProtocolInterface, EFI_INVALID_PARAMETER will be
> returned.
>   EFI_HANDLE Handle;
>   Status = gBS->InstallProtocolInterface (
>   ,
>   ,
>   EFI_NATIVE_INTERFACE,
>   XXX
>   );
> 
> This patch is to add additional debug message if the installation
> is failed and specific debug message for the case that the input
> handle is invalid.
> 
> Cc: Liming Gao 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng 
> ---
>  MdeModulePkg/Core/Dxe/Hand/Handle.c  | 14 --
>  MdeModulePkg/Core/PiSmmCore/Handle.c | 14 --
>  2 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/MdeModulePkg/Core/Dxe/Hand/Handle.c 
> b/MdeModulePkg/Core/Dxe/Hand/Handle.c
> index 1c25521672ba..59b89148c8f0 100644
> --- a/MdeModulePkg/Core/Dxe/Hand/Handle.c
> +++ b/MdeModulePkg/Core/Dxe/Hand/Handle.c
> @@ -1,7 +1,7 @@
>  /** @file
>UEFI handle & protocol handling.
> 
> -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
> +Copyright (c) 2006 - 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
> @@ -428,11 +428,12 @@ CoreInstallProtocolInterfaceNotify (
>  // in the system
>  //
>  InsertTailList (, >AllHandles);
> -  }
> -
> -  Status = CoreValidateHandle (Handle);
> -  if (EFI_ERROR (Status)) {
> -goto Done;
> +  } else {
> +Status = CoreValidateHandle (Handle);
> +if (EFI_ERROR (Status)) {
> +  DEBUG((DEBUG_ERROR, "InstallProtocolInterface: input handle at 0x%x is 
> invalid\n", Handle));
> +  goto Done;
> +}
>}
> 
>//
> @@ -491,6 +492,7 @@ Done:
>  if (Prot != NULL) {
>CoreFreePool (Prot);
>  }
> +DEBUG((DEBUG_ERROR, "InstallProtocolInterface: %g %p failed with %r\n", 
> Protocol, Interface, Status));
>}
> 
>return Status;
> diff --git a/MdeModulePkg/Core/PiSmmCore/Handle.c 
> b/MdeModulePkg/Core/PiSmmCore/Handle.c
> index 9cedb2aeb5ee..19faac844414 100644
> --- a/MdeModulePkg/Core/PiSmmCore/Handle.c
> +++ b/MdeModulePkg/Core/PiSmmCore/Handle.c
> @@ -1,7 +1,7 @@
>  /** @file
>SMM handle & protocol handling.
> 
> -  Copyright (c) 2009 - 2010, 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
> @@ -287,11 +287,12 @@ SmmInstallProtocolInterfaceNotify (
>  // in the system
>  //
>  InsertTailList (, >AllHandles);
> -  }
> -
> -  Status = SmmValidateHandle (Handle);
> -  if (EFI_ERROR (Status)) {
> -goto Done;
> +  } else {
> +Status = SmmValidateHandle (Handle);
> +if (EFI_ERROR (Status)) {
> +  DEBUG((DEBUG_ERROR, "SmmInstallProtocolInterface: input handle at 0x%x 
> is invalid\n", Handle));
> +  goto Done;
> +}
>}
> 
>//
> @@ -340,6 +341,7 @@ Done:
>  if (Prot != NULL) {
>FreePool (Prot);
>  }
> +DEBUG((DEBUG_ERROR, "SmmInstallProtocolInterface: %g %p failed with 
> %r\n", Protocol, Interface, Status));
>}
>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 0/2] Return EFI_INVALID_PARAMETER in LocateProtocol for Protocol==NULL

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

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Star 
> Zeng
> Sent: Tuesday, June 20, 2017 9:36 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star 
> Subject: [edk2] [PATCH 0/2] Return EFI_INVALID_PARAMETER in LocateProtocol 
> for Protocol==NULL
> 
> Star Zeng (2):
>   MdePkg: Update comments for LocateProtocol to follow UEFI 2.7 spec
>   MdeModulePkg: Return invalid param in LocateProtocol for
> Protocol==NULL
> 
>  MdeModulePkg/Core/Dxe/Hand/Locate.c  | 8 ++--
>  MdeModulePkg/Core/PiSmmCore/Locate.c | 8 ++--
>  MdePkg/Include/Uefi/UefiSpec.h   | 1 +
>  3 files changed, 5 insertions(+), 12 deletions(-)
> 
> --
> 2.7.0.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


Re: [edk2] [PATCH 0/2] Minor update to the Data parameter for PEI GetVariable()

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

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Star 
> Zeng
> Sent: Wednesday, June 21, 2017 5:49 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star 
> Subject: [edk2] [PATCH 0/2] Minor update to the Data parameter for PEI 
> GetVariable()
> 
> They are to follow PI 1.5 spec.
> 
> Star Zeng (2):
>   MdePkg: Minor update to the Data parameter for PEI GetVariable()
>   MdeModulePkg: Minor update to the Data parameter for PEI GetVariable()
> 
>  MdeModulePkg/Universal/Variable/Pei/Variable.c | 5 +++--
>  MdePkg/Include/Ppi/ReadOnlyVariable2.h | 7 ---
>  2 files changed, 7 insertions(+), 5 deletions(-)
> 
> --
> 2.7.0.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


Re: [edk2] HTTP Boot failed to download NBP file if it is .iso type

2017-06-21 Thread Karunakar P
Hi All,

Verified that BDS has been updated to support HTTP RAM disk boot. And able to 
download SUSE iso (>3 GB) from the HTTP server. But the install stops in middle.

I've checked SUSE iso image could support RAM disk boot or NOT with below steps
1. Go to "RAM Disk Configuration" form setup browser.
2. Change the disk memory type to "Reserved"
3. Choose "Create from file" and select the SUSE iso image from a local 
USB disk.
4. After the RAM disk is created, go back to the boot manager, select 
the new created RAM disk device to boot from it.
 
When I tries to boot from it, installation stops in middle.
Note: Tried with SLE-12-SP2-Server-DVD-x86_64-GM-DVD1.iso

If there anything else I've missed please let me know.
Could you please help which ISO images supports this RAM Disk boot?
Have you verified HTTP boot with any iso image?
 
Thanks,
karunakar

-Original Message-
From: Fu, Siyuan [mailto:siyuan...@intel.com] 
Sent: Wednesday, June 14, 2017 11:34 AM
To: Santhapur Naveen; Karunakar P; edk2-devel@lists.01.org
Subject: RE: HTTP Boot failed to download NBP file if it is .iso type

Hi, Naveen

First let's kick out the HTTP and check whether your SUSE iso image could 
support RAM disk boot:
1. Go to "RAM Disk Configuration" form in your setup browser.
2. Change the disk memory type to "Reserved"
3. Choose "Create from file" and select the SUSE iso image from a local 
harddisk or USB disk.
4. After the RAM disk is created, go back to the boot manager, select 
the new created RAM disk device to boot from it.
If your SUSE iso image could boot in above way, please check whether your BDS 
has been updated to support HTTP RAM disk boot.


Best Regards,
Siyuan


> -Original Message-
> From: Santhapur Naveen [mailto:nave...@amiindia.co.in]
> Sent: Tuesday, June 13, 2017 5:32 PM
> To: Fu, Siyuan ; Karunakar P 
> ; edk2-devel@lists.01.org
> Subject: RE: HTTP Boot failed to download NBP file if it is .iso type
> 
> Hi Siyuan,
> 
> Thank you for your reply.
> And regarding the OS installation, we are able to download SUSE iso 
> (>3 GB) from the HTTP server. But the install didn't happen.
> May I ask you what could be possible reason? Is there anything else 
> I've had missed, please let me know.
> 
> Regards,
> Naveen
> 
> -Original Message-
> From: Fu, Siyuan [mailto:siyuan...@intel.com]
> Sent: Tuesday, June 13, 2017 8:17 AM
> To: Santhapur Naveen; Karunakar P; edk2-devel@lists.01.org
> Subject: RE: HTTP Boot failed to download NBP file if it is .iso type
> 
> Hi, Karunakar and Naveen
> 
> Status 0023 is EFI_HTTP_ERROR, which means the HTTP server replied 
> an HTTP error. The HTTP error code is placed in 
> HttpIo->RspToken.Message-
> >Data.Response->StatusCode, and will be displayed in
> HttpBootPrintErrorMessage() function.
> 
> If a downloaded NBP is a RAM disk image, the BDS will try to find a 
> boot file inside it according UEFI 2.7 section 3.5.1 "Boot via the 
> Simple File Protocol".
> 
> Best Regards,
> Siyuan
> 
> 
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Santhapur Naveen
> Sent: Saturday, June 10, 2017 1:49 AM
> To: Karunakar P; edk2-devel@lists.01.org
> Subject: Re: [edk2] HTTP Boot failed to download NBP file if it is 
> .iso type
> 
> Even if we are able to download an ISO file successfully, how will 
> EFI_RAM_DISK_PROTOCOL comes to know what is the efi that needs to be used?
> 
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Karunakar P
> Sent: Friday, June 09, 2017 9:04 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] HTTP Boot failed to download NBP file if it is .iso 
> type
> 
> Hi All,
> 
> We have facing an issue with HTTP boot.
> 
> [Issue]
> HTTP Boot failed to download NBP file if it is an .iso type
> 
> [Reproduction Steps]
> 
> 1.  Configure HTTP Server in Ubuntu environment.
> 
> 2.  Place any iso image as NBP file.
> 
> 3.  Perform UEFI HTTPv4 boot.
> 
> [Result]
> DHCP process was success, But Failed to download NBP file.
> 
> [Observations]
> 
> 1.  As per UEFI spec "23.7.1 Boot from URL" (UEFI 2.6, page 1222).
> 
> Here is what the section says about binary image returned by HTTP server:
> 
> "...the binary image [..] is a UEFI-formatted executable[...], or it 
> could be mounted as a RAM disk which contains a UEFI-compliant file 
> system (see Section 12.3)."
> 
> We're interested in exploring second scenario, when downloaded image 
> is a UEFI-compliant file system.
> 
> Section "23.7.3.1 Device Path" on page 1226 provides examples of image URL:
> http://192.168.1.100/boot.iso
> 
> The specification also says that "the HTTP Boot driver will register 
> RAM disk with the downloaded NBP, by appending a RamDisk device node 
> to the device path above, like...".
> 
> 
> 
> HttpBootDxe is doing this.But NBP file itself 

Re: [edk2] [PATCH 1/2] BaseTools/tools_def GCC: ARM/AARCH64: replace -save-temps with -pipe

2017-06-21 Thread Ard Biesheuvel
On 20 June 2017 at 21:28, Laszlo Ersek  wrote:
> On 06/20/17 20:43, Ard Biesheuvel wrote:
>> For historical reasons, GCC builds for ARM and AARCH64 pass the
>> -save-temps command line option to GCC, which instructs the compiler
>> to preserve intermediate files, i.e., preprocessor output and generated
>> assembler. Given that this clutters up the Build directory, and slows
>> down the build, let's replace it with -pipe, which explicitly tells the
>> compiler to keep all intermediate representations in memory only.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ard Biesheuvel 
>> ---
>>  BaseTools/Conf/tools_def.template | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/BaseTools/Conf/tools_def.template 
>> b/BaseTools/Conf/tools_def.template
>> index 04a1bcb210ab..7a58ce365ed2 100755
>> --- a/BaseTools/Conf/tools_def.template
>> +++ b/BaseTools/Conf/tools_def.template
>> @@ -4399,7 +4399,7 @@ DEFINE GCC46_X64_DLINK_FLAGS = 
>> DEF(GCC45_X64_DLINK_FLAGS)
>>  DEFINE GCC46_X64_DLINK2_FLAGS= DEF(GCC45_X64_DLINK2_FLAGS)
>>  DEFINE GCC46_ASM_FLAGS   = DEF(GCC45_ASM_FLAGS)
>>  DEFINE GCC46_ARM_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC_ASM_FLAGS) -mlittle-endian
>> -DEFINE GCC46_ARM_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -save-temps
>> +DEFINE GCC46_ARM_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -pipe
>>  DEFINE GCC46_ARM_CC_XIPFLAGS = -D__ARM_FEATURE_UNALIGNED=0
>>  DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) 
>> -Wl,--oformat=elf32-littlearm
>>  DEFINE GCC46_ARM_DLINK2_FLAGS= DEF(GCC_DLINK2_FLAGS_COMMON) 
>> -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
>> @@ -4418,7 +4418,7 @@ DEFINE GCC47_ARM_ASM_FLAGS   = 
>> DEF(GCC46_ARM_ASM_FLAGS)
>>  DEFINE GCC47_AARCH64_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC_ASM_FLAGS) -mlittle-endian
>>  DEFINE GCC47_ARM_CC_FLAGS= DEF(GCC46_ARM_CC_FLAGS)
>>  DEFINE GCC47_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
>> -DEFINE GCC47_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -save-temps
>> +DEFINE GCC47_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -pipe
>>  DEFINE GCC47_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
>>  DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS)
>>  DEFINE GCC47_ARM_DLINK2_FLAGS= DEF(GCC46_ARM_DLINK2_FLAGS)
>> @@ -4462,7 +4462,7 @@ DEFINE GCC49_ARM_ASM_FLAGS   = 
>> DEF(GCC48_ARM_ASM_FLAGS)
>>  DEFINE GCC49_AARCH64_ASM_FLAGS   = DEF(GCC48_AARCH64_ASM_FLAGS)
>>  DEFINE GCC49_ARM_CC_FLAGS= DEF(GCC48_ARM_CC_FLAGS)
>>  DEFINE GCC49_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS)
>> -DEFINE GCC49_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -save-temps
>> +DEFINE GCC49_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
>> DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -pipe
>>  DEFINE GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS)
>>  DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS)
>>  DEFINE GCC49_ARM_DLINK2_FLAGS= DEF(GCC48_ARM_DLINK2_FLAGS)
>>
>
> "-pipe" isn't used anywhere else in "tools_def.template". Can we imagine
> a platform where cross-compiling to aarch64 with gcc works otherwise,
> but "-pipe" might break that? Cygwin perhaps? (No clue, honestly.)
>
> For consistency with the rest of "tools_def.template", I'd suggest
> simply dropping "-save-temps", and thinking about "-pipe" separately
> (and then for all the GCC toolchains and for all arches). But, I don't
> feel particularly strongly about this.
>

Yeah, that's a fair point. The fact that -save-temps is specific to
ARM does not mean we should perpetuate that with -pipe.

Leif, if you agree, I will drop the addition of -pipe from this patch,
and we can revisit it later for all GCC flavors.

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


[edk2] [PATCH 0/2] Minor update to the Data parameter for PEI GetVariable()

2017-06-21 Thread Star Zeng
They are to follow PI 1.5 spec.

Star Zeng (2):
  MdePkg: Minor update to the Data parameter for PEI GetVariable()
  MdeModulePkg: Minor update to the Data parameter for PEI GetVariable()

 MdeModulePkg/Universal/Variable/Pei/Variable.c | 5 +++--
 MdePkg/Include/Ppi/ReadOnlyVariable2.h | 7 ---
 2 files changed, 7 insertions(+), 5 deletions(-)

-- 
2.7.0.windows.1

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


[edk2] [PATCH 1/2] MdePkg: Minor update to the Data parameter for PEI GetVariable()

2017-06-21 Thread Star Zeng
PI 1.5 spec has minor update to the Data parameter for PEI
GetVariable(), and no real functional behavior change.

The modifier of Data parameter:
OUT VOID *Data
->
OUT VOID *Data OPTIONAL

The comments of Data parameter:
DataPoints to the buffer which will hold the returned variable value.
->
DataPoints to the buffer which will hold the returned variable value.
May be NULL with a zero DataSize in order to determine the size of the 
buffer needed.

The patch is to follow the spec to update the definition.

Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng 
---
 MdePkg/Include/Ppi/ReadOnlyVariable2.h | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/MdePkg/Include/Ppi/ReadOnlyVariable2.h 
b/MdePkg/Include/Ppi/ReadOnlyVariable2.h
index 6a2cd50136b3..6d8ea603811f 100644
--- a/MdePkg/Include/Ppi/ReadOnlyVariable2.h
+++ b/MdePkg/Include/Ppi/ReadOnlyVariable2.h
@@ -2,7 +2,7 @@
   This file declares Read-only Variable Service2 PPI.
   This ppi permits read-only access to the UEFI variable store during the PEI 
phase.
 
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 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 that accompanies this 
distribution.  
 The full text of the license may be found at
@@ -41,9 +41,10 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI  
EFI_PEI_READ_ONLY_VARIABLE2_PPI
   @param  DataSize  On entry, points to the size in bytes of the 
Data buffer.
 On return, points to the size of the data 
returned in Data.
   @param  Data  Points to the buffer which will hold the 
returned variable value.
+May be NULL with a zero DataSize in order to 
determine the size of the buffer needed.
 
   @retval EFI_SUCCESS   The variable was read successfully.
-  @retval EFI_NOT_FOUND The variable could not be found.
+  @retval EFI_NOT_FOUND The variable was not found.
   @retval EFI_BUFFER_TOO_SMALL  The DataSize is too small for the resulting 
data. 
 DataSize is updated with the size required for 
 the specified variable.
@@ -59,7 +60,7 @@ EFI_STATUS
   IN CONST  EFI_GUID*VariableGuid,
   OUT   UINT32  *Attributes,
   IN OUTUINTN   *DataSize,
-  OUT   VOID*Data
+  OUT   VOID*Data OPTIONAL
   );
 
 
-- 
2.7.0.windows.1

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


[edk2] [PATCH 2/2] MdeModulePkg: Minor update to the Data parameter for PEI GetVariable()

2017-06-21 Thread Star Zeng
PI 1.5 spec has minor update to the Data parameter for PEI
GetVariable(), and no real functional behavior change.

The modifier of Data parameter:
OUT VOID *Data
->
OUT VOID *Data OPTIONAL

The comments of Data parameter:
DataPoints to the buffer which will hold the returned variable value.
->
DataPoints to the buffer which will hold the returned variable value.
May be NULL with a zero DataSize in order to determine the size of the 
buffer needed.

The patch is to follow the spec to update the implementation.

Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng 
---
 MdeModulePkg/Universal/Variable/Pei/Variable.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MdeModulePkg/Universal/Variable/Pei/Variable.c 
b/MdeModulePkg/Universal/Variable/Pei/Variable.c
index a072c31e60e7..4060f4711dd0 100644
--- a/MdeModulePkg/Universal/Variable/Pei/Variable.c
+++ b/MdeModulePkg/Universal/Variable/Pei/Variable.c
@@ -947,9 +947,10 @@ FindVariable (
   @param  DataSize  On entry, points to the size in bytes of the 
Data buffer.
 On return, points to the size of the data 
returned in Data.
   @param  Data  Points to the buffer which will hold the 
returned variable value.
+May be NULL with a zero DataSize in order to 
determine the size of the buffer needed.
 
   @retval EFI_SUCCESS   The variable was read successfully.
-  @retval EFI_NOT_FOUND The variable could not be found.
+  @retval EFI_NOT_FOUND The variable was be found.
   @retval EFI_BUFFER_TOO_SMALL  The DataSize is too small for the resulting 
data.
 DataSize is updated with the size required for
 the specified variable.
@@ -965,7 +966,7 @@ PeiGetVariable (
   IN CONST  EFI_GUID*VariableGuid,
   OUT   UINT32  *Attributes,
   IN OUTUINTN   *DataSize,
-  OUT   VOID*Data
+  OUT   VOID*Data OPTIONAL
   )
 {
   VARIABLE_POINTER_TRACK  Variable;
-- 
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 V3] NetworkPkg/HttpBootDxe: Add HTTP Boot Callback protocol support.

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

-Original Message-
From: Fu, Siyuan 
Sent: Tuesday, June 20, 2017 9:23 AM
To: edk2-devel@lists.01.org
Cc: Ye, Ting ; Wu, Jiaxin 
Subject: [Patch V3] NetworkPkg/HttpBootDxe: Add HTTP Boot Callback protocol 
support.

V3 update:
Fix X64 build error.

V2 update:
Correct the file size print for IA32.

This patch updates the HTTP Boot driver to install a default HTTP Callback 
protocol if the platform doesn't provide one. This callback implementation will 
print the boot file download progress in percentage format.

Cc: Ye Ting 
Cc: Wu Jiaxin 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan 
---
 NetworkPkg/HttpBootDxe/HttpBootClient.c  |  67 +-
 NetworkPkg/HttpBootDxe/HttpBootClient.h  |   4 +-
 NetworkPkg/HttpBootDxe/HttpBootDhcp4.c   |  26 +++-
 NetworkPkg/HttpBootDxe/HttpBootDhcp6.c   | 106 +--
 NetworkPkg/HttpBootDxe/HttpBootDxe.h |  14 ++
 NetworkPkg/HttpBootDxe/HttpBootDxe.inf   |   3 +-
 NetworkPkg/HttpBootDxe/HttpBootImpl.c| 221 +--
 NetworkPkg/HttpBootDxe/HttpBootImpl.h|   2 +
 NetworkPkg/HttpBootDxe/HttpBootSupport.c |  29   
NetworkPkg/HttpBootDxe/HttpBootSupport.h |  34 +
 10 files changed, 446 insertions(+), 60 deletions(-)

diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.c 
b/NetworkPkg/HttpBootDxe/HttpBootClient.c
index 99db3d5..68f5a49 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootClient.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootClient.c
@@ -233,7 +233,6 @@ HttpBootDhcp4ExtractUriInfo (
   //
   // All boot informations are valid here.
   //
-  AsciiPrint ("\n  URI: %a", Private->BootFileUri);
 
   //
   // Update the device path to include the IP and boot URI information.
@@ -401,7 +400,7 @@ HttpBootDhcp6ExtractUriInfo (
   //
   // All boot informations are valid here.
   //
-  AsciiPrint ("\n  URI: %a", Private->BootFileUri);
+
   //
   // Update the device path to include the IP and boot URI information.
   //
@@ -452,6 +451,40 @@ HttpBootDiscoverBootInfo (  }
 
 /**
+  HttpIo Callback function which will be invoked when specified 
HTTP_IO_CALLBACK_EVENT happened.
+
+  @param[in]EventType  Indicate the Event type that occurs in the 
current callback.
+  @param[in]MessageHTTP message which will be send to, or just 
received from HTTP server.
+  @param[in]ContextThe Callback Context pointer.
+  
+  @retval EFI_SUCCESS  Tells the HttpIo to continue the HTTP process.
+  @retval Others   Tells the HttpIo to abort the current HTTP 
process.
+**/
+EFI_STATUS
+EFIAPI
+HttpBootHttpIoCallback (
+  IN  HTTP_IO_CALLBACK_EVENTEventType,
+  IN  EFI_HTTP_MESSAGE  *Message,
+  IN  VOID  *Context
+  )
+{
+  HTTP_BOOT_PRIVATE_DATA   *Private;
+  EFI_STATUS   Status;
+  Private = (HTTP_BOOT_PRIVATE_DATA *) Context;
+  if (Private->HttpBootCallback != NULL) {
+Status = Private->HttpBootCallback->Callback (
+   Private->HttpBootCallback,
+   EventType == HttpIoRequest ? HttpBootHttpRequest : 
HttpBootHttpResponse,
+   EventType == HttpIoRequest ? FALSE : TRUE,
+   sizeof (EFI_HTTP_MESSAGE),
+   (VOID *) Message
+   );
+return Status;
+  }
+  return EFI_SUCCESS;
+}
+
+/**
   Create a HttpIo instance for the file download.
 
   @param[in]PrivateThe pointer to the driver's private data.
@@ -490,6 +523,8 @@ HttpBootCreateHttpIo (
  Private->Controller,
  Private->UsingIpv6 ? IP_VERSION_6 : IP_VERSION_4,
  ,
+ HttpBootHttpIoCallback,
+ (VOID *) Private,
  >HttpIo
  );
   if (EFI_ERROR (Status)) {
@@ -686,6 +721,8 @@ HttpBootGetBootFileCallback (  {
   HTTP_BOOT_CALLBACK_DATA  *CallbackData;
   HTTP_BOOT_ENTITY_DATA*NewEntityData;
+  EFI_STATUS   Status;
+  EFI_HTTP_BOOT_CALLBACK_PROTOCOL   *HttpBootCallback;
 
   //
   // We only care about the entity data.
@@ -695,6 +732,19 @@ HttpBootGetBootFileCallback (
   }
 
   CallbackData = (HTTP_BOOT_CALLBACK_DATA *) Context;
+  HttpBootCallback = CallbackData->Private->HttpBootCallback;
+  if (HttpBootCallback != NULL) {
+Status = HttpBootCallback->Callback (
+   HttpBootCallback,
+   HttpBootHttpEntityBody,
+   TRUE,
+   (UINT32)Length,
+   Data
+   );
+if (EFI_ERROR (Status)) {
+  return Status;
+}
+  }
   //
   // Copy data if caller has provided a buffer.
   //
@@ -977,6 +1027,7 @@ HttpBootGetBootFile (
   Context.Buffer = Buffer;
   Context.BufferSize = *BufferSize;
   Context.Cache  = Cache;
+  Context.Private= Private;
   Status = HttpInitMsgParser (
  HeaderOnly? HttpMethodHead : HttpMethodGet,