Hi Mike
Yes you are right. This is a work-around for current tool limitation.
We can remove such limitation after the tool has solution.

I will update the recovery file name to make it more readable.

Thank you
Yao Jiewen

From: Kinney, Michael D
Sent: Thursday, September 29, 2016 9:01 AM
To: Yao, Jiewen <[email protected]>; [email protected]; Kinney, 
Michael D <[email protected]>
Cc: Steele, Kelly <[email protected]>; Tian, Feng <[email protected]>; 
Zeng, Star <[email protected]>; Gao, Liming <[email protected]>; Zhang, 
Chao B <[email protected]>
Subject: RE: [PATCH 37/45] QuarkPlatformPkg/dsc/fdf: add capsule generation 
DSC/FDF.

Jiewen,

This DSC/FDF generates a build failure for me from GenFds.
I have entered a BaseTools bug into Bugzilla

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

There is a workaround to create the file that is missing
GenFds can work, so I was able to generate a Capsule
Image for FW update and saw it work.

My other major feedback on this DSC/FDF file is why this
Content was not added to Quark DSC/FDF with #ifdef for
RECOVERY_ENABLE and CAPSULE_ENABLE flags?

Is the [Capsule.BiosCapsuleFmpRsa2048] section really
the recovery image?  Can we use Recovery in the name
instead of Capsule?

Thanks,

Mike

> -----Original Message-----
> From: Yao, Jiewen
> Sent: Tuesday, September 20, 2016 11:45 PM
> To: [email protected]<mailto:[email protected]>
> Cc: Kinney, Michael D 
> <[email protected]<mailto:[email protected]>>; Steele, Kelly
> <[email protected]<mailto:[email protected]>>; Tian, Feng 
> <[email protected]<mailto:[email protected]>>; Zeng, Star
> <[email protected]<mailto:[email protected]>>; Gao, Liming 
> <[email protected]<mailto:[email protected]>>; Zhang, Chao B
> <[email protected]<mailto:[email protected]>>
> Subject: [PATCH 37/45] QuarkPlatformPkg/dsc/fdf: add capsule generation 
> DSC/FDF.
>
> Add DSC/FDF to generate capsule image.
> It is separated from normal DSC/FDF, because the FDF file need use
> the result of final build.
>
> Cc: Michael D Kinney 
> <[email protected]<mailto:[email protected]>>
> Cc: Kelly Steele <[email protected]<mailto:[email protected]>>
> Cc: Feng Tian <[email protected]<mailto:[email protected]>>
> Cc: Star Zeng <[email protected]<mailto:[email protected]>>
> Cc: Liming Gao <[email protected]<mailto:[email protected]>>
> Cc: Chao Zhang <[email protected]<mailto:[email protected]>>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Jiewen Yao <[email protected]<mailto:[email protected]>>
> ---
>  QuarkPlatformPkg/QuarkCapsule.dsc | 44 +++++++++++
>  QuarkPlatformPkg/QuarkCapsule.fdf | 82 ++++++++++++++++++++
>  2 files changed, 126 insertions(+)
>
> diff --git a/QuarkPlatformPkg/QuarkCapsule.dsc 
> b/QuarkPlatformPkg/QuarkCapsule.dsc
> new file mode 100644
> index 0000000..3785cbd
> --- /dev/null
> +++ b/QuarkPlatformPkg/QuarkCapsule.dsc
> @@ -0,0 +1,44 @@
> +## @file
> +# Clanton Peak CRB platform with 32-bit DXE for 4MB/8MB flash devices.
> +#
> +# This package provides Clanton Peak CRB platform specific capsule.
> +# Copyright (c) 2016 Intel Corporation.
> +#
> +# 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                  = Quark
> +  PLATFORM_GUID                  = 3B9F8782-0799-450C-ACB3-2D8F4504810F
> +  PLATFORM_VERSION               = 0.1
> +  FLASH_DEFINITION               = QuarkPlatformPkg/QuarkCapsule.fdf
> +  OUTPUT_DIRECTORY               = Build/Quark
> +  SUPPORTED_ARCHITECTURES        = IA32
> +  BUILD_TARGETS                  = DEBUG|RELEASE
> +  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, 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.
> +#
> +######################################################################################
> #############
> diff --git a/QuarkPlatformPkg/QuarkCapsule.fdf 
> b/QuarkPlatformPkg/QuarkCapsule.fdf
> new file mode 100644
> index 0000000..d9dac51
> --- /dev/null
> +++ b/QuarkPlatformPkg/QuarkCapsule.fdf
> @@ -0,0 +1,82 @@
> +## @file
> +# FDF file of Clanton Peak CRB platform with 32-bit DXE
> +#
> +# This package provides QuarkNcSocId platform specific capsule.
> +# Copyright (c) 2016 Intel Corporation.
> +#
> +# 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.
> +#
> +##
> +
> +[FV.BiosUpdateCargo]
> +FvAlignment        = 16
> +ERASE_POLARITY     = 1
> +MEMORY_MAPPED      = TRUE
> +STICKY_WRITE       = TRUE
> +LOCK_CAP           = TRUE
> +LOCK_STATUS        = TRUE
> +WRITE_DISABLED_CAP = TRUE
> +WRITE_ENABLED_CAP  = TRUE
> +WRITE_STATUS       = TRUE
> +WRITE_LOCK_CAP     = TRUE
> +WRITE_LOCK_STATUS  = TRUE
> +READ_DISABLED_CAP  = TRUE
> +READ_ENABLED_CAP   = TRUE
> +READ_STATUS        = TRUE
> +READ_LOCK_CAP      = TRUE
> +READ_LOCK_STATUS   = TRUE
> +
> +FILE RAW = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215 {
> +    $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/QUARK.fd
> +  }
> +
> +FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 {
> +    $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/CAPSULEDISPATCHFV.Fv
> +  }
> +
> +FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E {
> +    
> QuarkPlatformPkg/Feature/Capsule/SystemBiosUpdateConfig/SystemBiosUpdateConfig.ini
> +  }
> +
> +[FmpPayload.FmpPayloadBiosPkcs7]
> +IMAGE_HEADER_INIT_VERSION = 0x02
> +IMAGE_TYPE_ID             = 62af20c0-7016-424a-9bf8-9ccc86584090 # System 
> FMP special
> Guid (do not change it)
> +IMAGE_INDEX               = 0x1
> +HARDWARE_INSTANCE         = 0x0
> +MONOTONIC_COUNT           = 0x2
> +CERTIFICATE_GUID          = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7
> +
> +FILE DATA =
> $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/BIOSUPDATECARGO.Fv
> +
> +[FmpPayload.FmpPayloadBiosRsa2048]
> +IMAGE_HEADER_INIT_VERSION = 0x02
> +IMAGE_TYPE_ID             = 62af20c0-7016-424a-9bf8-9ccc86584090 # System 
> FMP special
> Guid (do not change it)
> +IMAGE_INDEX               = 0x1
> +HARDWARE_INSTANCE         = 0x0
> +MONOTONIC_COUNT           = 0x2
> +CERTIFICATE_GUID          = A7717414-C616-4977-9420-844712A735BF # 
> RSA2048SHA256
> +
> +FILE DATA =
> $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/BIOSUPDATECARGO.Fv
> +
> +[Capsule.BiosCapsuleFmpPkcs7]
> +CAPSULE_GUID                = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # FMP 
> special Guid
> (do not change it)
> +CAPSULE_FLAGS               = PersistAcrossReset,InitiateReset
> +CAPSULE_HEADER_SIZE         = 0x20
> +CAPSULE_HEADER_INIT_VERSION = 0x1
> +
> +FMP_PAYLOAD = FmpPayloadBiosPkcs7
> +
> +[Capsule.BiosCapsuleFmpRsa2048]
> +CAPSULE_GUID                = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # FMP 
> special Guid
> (do not change it)
> +CAPSULE_FLAGS               = PersistAcrossReset,InitiateReset
> +CAPSULE_HEADER_SIZE         = 0x20
> +CAPSULE_HEADER_INIT_VERSION = 0x1
> +
> +FMP_PAYLOAD = FmpPayloadBiosRsa2048
> +
> --
> 2.7.4.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to