[edk2] [PATCH staging][BaseToolsOpt 0/4] Enable multiple driver combination
Combine more drivers into the single one can reduce the image size and compile link time. This patch adds this support in BaseTools. Liming Gao (4): BaseTools: Merge multiple drivers into one for size and link performance OvmfPkg: Update QemuVideo and VirtioGpuDxe to use NULL as DriverBindingHandle OvmfPkg: Combine QemuVideoDxe and VirtioGpuDxe to one driver Update Readme.MD to include multiple driver combination. BaseTools/Source/Python/AutoGen/GenC.py | 24 +++- OvmfPkg/OvmfPkgIa32X64.dsc | 6 -- OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- OvmfPkg/QemuVideoDxe/Driver.c | 2 +- OvmfPkg/VirtioGpuDxe/DriverBinding.c| 2 +- Readme.MD | 1 + 6 files changed, 27 insertions(+), 10 deletions(-) -- 2.8.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH staging][BaseToolsOpt 4/4] Update Readme.MD to include multiple driver combination.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- Readme.MD | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.MD b/Readme.MD index a436dd5..b5646be 100644 --- a/Readme.MD +++ b/Readme.MD @@ -15,6 +15,7 @@ identified to be optimized. POC code will be added in this branch for evaluation In Ubuntu 14.04 GCC5, OvmfPkgIa32X64 GenFds build time can be reduced from 6s to 4s. 2) Support to merge multiple drivers into one. It should save the link time. But, it doesn't save much in the multiple build. Besides, this feature can save the image size when the image is not compressed, such as PEI images. + POC code has been added. One example in OvmfPkgIa32X64.dsc is added to show how to combine more than drivers into single one. 3) Reduce the extra copy actions in build process. 4) Analyze cProfile data and enhance the parser logic. https://bugzilla.tianocore.org/show_bug.cgi?id=42 -- 2.8.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH staging][BaseToolsOpt 2/4] OvmfPkg: Update QemuVideo and VirtioGpuDxe to use NULL as DriverBindingHandle
To combine two drivers into one, they can't share ImageHandle as DriverBindingHandle. So, update their code to use NULL as DriverBindingHandle. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- OvmfPkg/QemuVideoDxe/Driver.c| 2 +- OvmfPkg/VirtioGpuDxe/DriverBinding.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/QemuVideoDxe/Driver.c b/OvmfPkg/QemuVideoDxe/Driver.c index fc8025e..ce66c02 100644 --- a/OvmfPkg/QemuVideoDxe/Driver.c +++ b/OvmfPkg/QemuVideoDxe/Driver.c @@ -954,7 +954,7 @@ InitializeQemuVideo ( ImageHandle, SystemTable, &gQemuVideoDriverBinding, - ImageHandle, + NULL, &gQemuVideoComponentName, &gQemuVideoComponentName2 ); diff --git a/OvmfPkg/VirtioGpuDxe/DriverBinding.c b/OvmfPkg/VirtioGpuDxe/DriverBinding.c index 33c1ad3..908bd1d 100644 --- a/OvmfPkg/VirtioGpuDxe/DriverBinding.c +++ b/OvmfPkg/VirtioGpuDxe/DriverBinding.c @@ -839,6 +839,6 @@ VirtioGpuEntryPoint ( ) { return EfiLibInstallDriverBindingComponentName2 (ImageHandle, SystemTable, - &mDriverBinding, ImageHandle, NULL /* ComponentName */, + &mDriverBinding, NULL, NULL /* ComponentName */, &mComponentName2); } -- 2.8.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH staging][BaseToolsOpt 3/4] OvmfPkg: Combine QemuVideoDxe and VirtioGpuDxe to one driver
This is an example to show the driver combination in Platform.dsc. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- OvmfPkg/OvmfPkgIa32X64.dsc | 6 -- OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index e1e386c..9858d33 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -678,8 +678,10 @@ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf - OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf - OvmfPkg/VirtioGpuDxe/VirtioGpu.inf + OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { + + NULL|OvmfPkg/VirtioGpuDxe/VirtioGpu.inf + } # # ISA Support diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index f6ed418..adad890 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -349,7 +349,7 @@ INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf !endif INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf -INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf +#INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf INF OvmfPkg/PlatformDxe/Platform.inf !if $(SMM_REQUIRE) == TRUE -- 2.8.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH staging][BaseToolsOpt 1/4] BaseTools: Merge multiple drivers into one for size and link performance
Update BaseTools to support the multiple driver combination. The merge style reuses the library instance syntax in package.dsc file. The below example is to combine VirtioGpu and QemuVideoDxe driver into one driver. VirtioGpu driver entry point will be executed first, QemuVideoDxe entry point will run last. [Components] OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { NULL|OvmfPkg/VirtioGpuDxe/VirtioGpu.inf } Notes: When try combining some drivers, the compile failure may happen, because the same function name are used in the different drivers. Those drivers are required to be clean up first, then be combined. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- BaseTools/Source/Python/AutoGen/GenC.py | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index 67aaef7..6579457 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -1359,10 +1359,17 @@ def CreateLibraryDestructorCode(Info, AutoGenC, AutoGenH): def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): if Info.IsLibrary or Info.ModuleType in ['USER_DEFINED', 'SEC']: return + +ModuleEntryPointList = [] +for Lib in Info.DependentLibraryList: +if len (Lib.ModuleEntryPointList) > 0: +ModuleEntryPointList = ModuleEntryPointList + Lib.ModuleEntryPointList +ModuleEntryPointList = ModuleEntryPointList + Info.Module.ModuleEntryPointList + # # Module Entry Points # -NumEntryPoints = len(Info.Module.ModuleEntryPointList) +NumEntryPoints = len(ModuleEntryPointList) if 'PI_SPECIFICATION_VERSION' in Info.Module.Specification: PiSpecVersion = Info.Module.Specification['PI_SPECIFICATION_VERSION'] else: @@ -1372,7 +1379,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): else: UefiSpecVersion = '0x' Dict = { -'Function' : Info.Module.ModuleEntryPointList, +'Function' : ModuleEntryPointList, 'PiSpecVersion' : PiSpecVersion + 'U', 'UefiSpecVersion': UefiSpecVersion + 'U' } @@ -1385,7 +1392,7 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): AUTOGEN_ERROR, '%s must have exactly one entry point' % Info.ModuleType, File=str(Info), - ExtraData= ", ".join(Info.Module.ModuleEntryPointList) + ExtraData= ", ".join(ModuleEntryPointList) ) if Info.ModuleType == 'PEI_CORE': AutoGenC.Append(gPeiCoreEntryPointString.Replace(Dict)) @@ -1430,11 +1437,18 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): def CreateModuleUnloadImageCode(Info, AutoGenC, AutoGenH): if Info.IsLibrary or Info.ModuleType in ['USER_DEFINED', 'SEC']: return + +ModuleUnloadImageList = [] +for Lib in Info.DependentLibraryList: +if len (Lib.ModuleUnloadImageList) > 0: +ModuleUnloadImageList = ModuleUnloadImageList + Lib.ModuleUnloadImageList +ModuleUnloadImageList = ModuleUnloadImageList + Info.Module.ModuleUnloadImageList + # # Unload Image Handlers # -NumUnloadImage = len(Info.Module.ModuleUnloadImageList) -Dict = {'Count':str(NumUnloadImage) + 'U', 'Function':Info.Module.ModuleUnloadImageList} +NumUnloadImage = len(ModuleUnloadImageList) +Dict = {'Count':str(NumUnloadImage) + 'U', 'Function':ModuleUnloadImageList} if NumUnloadImage < 2: AutoGenC.Append(gUefiUnloadImageString[NumUnloadImage].Replace(Dict)) else: -- 2.8.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v1 1/1] ShellPkg/ifconfig: Update help message
Couple of instances had IP4 mentioned, instead of IPv4. Changing all to IPv4 to maintain consistency. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hegde Nagaraj P --- ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni index d9bbb209cd..d427dd209f 100644 --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.uni @@ -150,13 +150,13 @@ ".SH DESCRIPTION\r\n" " \r\n" "NOTES:\r\n" -" 1. This command modifies the default IP address for the UEFI IP4\r\n" +" 1. This command modifies the default IP address for the UEFI IPv4\r\n" " network stack.\r\n" " 2. Use '-r' to renew configuration of interface and set dhcp policy.\r\n" " 3. Use '-l' to list the DNS and other address related settings for all\r\n" " interfaces or the specified interface.\r\n" " 4. Use '-s static ' with \r\n" -" static IP4 address configuration for specified interface.\r\n" +" static IPv4 address configuration for specified interface.\r\n" " 5. Use '-s dhcp' for DHCP4 to request the IP4 address\r\n" " configuration dynamically for specified interface.\r\n" " 6. Use '-s dns ' must under manual policy.\r\n" -- 2.13.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v1 1/1] NetworkPkg/HttpBootDxe: Handle new #define in HttpBootDxe
Add a error message in HttpBootPrintErrorMessage for HTTP 308 Redirect. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hegde Nagaraj P --- NetworkPkg/HttpBootDxe/HttpBootSupport.c | 4 1 file changed, 4 insertions(+) diff --git a/NetworkPkg/HttpBootDxe/HttpBootSupport.c b/NetworkPkg/HttpBootDxe/HttpBootSupport.c index 56c4c15836..181cb0d1f3 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootSupport.c +++ b/NetworkPkg/HttpBootDxe/HttpBootSupport.c @@ -186,6 +186,10 @@ HttpBootPrintErrorMessage ( case HTTP_STATUS_307_TEMPORARY_REDIRECT: AsciiPrint ("\n Redirection: 307 Temporary Redirect"); +break; + + case HTTP_STATUS_308_PERMANENT_REDIRECT: +AsciiPrint ("\n Redirection: 308 Permanent Redirect"); break; case HTTP_STATUS_400_BAD_REQUEST: -- 2.13.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v1 1/1] MdeModulePkg/DxeHttpLib: Handle new #define in HttpMappingToStatusCode
Related to the ECR for support of HTTP Redirect (308) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hegde Nagaraj P --- MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c index 292923875f..b781fc416f 100644 --- a/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c +++ b/MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.c @@ -1943,6 +1943,8 @@ HttpMappingToStatusCode ( return HTTP_STATUS_305_USE_PROXY; case 307: return HTTP_STATUS_307_TEMPORARY_REDIRECT; + case 308: +return HTTP_STATUS_308_PERMANENT_REDIRECT; case 400: return HTTP_STATUS_400_BAD_REQUEST; case 401: -- 2.13.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v1 1/1] MdePkg/Http.h: Add #define for 308 redirect
Adding Support for the ECR for HTTP 308 redirect. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hegde Nagaraj P --- MdePkg/Include/Protocol/Http.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/Http.h b/MdePkg/Include/Protocol/Http.h index 269416c9fc..4f3f08d3be 100644 --- a/MdePkg/Include/Protocol/Http.h +++ b/MdePkg/Include/Protocol/Http.h @@ -5,7 +5,7 @@ HTTP Protocol (HTTP) Copyright (c) 2016, Intel Corporation. All rights reserved. - (C) Copyright 2015 Hewlett Packard Enterprise Development LP + (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -103,7 +103,8 @@ typedef enum { HTTP_STATUS_502_BAD_GATEWAY, HTTP_STATUS_503_SERVICE_UNAVAILABLE, HTTP_STATUS_504_GATEWAY_TIME_OUT, - HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED + HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED, + HTTP_STATUS_308_PERMANENT_REDIRECT } EFI_HTTP_STATUS_CODE; /// -- 2.13.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] GPT support in UEFI
Hi, i also think the block number provided by me was wrong. Actually i didn't know that parameter represents block number. Now when i know all the parameters to gpt create command, i used as specified by you. first of all, i used gpt clear BLK3 to install empty gpt tables. then, i tried gpt create BLK3 P1 0 128 1 -type 0 to create a partition P1. then, i have to format it using gpt fatformat BLK3 P1 but this gives an error saying gpt: Invalid argument - 'P1' could not find partition P1 (case-sensitive). Make sure the name is spelled properly however, this shouldn't happen as i already created a partition named P1. Any Suggestions are welcome!! Thanks, Shubham Vladimir:: gpt clear just creates an empty gpt table on a block device. I doubt you need it for sd card. To format the sd card say on blk2 use gpt fatformat blk2. Normally when you want to create gpt partitions from scratch you do gpt clear gpt create blk2 partname 0 partsizeinmb 0 -type N, and then you format partition with gpt fatformat blk2 partname. gpt fatformat blk2 will format the whole device. After that do gpt sync blk2 to let the upper layer know there is a need to reread devices. Then map -r and you will see your new filesystem in the list. The way you tried to create a partition is a bit strange to me. You want a partition to start from block 131242 and be 64MB? I usually create ESP partition as gpt create blk2 ESP 0 128 1 -type 0 gpt fatformat blk3 formats ENTIRE device effectively destroying gpt partition table. If you want to just format ESP partition to FAT32 then use gpt fatformat blk3 ESP. gpt create has this syntax: gpt create blk partname startblk sizeinMB flag type. If you set startblk as 0, the first available block is used. Hope this helps. Thank you, Vladimir On Jun 7, 2017 2:30 AM, "Shubham Mittal" mailto:shubham.mit...@nxp.com>> wrote: Thanks a lot for the guide to your GPT shell command patch. I applied it in my local repository and i am able to see shell command "gpt" in UEFI. Now, when the sd card is corrupted, i used "gpt clear BLK3:" where BLK3 is the sd. then, i used "gpt create BLK3: F1 131242 64 1 -type 0" to create a partition named F1. it does not give error, but when i use "gpt list BLK3:", it does not show the partition created. also, i used "gpt fatformat BLK3:" to format the sd and then when i use "gpt sync BLK3:" and again start uefi, it does show FS0: which means a file system is created on the sd but the partition i created does not show there and also not showing when i use "gpt list BLK3:". Please reply asap what is wrong here. i think gpt create command is wrong because i am unable to understand what each parameter represents. Thanks, Shubham Mittal ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 00/10] *** BaseTools: Tools change to support PI v1.5 Specification. ***
Supreeth: Thanks for your contribution. I review this patch set, and have two comments. 1) This is added in PI1.5. So, its version check should be with 0x00010032 (1 and 50), not 0x0001000A (1 and 10). Smm standalone module INF needs to specify PI_SPECIFICATION_VERSION = 0x00010032. 2) Does the change conform to doc change recorded in below bugzilla? https://bugzilla.tianocore.org/show_bug.cgi?id=550 https://bugzilla.tianocore.org/show_bug.cgi?id=551 https://bugzilla.tianocore.org/show_bug.cgi?id=552 Thanks Liming >-Original Message- >From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >Supreeth Venkatesh >Sent: Tuesday, June 06, 2017 5:44 AM >To: edk2-devel@lists.01.org >Cc: leif.lindh...@arm.com; ard.biesheu...@linaro.org >Subject: [edk2] [PATCH 00/10] *** BaseTools: Tools change to support PI v1.5 >Specification. *** > >*** >PI v1.5 Specification Volume 4 defines Management Mode Core Interface. >In order to support Management Mode Core Interface, Module Types >MM_STANDALONE, MM_CORE_STANDALONE are needed. >PI specification v1.5 defines the following new file types: >#define EFI_FV_FILETYPE_MM 0x0A >#define EFI_FV_FILETYPE_COMBINED_MM_DXE 0x0C >#define EFI_FV_FILETYPE_MM_STANDALONE 0x0E >The following changes are necessitated in order to support the above changes >to the specification. >*** > >Supreeth Venkatesh (10): > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > BaseTools: Tools change to support PI v1.5 Specification. > > BaseTools/Source/C/GenFfs/GenFfs.c | 6 +- > BaseTools/Source/C/GenFw/GenFw.c | 5 +- > BaseTools/Source/C/Include/Common/PiFirmwareFile.h | 1 + > BaseTools/Source/Python/AutoGen/GenC.py| 148 >- > BaseTools/Source/Python/AutoGen/GenDepex.py| 17 ++- > BaseTools/Source/Python/Common/DataType.py | 4 +- > BaseTools/Source/Python/Common/FdfParserLite.py| 4 +- > .../Source/Python/CommonDataClass/CommonClass.py | 6 +- > .../Source/Python/CommonDataClass/PackageClass.py | 2 +- > BaseTools/Source/Python/Eot/FvImage.py | 1 + > BaseTools/Source/Python/GenFds/FdfParser.py| 4 +- > BaseTools/Source/Python/GenFds/Ffs.py | 7 +- > BaseTools/Source/Python/GenFds/FfsInfStatement.py | 3 + > .../Source/Python/Workspace/WorkspaceDatabase.py | 4 + > BaseTools/Source/Python/build/BuildReport.py | 4 +- > BaseTools/Source/Python/build/build.py | 2 +- > 16 files changed, 199 insertions(+), 19 deletions(-) > >-- >2.7.4 > >___ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] SecurityPkg TcgDxe: Simplify debug msg when "TPM not working properly"
Current code for case "TPM not working properly" uses the predefined macro __FILE__ in debug format string, but uses predefined macro __LINE__ as parameter, and it also uses multiple pairs of "" in debug format string. To be simple and clear, this patch is to update the code to just use "DriverEntry: TPM not working properly\n" as the debug message. Cc: Jiewen Yao Cc: Amy Chan Cc: Chasel Chiu Cc: Chao Zhang Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng --- SecurityPkg/Tcg/TcgDxe/TcgDxe.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c index 5b7c5c3e165b..4a90c5ccef16 100644 --- a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c +++ b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c @@ -1406,9 +1406,7 @@ DriverEntry ( if (EFI_ERROR (Status)) { DEBUG (( EFI_D_ERROR, - "Line %d in file " __FILE__ ":\n" - "DriverEntry: TPM not working properly\n", - __LINE__ + "DriverEntry: TPM not working properly\n" )); return Status; } -- 2.7.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 1/1] OvmfPkg/AcpiPlatformDxe: alloc blobs from 64-bit space unless restricted
On 06/06/17 20:16, Laszlo Ersek wrote: > On 06/05/17 19:47, Jordan Justen wrote: >> On 2017-06-03 08:42:03, Laszlo Ersek wrote: >>> ... by narrower than 8-byte ADD_POINTER references. >>> >>> Introduce the CollectRestrictedAllocations() function, which iterates over >> >> How about Collect32BitRestrictedAllocations and similar treatment for >> other names that just say 'restricted'? > > Something like this crossed my mind, but I didn't know how to prefix the > simple variable / parameter names "RestrictedAllocations" with "32Bit", > as the identifiers cannot start with a digit. > > I even thought of spelling it out, as in > "ThirtyTwoBitRestrictedAllocations", but that seemed ridiculous. > > Prefixing "32Bit" with an underscore, _32Bit, looks ugly, plus the C > standard actually reserves it: > > All identifiers that begin with an underscore are always reserved > for use as identifiers with file scope in both the ordinary and tag > name spaces. > > While I'd only use this variable name as function parameter / local > variable, and thereby I'd shadow any such impl. defined global variable > ("identifiers with file scope"), the shadowing would trigger a compiler > warning for sure, and break the build. > > What do you suggest? Ultimately I went with s/RestrictedAllocations/AllocationsRestrictedTo32Bit/ in the patch body and in the commit message too. Cleaned up the line lengths and such as well, plus retested the patch. Commit 4275f38507a4. Thanks, Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion
I did think about changing as you suggested. But other errors also may be DEVICE_ERROR in case the NV storage has some problem. So I did not change it. Sorry for not replying to you before checking in the code. Send from mobile phone > 在 2017年6月7日,下午11:35,Shah, Tapan 写道: > > Ray, > I don't see your check-in includes the change I proposed below. > > Tapan > > > -Original Message- > From: Shah, Tapan > Sent: Tuesday, June 06, 2017 5:03 PM > To: 'Carsey, Jaben' ; Ni, Ruiyu ; > edk2-devel@lists.01.org > Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion > > Instead of using STR_GEN_ERR_UK here, it would be better to define a new > string token as "alias: '' does not exist." > + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN + (STR_GEN_ERR_UK), gShellLevel3HiiHandle, L"alias", Status); > > Reviewed-by: Tapan Shah > > -Original Message- > From: Carsey, Jaben [mailto:jaben.car...@intel.com] > Sent: Tuesday, June 06, 2017 4:37 PM > To: Ni, Ruiyu ; edk2-devel@lists.01.org > Cc: Shah, Tapan > Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion > > I am good with more clear error information coming to the user. > Reviewed-by: Jaben Carsey > >> -Original Message- >> From: Ni, Ruiyu >> Sent: Tuesday, June 06, 2017 2:26 PM >> To: Ni, Ruiyu ; edk2-devel@lists.01.org >> Cc: Tapan Shah ; Carsey, Jaben >> >> Subject: Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias >> deletion >> Importance: High >> >> Including Jaben for review. >> >> Send from mobile phone >> >>> 在 2017年6月6日,下午4:43,Ni, Ruiyu 写道: >>> >>> Including Tapan. >>> >>> Thanks/Ray >>> -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Ruiyu Ni Sent: Tuesday, June 6, 2017 4:29 PM To: edk2-devel@lists.01.org Subject: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Cc: Tapan Shah --- ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c index 5a3b7e5913..7277bd4b90 100644 --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c @@ -2,7 +2,7 @@ Main file for Alias shell level 3 function. (C) Copyright 2015 Hewlett-Packard Development Company, L.P. - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved. + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. + This program and the accompanying materials are licensed and made available under the terms and conditions of the >> BSD License which accompanies this distribution. The full text of the license may be >> found at @@ -151,6 +151,15 @@ ShellCommandRunAlias ( // delete an alias // Status = gEfiShellProtocol->SetAlias(Param1, NULL, TRUE, FALSE); + if (EFI_ERROR(Status)) { +if (Status == EFI_ACCESS_DENIED) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN + (STR_GEN_ERR_AD), gShellLevel3HiiHandle, L"alias"); + ShellStatus = SHELL_ACCESS_DENIED; +} else { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN + (STR_GEN_ERR_UK), gShellLevel3HiiHandle, L"alias", Status); + ShellStatus = SHELL_DEVICE_ERROR; +} + } } else if (ShellCommandLineGetCount(Package) == 3) { // // must be adding an alias -- 2.12.2.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] Jaben will be away until August.
Hi all, I am going to be gone until early august without access to my email after this week. Mike Kinney has graciously agreed to handle reviewing code patches in my place until I return. Thanks Mike! Thanks, -Jaben ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ShellPkg: Remove unnecessary Readme.txt
Reviewed-by: Jaben Carsey > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Ruiyu Ni > Sent: Tuesday, June 06, 2017 10:52 PM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben > Subject: [edk2] [PATCH] ShellPkg: Remove unnecessary Readme.txt > Importance: High > > The Readme.txt contains instructions about how to integrate Shell > into Nt32. Actually Nt32 already contains a macro USE_OLD_SHELL to > choose OLD or NEW Shell. > > So remove this txt file. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni > Cc: Jaben Carsey > --- > ShellPkg/Readme.txt | 29 - > 1 file changed, 29 deletions(-) > delete mode 100644 ShellPkg/Readme.txt > > diff --git a/ShellPkg/Readme.txt b/ShellPkg/Readme.txt > deleted file mode 100644 > index 77841c0a2a..00 > --- a/ShellPkg/Readme.txt > +++ /dev/null > @@ -1,29 +0,0 @@ > - > == > == > - OVERVIEW > - > == > == > -The UEFI 2.0 shell provides a standard pre-boot command line processor. > -It is similar to the EDK EFI Shell or a *nix command line parser. > - > - > == > == > -HOW TO INCORPORATE THIS SHELL INTO NT32 > - > == > == > -The instructions below are included as a sample and template on how a > -developer may integrate this code into an existing platform: > - > -1. Add this shell build to the NT32 build: > - Add the shell.inf to the [components] section as it is in the > ShellPkg.dsc. > - > -2. Update system PCDs to support this new module > - Update the PCD as follows using the Shell's PCD: > - gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, > 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, > 0xD1 } > - > -3. Remove the old shell from the NT32 Firmware list > - Remove the FILE APPLICATION section for the old shell. > - > -4. Add this shell to the NT32 firmware list > - Add the Shell.INF to the end of the list of DXE modules. > - > -5. Build NT32 > - > - > - > == > == > -- > 2.12.2.windows.2 > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion
Ray, I don't see your check-in includes the change I proposed below. Tapan -Original Message- From: Shah, Tapan Sent: Tuesday, June 06, 2017 5:03 PM To: 'Carsey, Jaben' ; Ni, Ruiyu ; edk2-devel@lists.01.org Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion Instead of using STR_GEN_ERR_UK here, it would be better to define a new string token as "alias: '' does not exist." > >> + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN > >> + (STR_GEN_ERR_UK), > >> gShellLevel3HiiHandle, L"alias", Status); Reviewed-by: Tapan Shah -Original Message- From: Carsey, Jaben [mailto:jaben.car...@intel.com] Sent: Tuesday, June 06, 2017 4:37 PM To: Ni, Ruiyu ; edk2-devel@lists.01.org Cc: Shah, Tapan Subject: RE: [edk2] [PATCH] ShellPkg/alias: Return status for alias deletion I am good with more clear error information coming to the user. Reviewed-by: Jaben Carsey > -Original Message- > From: Ni, Ruiyu > Sent: Tuesday, June 06, 2017 2:26 PM > To: Ni, Ruiyu ; edk2-devel@lists.01.org > Cc: Tapan Shah ; Carsey, Jaben > > Subject: Re: [edk2] [PATCH] ShellPkg/alias: Return status for alias > deletion > Importance: High > > Including Jaben for review. > > Send from mobile phone > > > 在 2017年6月6日,下午4:43,Ni, Ruiyu 写道: > > > > Including Tapan. > > > > Thanks/Ray > > > >> -Original Message- > >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf > >> Of > Ruiyu > >> Ni > >> Sent: Tuesday, June 6, 2017 4:29 PM > >> To: edk2-devel@lists.01.org > >> Subject: [edk2] [PATCH] ShellPkg/alias: Return status for alias > >> deletion > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Ruiyu Ni > >> Cc: Tapan Shah > >> --- > >> ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c | 11 > >> ++- > >> 1 file changed, 10 insertions(+), 1 deletion(-) > >> > >> diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c > >> b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c > >> index 5a3b7e5913..7277bd4b90 100644 > >> --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c > >> +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c > >> @@ -2,7 +2,7 @@ > >> Main file for Alias shell level 3 function. > >> > >> (C) Copyright 2015 Hewlett-Packard Development Company, L.P. > >> - Copyright (c) 2009 - 2016, Intel Corporation. All rights > >> reserved. > >> + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. > >> + > >> This program and the accompanying materials > >> are licensed and made available under the terms and conditions of > >> the > BSD > >> License > >> which accompanies this distribution. The full text of the > >> license may be > found > >> at @@ -151,6 +151,15 @@ ShellCommandRunAlias ( > >> // delete an alias > >> // > >> Status = gEfiShellProtocol->SetAlias(Param1, NULL, TRUE, > >> FALSE); > >> + if (EFI_ERROR(Status)) { > >> +if (Status == EFI_ACCESS_DENIED) { > >> + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN > >> + (STR_GEN_ERR_AD), > >> gShellLevel3HiiHandle, L"alias"); > >> + ShellStatus = SHELL_ACCESS_DENIED; > >> +} else { > >> + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN > >> + (STR_GEN_ERR_UK), > >> gShellLevel3HiiHandle, L"alias", Status); > >> + ShellStatus = SHELL_DEVICE_ERROR; > >> +} > >> + } > >> } else if (ShellCommandLineGetCount(Package) == 3) { > >> // > >> // must be adding an alias > >> -- > >> 2.12.2.windows.2 > >> > >> ___ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [RFC] migration of OpenPlatformPkg to tianocore
Hi all, OK, so I have now updated both edk2-non-osi and edk2-platforms (devel-OpenPlatformPkg branches) with package renaming, and updating .dsc/.fdf files to . It appears the problems I'm facing are mainly caused by the GenFds stage not seeing a view consistent with the actual compilation stage. To demonstrate, I build the Juno platform: $ . edksetup.sh $ make -C BaseTools $ PACKAGES_PATH=/work/git/edk2-platforms/Platform/ARM \ GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -n 9 -a AARCH64 \ -t GCC5 -p JunoPkg/ArmJuno.dsc -b RELEASE This build fails with: --- Fd File Name:BL33_AP_UEFI Generate Region at Offset 0x0 Region Size = 0xF8000 Region Name = FV Generating FVMAIN_COMPACT FV Generating FVMAIN FV GenFds.py... : error F003: Output file for RAW section could not be found for JunoPkg/AcpiTables/AcpiTables.inf build.py... : error 7000: Failed to execute command GenFds -f /work/git/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.fdf --conf=/work/git/edk2/Conf -o /work/git/edk2/Build/ArmJuno/RELEASE_GCC5 -t GCC5 -b RELEASE -p /work/git/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc -a AARCH64 -D "EFI_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D "EDK_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D "TOOL_CHAIN_TAG=GCC5" -D "TOOLCHAIN=GCC5" -D "TARGET=RELEASE" -D "FAMILY=GCC" -D "WORKSPACE=/work/git/edk2" -D "EDK_TOOLS_PATH=/work/git/edk2/BaseTools" -D "ARCH=AARCH64" -D "ECP_SOURCE=/work/git/edk2/EdkCompatibilityPkg" [/work/git/edk2] - Failed - --- , but if I add the symlink ln -s edk2-platforms/Platform/ARM/JunoPkg/ Build/ArmJuno/RELEASE_GCC5/AARCH64/ it completes successfully on the next pass. Same when building VExpressPkg/ArmVExpress-FVP-AArch64.dsc ln -s edk2-platforms/Platform/ARM/VExpressPkg \ Build/ArmVExpress-FVP-AArch64/RELEASE_GCC5/AARCH64/ resolves the build error. Similarly, when I build the Overdrive/Overdrive.dsc, using: $ PACKAGES_PATH=/work/git/edk2-platforms/Platform/AMD:/work/git/edk2-platforms/Silicon/AMD:/work/git/edk2-non-osi/Silicon/AMD/Styx:/work/git/edk2-non-osi/Platform/AMD \ GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -n 9 -a AARCH64 -t GCC5 -p OverdriveBoard/OverdriveBoard.dsc -b RELEASE this fails with --- Fd File Name:STYX_ROM Generate Region at Offset 0x0 Region Size = 0x20 Region File Name = /work/git/edk2/../edk2-non-osi/Platform/AMD/OverdriveBoard/PreUefiFirmware.bin Generate Region at Offset 0x20 Region Size = 0x26 Region Name = FV Generating STYX_EFI FV Return Value = 2 GenFw: ERROR 0001: Error opening file /work/git/edk2/Build/Overdrive/RELEASE_GCC5/AARCH64/StyxPkg/Drivers/PlatInitPei/PlatInitPei/OUTPUT/PlatInitPei.efi GenFds.py... ### ['GenFw', '-t', '-o', ### '/work/git/edk2/Build/Overdrive/RELEASE_GCC5/FV/Ffs/769694a4-2572-4f29-a5bb-33d7df7be001PlatInitPei/769694a4-2572-4f29-a5bb-33d7df7be001Te.raw', ### '/work/git/edk2/Build/Overdrive/RELEASE_GCC5/AARCH64/StyxPkg/Drivers/PlatInitPei/PlatInitPei/OUTPUT/PlatInitPei.efi'] : error 7000: Failed to generate firmware image build.py... : error 7000: Failed to execute command GenFds -f /work/git/edk2-platforms/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf --conf=/work/git/edk2/Conf -o /work/git/edk2/Build/Overdrive/RELEASE_GCC5 -t GCC5 -b RELEASE -p /work/git/edk2-platforms/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc -a AARCH64 -D "EFI_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D "EDK_SOURCE=/work/git/edk2/EdkCompatibilityPkg" -D "TOOL_CHAIN_TAG=GCC5" -D "TOOLCHAIN=GCC5" -D "TARGET=RELEASE" -D "FAMILY=GCC" -D "WORKSPACE=/work/git/edk2" -D "FIRMWARE_VER=b941c34" -D "EDK_TOOLS_PATH=/work/git/edk2/BaseTools" -D "ARCH=AARCH64" -D "ECP_SOURCE=/work/git/edk2/EdkCompatibilityPkg" [/work/git/edk2] - Failed - --- Again, resolved by ln -s edk2-platforms/Silicon/AMD/StyxPkg/ Build/Overdrive/RELEASE_GCC5/AARCH64/ Am I doing something wrong here? Are there any magic runes that could help out? / Leif On Fri, May 05, 2017 at 01:45:51PM +, Yao, Jiewen wrote: > HI Leif > It is great that you are adding more platform to edk2-platforms. > > We (Intel) also have plan to add more boards there. In general, we are very > close on having silicon and platform folder. > > I have a quick look. One minor suggestions here: > Take Arm folder as example. (I assume Juno is one package, and VExpress is > the other package.) > Can we name Juno to be JunoPkg, and VExpress to be VExpressPkg ? > We do not add "Pkg" to a folder. And we usually add "Pkg" suffix to a package. > > In general, I think it is a very good start. > I may review the content in more detail and provide more feedback. > > > Thank you > Yao Jiewen > > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Leif > Lindholm > Sent: Thursday, May 4, 2017 6:56 AM > To: edk2-devel@lists.01.org > Cc: Ryan Harkin ; Ard Biesheuvel > ; Chenhui Sun ; Andrew > Fish ; Alan Ott ; Richardso
Re: [edk2] HTTPS boot support questions
Hi Jiaxin, Thanks for the clarification. Regards, Naveen -Original Message- From: Wu, Jiaxin [mailto:jiaxin...@intel.com] Sent: Wednesday, June 07, 2017 1:14 PM To: Santhapur Naveen; edk2-devel@lists.01.org Subject: RE: HTTPS boot support questions Naveen, I mean the WinPE/Windows 10 OS can't be installed via UEFI HTTP(S) feature. Currently, I only verified the ISO image is SUSE SLES. Thanks, Jiaxin > -Original Message- > From: Santhapur Naveen [mailto:nave...@amiindia.co.in] > Sent: Wednesday, June 7, 2017 3:29 PM > To: Santhapur Naveen ; Wu, Jiaxin > ; edk2-devel@lists.01.org > Subject: RE: HTTPS boot support questions > > Hi Jiaxin, > > For #2, you meant server for HTTPS can't be configured in Windows > alone or the OS can't be installed over HTTPS? I don't think the > latter is valid. Please clarify. > > Thanks, > Naveen > > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Santhapur Naveen > Sent: Wednesday, June 07, 2017 12:43 PM > To: Wu, Jiaxin; edk2-devel@lists.01.org > Subject: Re: [edk2] HTTPS boot support questions > > Hi Jiaxin, > > Thanks for your comments. > > Regards, > Naveen > > -Original Message- > From: Wu, Jiaxin [mailto:jiaxin...@intel.com] > Sent: Wednesday, June 07, 2017 12:41 PM > To: Santhapur Naveen; edk2-devel@lists.01.org > Subject: RE: HTTPS boot support questions > > Hi Naveen, > > For your question: > #1: Yes, HTTPS Boot can work with port 80, but you have to close any > possible website may be using the same port. > > #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 > OS installation. > > #3: Yes, secure boot feature is not related to HTTPS boot. You can > finish the download process no matter secure boot enabled or not. But > the download image must be signed to continue the execution. > > Thanks, > Jiaxin > > > > > -Original Message- > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf > > Of Santhapur Naveen > > Sent: Wednesday, June 7, 2017 12:11 PM > > To: edk2-devel@lists.01.org > > Subject: [edk2] HTTPS boot support questions > > > > Hello, > > > > I have some questions regarding HTTPS Boot and are as below. > > > > 1. If I'm using iPXE port 80 to communicate with server because of > > firewall concern. Does https boot happen via the same 80 port? > > 2. Does it support WinPE/Windows 10 OS installation? If yes, is > > there any open document available to achieve the same? > > 3. Does it support network boot without disabling secure boot OS? > > > > Thanks in advance, > > Naveen > > ___ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > This e-mail is intended for the use of the addressee only and may > contain privileged, confidential, or proprietary information that is > exempt from disclosure under law. If you have received this message in > error, please inform us promptly by reply e-mail, then delete the > e-mail and destroy any printed copy. Thank you. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Fix the bug use same FMP_PAYLOAD in different capsule file
Reviewed-by: Liming Gao >-Original Message- >From: Zhu, Yonghong >Sent: Tuesday, June 06, 2017 9:52 PM >To: edk2-devel@lists.01.org >Cc: Gao, Liming >Subject: [Patch] BaseTools: Fix the bug use same FMP_PAYLOAD in different >capsule file > >Fix the bug that use same FMP_PAYLOAD in different capsule file. Because >in previous FMP generation, the FMP already be generated, so we don't >need to regenerate again. > >Cc: Liming Gao >Contributed-under: TianoCore Contribution Agreement 1.0 >Signed-off-by: Yonghong Zhu >--- > BaseTools/Source/Python/GenFds/Capsule.py | 15 ++- > BaseTools/Source/Python/GenFds/CapsuleData.py | 3 +++ > 2 files changed, 13 insertions(+), 5 deletions(-) > >diff --git a/BaseTools/Source/Python/GenFds/Capsule.py >b/BaseTools/Source/Python/GenFds/Capsule.py >index d025f0c..e03d789 100644 >--- a/BaseTools/Source/Python/GenFds/Capsule.py >+++ b/BaseTools/Source/Python/GenFds/Capsule.py >@@ -1,9 +1,9 @@ > ## @file > # generate capsule > # >-# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved. >+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved. > # > # This program and the accompanying materials > # are licensed and made available under the terms and conditions of the BSD >License > # which accompanies this distribution. The full text of the license may be >found at > # http://opensource.org/licenses/bsd-license.php >@@ -139,10 +139,15 @@ class Capsule (CapsuleClassObject) : > PreSize += os.path.getsize(FileName) > File = open(FileName, 'rb') > Content.write(File.read()) > File.close() > for fmp in self.FmpPayloadList: >+if fmp.Existed: >+FwMgrHdr.write(pack('=Q', PreSize)) >+PreSize += len(fmp.Buffer) >+Content.write(fmp.Buffer) >+continue > if fmp.ImageFile: > for Obj in fmp.ImageFile: > fmp.ImageFile = Obj.GenCapsuleSubItem() > if fmp.VendorCodeFile: > for Obj in fmp.VendorCodeFile: >@@ -167,16 +172,16 @@ class Capsule (CapsuleClassObject) : > dwLength = 4 + 2 + 2 + 16 + os.path.getsize(CapOutputTmp) > - >os.path.getsize(CapInputFile) > else: > dwLength = 4 + 2 + 2 + 16 + 16 + 256 + 256 > fmp.ImageFile = CapOutputTmp > AuthData = [fmp.MonotonicCount, dwLength, WIN_CERT_REVISION, >WIN_CERT_TYPE_EFI_GUID, fmp.Certificate_Guid] >-Buffer = fmp.GenCapsuleSubItem(AuthData) >+fmp.Buffer = fmp.GenCapsuleSubItem(AuthData) > else: >-Buffer = fmp.GenCapsuleSubItem() >+fmp.Buffer = fmp.GenCapsuleSubItem() > FwMgrHdr.write(pack('=Q', PreSize)) >-PreSize += len(Buffer) >-Content.write(Buffer) >+PreSize += len(fmp.Buffer) >+Content.write(fmp.Buffer) > BodySize = len(FwMgrHdr.getvalue()) + len(Content.getvalue()) > Header.write(pack('=I', HdrSize + BodySize)) > # > # The real capsule header structure is 28 bytes > # >diff --git a/BaseTools/Source/Python/GenFds/CapsuleData.py >b/BaseTools/Source/Python/GenFds/CapsuleData.py >index 24c210d..5b806d9 100644 >--- a/BaseTools/Source/Python/GenFds/CapsuleData.py >+++ b/BaseTools/Source/Python/GenFds/CapsuleData.py >@@ -181,10 +181,12 @@ class CapsulePayload(CapsuleData): > self.HardwareInstance = None > self.ImageFile = [] > self.VendorCodeFile = [] > self.Certificate_Guid = None > self.MonotonicCount = None >+self.Existed = False >+self.Buffer = None > > def GenCapsuleSubItem(self, AuthData=[]): > if not self.Version: > self.Version = '0x0002' > if not self.ImageIndex: >@@ -237,6 +239,7 @@ class CapsulePayload(CapsuleData): > ImageFile.close() > if self.VendorCodeFile: > VendorFile = open(self.VendorCodeFile, 'rb') > Buffer += VendorFile.read() > VendorFile.close() >+self.Existed = True > return Buffer >-- >2.6.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] HTTPS boot support questions
Naveen, I mean the WinPE/Windows 10 OS can't be installed via UEFI HTTP(S) feature. Currently, I only verified the ISO image is SUSE SLES. Thanks, Jiaxin > -Original Message- > From: Santhapur Naveen [mailto:nave...@amiindia.co.in] > Sent: Wednesday, June 7, 2017 3:29 PM > To: Santhapur Naveen ; Wu, Jiaxin > ; edk2-devel@lists.01.org > Subject: RE: HTTPS boot support questions > > Hi Jiaxin, > > For #2, you meant server for HTTPS can't be configured in Windows alone or > the OS can't be installed over HTTPS? I don't think the latter is valid. > Please > clarify. > > Thanks, > Naveen > > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Santhapur Naveen > Sent: Wednesday, June 07, 2017 12:43 PM > To: Wu, Jiaxin; edk2-devel@lists.01.org > Subject: Re: [edk2] HTTPS boot support questions > > Hi Jiaxin, > > Thanks for your comments. > > Regards, > Naveen > > -Original Message- > From: Wu, Jiaxin [mailto:jiaxin...@intel.com] > Sent: Wednesday, June 07, 2017 12:41 PM > To: Santhapur Naveen; edk2-devel@lists.01.org > Subject: RE: HTTPS boot support questions > > Hi Naveen, > > For your question: > #1: Yes, HTTPS Boot can work with port 80, but you have to close any possible > website may be using the same port. > > #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS > installation. > > #3: Yes, secure boot feature is not related to HTTPS boot. You can finish the > download process no matter secure boot enabled or not. But the download > image must be signed to continue the execution. > > Thanks, > Jiaxin > > > > > -Original Message- > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > > Santhapur Naveen > > Sent: Wednesday, June 7, 2017 12:11 PM > > To: edk2-devel@lists.01.org > > Subject: [edk2] HTTPS boot support questions > > > > Hello, > > > > I have some questions regarding HTTPS Boot and are as below. > > > > 1. If I'm using iPXE port 80 to communicate with server because of > > firewall concern. Does https boot happen via the same 80 port? > > 2. Does it support WinPE/Windows 10 OS installation? If yes, is there > > any open document available to achieve the same? > > 3. Does it support network boot without disabling secure boot OS? > > > > Thanks in advance, > > Naveen > > ___ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > This e-mail is intended for the use of the addressee only and may contain > privileged, confidential, or proprietary information that is exempt from > disclosure under law. If you have received this message in error, please > inform us promptly by reply e-mail, then delete the e-mail and destroy any > printed copy. Thank you. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] HTTPS boot support questions
Hi Jiaxin, For #2, you meant server for HTTPS can't be configured in Windows alone or the OS can't be installed over HTTPS? I don't think the latter is valid. Please clarify. Thanks, Naveen -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Santhapur Naveen Sent: Wednesday, June 07, 2017 12:43 PM To: Wu, Jiaxin; edk2-devel@lists.01.org Subject: Re: [edk2] HTTPS boot support questions Hi Jiaxin, Thanks for your comments. Regards, Naveen -Original Message- From: Wu, Jiaxin [mailto:jiaxin...@intel.com] Sent: Wednesday, June 07, 2017 12:41 PM To: Santhapur Naveen; edk2-devel@lists.01.org Subject: RE: HTTPS boot support questions Hi Naveen, For your question: #1: Yes, HTTPS Boot can work with port 80, but you have to close any possible website may be using the same port. #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS installation. #3: Yes, secure boot feature is not related to HTTPS boot. You can finish the download process no matter secure boot enabled or not. But the download image must be signed to continue the execution. Thanks, Jiaxin > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Santhapur Naveen > Sent: Wednesday, June 7, 2017 12:11 PM > To: edk2-devel@lists.01.org > Subject: [edk2] HTTPS boot support questions > > Hello, > > I have some questions regarding HTTPS Boot and are as below. > > 1. If I'm using iPXE port 80 to communicate with server because of > firewall concern. Does https boot happen via the same 80 port? > 2. Does it support WinPE/Windows 10 OS installation? If yes, is there > any open document available to achieve the same? > 3. Does it support network boot without disabling secure boot OS? > > Thanks in advance, > Naveen > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel This e-mail is intended for the use of the addressee only and may contain privileged, confidential, or proprietary information that is exempt from disclosure under law. If you have received this message in error, please inform us promptly by reply e-mail, then delete the e-mail and destroy any printed copy. Thank you. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] HTTPS boot support questions
Hi Jiaxin, Thanks for your comments. Regards, Naveen -Original Message- From: Wu, Jiaxin [mailto:jiaxin...@intel.com] Sent: Wednesday, June 07, 2017 12:41 PM To: Santhapur Naveen; edk2-devel@lists.01.org Subject: RE: HTTPS boot support questions Hi Naveen, For your question: #1: Yes, HTTPS Boot can work with port 80, but you have to close any possible website may be using the same port. #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS installation. #3: Yes, secure boot feature is not related to HTTPS boot. You can finish the download process no matter secure boot enabled or not. But the download image must be signed to continue the execution. Thanks, Jiaxin > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Santhapur Naveen > Sent: Wednesday, June 7, 2017 12:11 PM > To: edk2-devel@lists.01.org > Subject: [edk2] HTTPS boot support questions > > Hello, > > I have some questions regarding HTTPS Boot and are as below. > > 1. If I'm using iPXE port 80 to communicate with server because of > firewall concern. Does https boot happen via the same 80 port? > 2. Does it support WinPE/Windows 10 OS installation? If yes, is there > any open document available to achieve the same? > 3. Does it support network boot without disabling secure boot OS? > > Thanks in advance, > Naveen > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] HTTPS boot support questions
Hi Naveen, For your question: #1: Yes, HTTPS Boot can work with port 80, but you have to close any possible website may be using the same port. #2: No, AFAIK, currently, HTTP(S) can't co-work with WinPE/Windows 10 OS installation. #3: Yes, secure boot feature is not related to HTTPS boot. You can finish the download process no matter secure boot enabled or not. But the download image must be signed to continue the execution. Thanks, Jiaxin > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Santhapur Naveen > Sent: Wednesday, June 7, 2017 12:11 PM > To: edk2-devel@lists.01.org > Subject: [edk2] HTTPS boot support questions > > Hello, > > I have some questions regarding HTTPS Boot and are as below. > > 1. If I'm using iPXE port 80 to communicate with server because of firewall > concern. Does https boot happen via the same 80 port? > 2. Does it support WinPE/Windows 10 OS installation? If yes, is there any > open document available to achieve the same? > 3. Does it support network boot without disabling secure boot OS? > > Thanks in advance, > Naveen > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] MdePkg: update head files to meet UEFI 2.7
Reviewed-by: Ye Ting -Original Message- From: Wang, Fan Sent: Tuesday, June 06, 2017 6:52 PM To: edk2-devel@lists.01.org Cc: Ye, Ting ; Fu, Siyuan ; Wang, Fan Subject: [Patch] MdePkg: update head files to meet UEFI 2.7 This patch is used to update supplicant.h and wifi2.h to meet UEFI 2.7 definition. Add EfiSupplicant80211PMK field in EFI_SUPPLICANT_DATA_TYPE and change **NetworkDesc to NetworkDesc[1] in EFI_80211_GET_NETWORKS_RESULT. Cc: Ye Ting Cc: Fu Siyuan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wang Fan --- MdePkg/Include/Protocol/Supplicant.h | 6 +- MdePkg/Include/Protocol/WiFi2.h | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/MdePkg/Include/Protocol/Supplicant.h b/MdePkg/Include/Protocol/Supplicant.h index 37e4c7e..2d7eed6 100644 --- a/MdePkg/Include/Protocol/Supplicant.h +++ b/MdePkg/Include/Protocol/Supplicant.h @@ -1,9 +1,9 @@ /** @file This file defines the EFI Supplicant Protocol. - Copyright (c) 2016, Intel Corporation. All rights reserved. + Copyright (c) 2017, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php @@ -150,10 +150,14 @@ typedef enum { // // 802.11 Integrity GTK. The corresponding Data is of type // EFI_SUPPLICANT_GTK_LIST. // EfiSupplicant80211IGTK, + // + // 802.11 PMK. The corresponding Data is 32 bytes pairwise master key. + // + EfiSupplicant80211PMK, EfiSupplicantDataTypeMaximum } EFI_SUPPLICANT_DATA_TYPE; /// /// EFI_80211_LINK_STATE diff --git a/MdePkg/Include/Protocol/WiFi2.h b/MdePkg/Include/Protocol/WiFi2.h index fc4da5c..e370059 100644 --- a/MdePkg/Include/Protocol/WiFi2.h +++ b/MdePkg/Include/Protocol/WiFi2.h @@ -1,9 +1,9 @@ /** @file This file defines the EFI Wireless MAC Connection II Protocol. - Copyright (c) 2016, Intel Corporation. All rights reserved. + Copyright (c) 2017, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php @@ -200,11 +200,11 @@ typedef struct { UINT8 NumOfNetworkDesc; // // The NetworkDesc is a pointer to an array of EFI_80211_NETWORK_DESCRIPTION // instances. It is caller's responsibility to free this buffer. // - EFI_80211_NETWORK_DESCRIPTION **NetworkDesc; + EFI_80211_NETWORK_DESCRIPTION NetworkDesc[1]; } EFI_80211_GET_NETWORKS_RESULT; /// /// EFI_80211_GET_NETWORKS_TOKEN /// -- 1.9.5.msysgit.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel