[edk2] [PATCH] IntelSiliconPkg: Add package DSC file
Cc: Jiewen YaoContributed-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
> On Jun 21, 2017, at 6:48 PM, Gao, Limingwrote: > > 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
Reviewed-by: Ruiyu NiThanks/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
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
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 Taowrote: > > 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
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
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
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
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
e286e118bafa updated *.c file, but forgot to update *.h file. Cc: Liming GaoCc: 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
dd59d95e1994 updated *.c file, but forgot to update *.h file. Cc: Liming GaoContributed-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
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 Lindholmfor 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
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
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()
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
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
On 20 June 2017 at 21:28, Laszlo Ersekwrote: > 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()
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()
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 GaoContributed-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()
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 GaoContributed-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.
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,