public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Set Firmware Version from build command line
@ 2023-04-13 15:32 Oliver Steffen
  2023-04-13 15:32 ` [PATCH v3 1/2] OvmfPkg: allow setting " Oliver Steffen
  2023-04-13 15:32 ` [PATCH v3 2/2] ArmVirtPkg: " Oliver Steffen
  0 siblings, 2 replies; 3+ messages in thread
From: Oliver Steffen @ 2023-04-13 15:32 UTC (permalink / raw)
  To: devel
  Cc: Anthony Perard, Ard Biesheuvel, Gerd Hoffmann, Jiewen Yao,
	Jordan Justen, Julien Grall, Leif Lindholm, Ray Ni, Sami Mujawar,
	Zhichao Gao, Oliver Steffen

ArmVirtXen.dsc allows setting the firmware version
string in gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
via FIRMWARE_VER variable conveniently on the build command line.

These two patches add this behavior to all .dsc files in ArmVirtPkg
and OvmfPkg.

PR: https://github.com/tianocore/edk2/pull/4268

v3:
- Introduce common include file for OVMF .dsc files

v2:
Address comments by Sami and Gerd:
- Only set PCD if FIRMWARE_VER is defined
- ArmVirt: move logic to ArmVirt.dsc.inc
https://edk2.groups.io/g/devel/message/95208

v1:
https://edk2.groups.io/g/devel/message/95057

Oliver Steffen (2):
  OvmfPkg: allow setting Firmware Version from build command line
  ArmVirtPkg: allow setting Firmware Version from build command line

 ArmVirtPkg/ArmVirt.dsc.inc          | 4 ++++
 OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc | 9 +++++++++
 ArmVirtPkg/ArmVirtXen.dsc           | 1 -
 OvmfPkg/OvmfPkgIa32.dsc             | 3 +++
 OvmfPkg/OvmfPkgIa32X64.dsc          | 3 +++
 OvmfPkg/OvmfPkgX64.dsc              | 5 ++++-
 OvmfPkg/OvmfXen.dsc                 | 3 +++
 7 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc

-- 
2.40.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v3 1/2] OvmfPkg: allow setting Firmware Version from build command line
  2023-04-13 15:32 [PATCH v3 0/2] Set Firmware Version from build command line Oliver Steffen
@ 2023-04-13 15:32 ` Oliver Steffen
  2023-04-13 15:32 ` [PATCH v3 2/2] ArmVirtPkg: " Oliver Steffen
  1 sibling, 0 replies; 3+ messages in thread
From: Oliver Steffen @ 2023-04-13 15:32 UTC (permalink / raw)
  To: devel
  Cc: Anthony Perard, Ard Biesheuvel, Gerd Hoffmann, Jiewen Yao,
	Jordan Justen, Julien Grall, Leif Lindholm, Ray Ni, Sami Mujawar,
	Zhichao Gao, Oliver Steffen

Initialize gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString with
with the value of the variable "FIRMWARE_VER", if is is defined. Applies
to all flavors of OvmfPkg.

This behavior is already implemented in ArmVirtXen.dsc. It allows
specifying the firmware version string on the build command line with
-D FIRMARE_VER=...

Introduce a common include file to be used in the .dsc files for the
different OVMF flavors, and add the changes there.  (ArmVirtPkg already
has such a file).

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
---
 OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc | 9 +++++++++
 OvmfPkg/OvmfPkgIa32.dsc             | 3 +++
 OvmfPkg/OvmfPkgIa32X64.dsc          | 3 +++
 OvmfPkg/OvmfPkgX64.dsc              | 5 ++++-
 OvmfPkg/OvmfXen.dsc                 | 3 +++
 5 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc

diff --git a/OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc b/OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
new file mode 100644
index 000000000000..f0bc73ede3df
--- /dev/null
+++ b/OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
@@ -0,0 +1,9 @@
+##
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[PcdsFixedAtBuild.common]
+!ifdef $(FIRMWARE_VER)
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
+!endif
+
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 86177bb94899..76f0d23a2648 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -488,6 +488,9 @@ [PcdsFeatureFlag]
 !endif
 
 [PcdsFixedAtBuild]
+!ifdef $(FIRMWARE_VER)
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
+!endif
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
 !if $(SMM_REQUIRE) == FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 065b54450647..e10db29ce6f6 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -494,6 +494,9 @@ [PcdsFeatureFlag]
 !endif
 
 [PcdsFixedAtBuild]
+!ifdef $(FIRMWARE_VER)
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
+!endif
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
 !if $(SMM_REQUIRE) == FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 3d405cd4ade0..4afbbe1f0d2f 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -84,6 +84,8 @@ [Defines]
   DEFINE UP_CPU_PEI_GUID  = 280251c4-1d09-4035-9062-839acb5f18c1
   DEFINE UP_CPU_DXE_GUID  = 6490f1c5-ebcc-4665-8892-0075b9bb49b7
 
+!include OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
+
 [BuildOptions]
   GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
   INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
@@ -514,7 +516,8 @@ [PcdsFeatureFlag]
   gEfiMdeModulePkgTokenSpaceGuid.PcdRequireSelfSignedPk|TRUE
 !endif
 
-[PcdsFixedAtBuild]
+
+[PcdsFixedAtBuild.X64]
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
 !if $(SMM_REQUIRE) == FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
index 8bfc16c2d3d6..c6e96a9c14e0 100644
--- a/OvmfPkg/OvmfXen.dsc
+++ b/OvmfPkg/OvmfXen.dsc
@@ -364,6 +364,9 @@ [PcdsFeatureFlag]
 !endif
 
 [PcdsFixedAtBuild]
+!ifdef $(FIRMWARE_VER)
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
+!endif
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
-- 
2.40.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v3 2/2] ArmVirtPkg: allow setting Firmware Version from build command line
  2023-04-13 15:32 [PATCH v3 0/2] Set Firmware Version from build command line Oliver Steffen
  2023-04-13 15:32 ` [PATCH v3 1/2] OvmfPkg: allow setting " Oliver Steffen
@ 2023-04-13 15:32 ` Oliver Steffen
  1 sibling, 0 replies; 3+ messages in thread
From: Oliver Steffen @ 2023-04-13 15:32 UTC (permalink / raw)
  To: devel
  Cc: Anthony Perard, Ard Biesheuvel, Gerd Hoffmann, Jiewen Yao,
	Jordan Justen, Julien Grall, Leif Lindholm, Ray Ni, Sami Mujawar,
	Zhichao Gao, Oliver Steffen

ArmVirtXen.dsc initializes
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString with with the
value of the variable "FIRMWARE_VER".

Move that functionality to ArmVirt.dsc.inc to make it available to all
ArmVirt packages, and make it conditional: only set the PCD string if
FIRMWARE_VER is actually defined.

This allows specifying the firmware version string on the build command
line with -D FIRMARE_VER=...

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
---
 ArmVirtPkg/ArmVirt.dsc.inc | 4 ++++
 ArmVirtPkg/ArmVirtXen.dsc  | 1 -
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 5b18184be263..2443e8351c99 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -282,6 +282,10 @@ [PcdsFeatureFlag.AARCH64]
   gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
 
 [PcdsFixedAtBuild.common]
+!ifdef $(FIRMWARE_VER)
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
+!endif
+
   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
   gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc
index 58088af6ea3a..a280ae203bae 100644
--- a/ArmVirtPkg/ArmVirtXen.dsc
+++ b/ArmVirtPkg/ArmVirtXen.dsc
@@ -69,7 +69,6 @@ [BuildOptions]
 ################################################################################
 
 [PcdsFixedAtBuild.common]
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
 !if $(ARCH) == AARCH64
   gArmTokenSpaceGuid.PcdVFPEnabled|1
 !endif
-- 
2.40.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-04-13 15:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13 15:32 [PATCH v3 0/2] Set Firmware Version from build command line Oliver Steffen
2023-04-13 15:32 ` [PATCH v3 1/2] OvmfPkg: allow setting " Oliver Steffen
2023-04-13 15:32 ` [PATCH v3 2/2] ArmVirtPkg: " Oliver Steffen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox