On Tue, Dec 12, 2017 at 10:38:01AM +0000, Ard Biesheuvel wrote:
> Expose the contents of the .DSC macro BUILD_NUMBER via the
> PCD gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString (if > 1),
> and as the FMP system firmware version (for capsule update).
> 
> Also, set the firmware vendor to 'Linaro Enterprise Group', to
> distinguish our builds from builds by other parties.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
>  Platform/Socionext/DeveloperBox/DeveloperBox.dsc                             
>                      | 8 +++++++-
>  
> Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
>              | 1 +
>  
> Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
>        | 6 ++++--
>  Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc                 
>                      | 8 +++++++-
>  
> Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
>        | 1 +
>  
> Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
>  | 6 ++++--
>  6 files changed, 24 insertions(+), 6 deletions(-)
> 
> diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc 
> b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
> index 8fbd7b2d908f..5ec26f9cdd34 100644
> --- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
> +++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
> @@ -26,6 +26,7 @@ [Defines]
>    BUILD_TARGETS                  = DEBUG|RELEASE
>    SKUID_IDENTIFIER               = DEFAULT
>    FLASH_DEFINITION               = 
> Platform/Socionext/DeveloperBox/DeveloperBox.fdf
> +  BUILD_NUMBER                   = 1
>  
>  [BuildOptions]
>    RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG -U_FORTIFY_SOURCE 
> -D_FORTIFY_SOURCE=0
> @@ -222,7 +223,7 @@ [PcdsFeatureFlag]
>    gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
>  
>  [PcdsFixedAtBuild.common]
> -  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Linaro"
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"Linaro Enterprise Group"

Actually, could you just delete this Pcd and let it fall back to the
default value of "EDK II"?

/
    Leif

>  
>    # non-secure SRAM
>    gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000
> @@ -384,6 +385,11 @@ [PcdsFixedAtBuild.common]
>    # set DIP switch DSW3-PIN1 (GPIO pin PD[0] on the SoC) to clear the 
> varstore
>    gSynQuacerTokenSpaceGuid.PcdClearSettingsGpioPin|0
>  
> +!if $(BUILD_NUMBER) > 1
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(BUILD_NUMBER)"
> +!endif
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|$(BUILD_NUMBER)
> +
>  [PcdsPatchableInModule]
>    gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
>    gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
> diff --git 
> a/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
>  
> b/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> index f5272c0f0d37..95a5e482a713 100644
> --- 
> a/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> +++ 
> b/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> @@ -38,6 +38,7 @@ [LibraryClasses]
>  
>  [FixedPcd]
>    gArmTokenSpaceGuid.PcdFdSize
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision
>  
>  [Pcd]
>    gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor
> diff --git 
> a/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
>  
> b/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> index bc47e696da7a..fb69de078313 100644
> --- 
> a/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> +++ 
> b/Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> @@ -21,8 +21,10 @@
>  #define PACKAGE_VERSION                     0xFFFFFFFF
>  #define PACKAGE_VERSION_STRING              L"Unknown"
>  
> -#define CURRENT_FIRMWARE_VERSION            0x00000001
> -#define CURRENT_FIRMWARE_VERSION_STRING     L"0x00000001"
> +#define __BUILD_STRING(x)                   L ## #x
> +#define BUILD_STRING(x)                     L"build #" __BUILD_STRING(x)
> +#define CURRENT_FIRMWARE_VERSION            FixedPcdGet32 
> (PcdFirmwareRevision)
> +#define CURRENT_FIRMWARE_VERSION_STRING     BUILD_STRING (FixedPcdGet32 
> (PcdFirmwareRevision))
>  #define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x00000001
>  
>  #define IMAGE_ID                            SIGNATURE_64('S', 'N', 'D', 'E', 
> 'V', 'B', 'O', 'X')
> diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc 
> b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
> index 895d3b09fdc9..bc8ddd452d4b 100644
> --- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
> +++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
> @@ -26,6 +26,7 @@ [Defines]
>    BUILD_TARGETS                  = DEBUG|RELEASE
>    SKUID_IDENTIFIER               = DEFAULT
>    FLASH_DEFINITION               = 
> Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf
> +  BUILD_NUMBER                   = 1
>  
>  [BuildOptions]
>    RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG -U_FORTIFY_SOURCE 
> -D_FORTIFY_SOURCE=0
> @@ -214,7 +215,7 @@ [PcdsFeatureFlag]
>    gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
>  
>  [PcdsFixedAtBuild.common]
> -  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Linaro"
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"Linaro Enterprise Group"
>  
>    # non-secure SRAM
>    gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000
> @@ -372,6 +373,11 @@ [PcdsFixedAtBuild.common]
>    # set DIP switch DSW3-PIN1 (GPIO pin PD[0] on the SoC) to clear the 
> varstore
>    gSynQuacerTokenSpaceGuid.PcdClearSettingsGpioPin|0
>  
> +!if $(BUILD_NUMBER) > 1
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(BUILD_NUMBER)"
> +!endif
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|$(BUILD_NUMBER)
> +
>  [PcdsPatchableInModule]
>    gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
>    gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
> diff --git 
> a/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
>  
> b/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> index f5272c0f0d37..95a5e482a713 100644
> --- 
> a/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> +++ 
> b/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
> @@ -38,6 +38,7 @@ [LibraryClasses]
>  
>  [FixedPcd]
>    gArmTokenSpaceGuid.PcdFdSize
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision
>  
>  [Pcd]
>    gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor
> diff --git 
> a/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
>  
> b/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> index 3413f76f95c7..daf26c79dff1 100644
> --- 
> a/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> +++ 
> b/Platform/Socionext/SynQuacerEvalBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptorTable.aslc
> @@ -21,8 +21,10 @@
>  #define PACKAGE_VERSION                     0xFFFFFFFF
>  #define PACKAGE_VERSION_STRING              L"Unknown"
>  
> -#define CURRENT_FIRMWARE_VERSION            0x00000001
> -#define CURRENT_FIRMWARE_VERSION_STRING     L"0x00000001"
> +#define __BUILD_STRING(x)                   L ## #x
> +#define BUILD_STRING(x)                     L"build #" __BUILD_STRING(x)
> +#define CURRENT_FIRMWARE_VERSION            FixedPcdGet32 
> (PcdFirmwareRevision)
> +#define CURRENT_FIRMWARE_VERSION_STRING     BUILD_STRING (FixedPcdGet32 
> (PcdFirmwareRevision))
>  #define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x00000001
>  
>  #define IMAGE_ID                            SIGNATURE_64('S', 'N', 'I', 'S', 
> 'Y', 'N', 'Q', 'U')
> -- 
> 2.11.0
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to