all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v2 edk2-firmware] fix #4625: restore SMBIOS type 0 table defaults
@ 2023-03-30 11:01 Fiona Ebner
  2023-04-04 14:10 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Fiona Ebner @ 2023-03-30 11:01 UTC (permalink / raw)
  To: pve-devel

Commit 4cb94f20b0 ("OvmfPkg/SmbiosPlatformDxe: use PcdFirmware*") in
the edk2 submodule made the switch from hard coded values for the
SMBIOS type 0 table to using those defined in the PCD (Platform
Configuration Database). But this changed the value for the vendor
from "EFI Development Kit II / OVMF" to "EDK II" and made version and
release date "unknown". This can cause problems for hardware keys[0],
and the missing date can make Windows unhappy[1].

The PCD information can be specified during build. For the vendor,
just revert to the hardcoded value from before. This should be enough
to resolve the issue in [0]. For version and date, use sensible values
gathered from the build variables. The date format is mm/dd/yyyy while
the version is free-form according to [2], section 7.1.

[0]: https://bugzilla.proxmox.com/show_bug.cgi?id=4625
[1]: https://edk2.groups.io/g/devel/message/100922
[2]: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.2.0.pdf

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

Changes from v1:
    Based on the discussion in [3] and the fact that the user from bug
    #4625 reportet that it's enough to keep the vendor the same:
    * Add trailing null character to strings, just to be sure.
    * Set version and date to sensible values generated during build.
      This was the intention behind commit 4cb94f20b0 in the first
      place.

[3]: https://edk2.groups.io/g/devel/message/102164

 debian/rules | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/debian/rules b/debian/rules
index acd304d..43fa34e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,6 +37,12 @@ OVMF32_4M_SMM_FLAGS =  $(OVMF32_4M_FLAGS) -DSMM_REQUIRE=TRUE
 AAVMF_FLAGS  = $(COMMON_FLAGS) -DTPM2_CONFIG_ENABLE=TRUE
 AAVMF_FLAGS += -DCAVIUM_ERRATUM_27456=TRUE
 
+PCD_RELEASE_DATE = $(shell date -d@$(SOURCE_DATE_EPOCH) +%m/%d/%Y)
+
+PCD_OPTIONS  = --pcd PcdFirmwareVendor=L"EFI Development Kit II / OVMF\\0"
+PCD_OPTIONS += --pcd PcdFirmwareVersionString=L"$(DEB_VERSION_UPSTREAM_REVISION)\\0"
+PCD_OPTIONS += --pcd PcdFirmwareReleaseDateString=L"$(PCD_RELEASE_DATE)\\0"
+
 # Clear variables used internally by the edk2 build system
 undefine WORKSPACE
 undefine ECP_SOURCE
@@ -89,6 +95,7 @@ $(OVMF32_BINARIES) $(OVMF32_IMAGES): debian/setup-build-stamp
 		build -a IA32 \
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgIa32.dsc \
+			$(PCD_OPTIONS) \
 			$(OVMF32_4M_SMM_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF32_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF32_INSTALL_DIR)/OVMF32_CODE_4M.secboot.fd
@@ -103,6 +110,7 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
 		build -a X64 \
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgX64.dsc \
+			$(PCD_OPTIONS) \
 			$(OVMF_2M_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF_BUILD_DIR)/FV/OVMF.fd $(OVMF_INSTALL_DIR)/
@@ -112,6 +120,7 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
 		build -a IA32 -a X64 \
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgIa32X64.dsc \
+			$(PCD_OPTIONS) \
 			$(OVMF_4M_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF3264_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF_INSTALL_DIR)/OVMF_CODE_4M.fd
@@ -122,6 +131,7 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
 		build -a X64 \
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgX64.dsc \
+			$(PCD_OPTIONS) \
 			$(OVMF_2M_SMM_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF_INSTALL_DIR)/OVMF_CODE.secboot.fd
@@ -130,6 +140,7 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
 		build -a IA32 -a X64 \
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgIa32X64.dsc \
+			$(PCD_OPTIONS) \
 			$(OVMF_4M_SMM_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF3264_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF_INSTALL_DIR)/OVMF_CODE_4M.secboot.fd
-- 
2.30.2





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

* [pve-devel] applied: [PATCH v2 edk2-firmware] fix #4625: restore SMBIOS type 0 table defaults
  2023-03-30 11:01 [pve-devel] [PATCH v2 edk2-firmware] fix #4625: restore SMBIOS type 0 table defaults Fiona Ebner
@ 2023-04-04 14:10 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2023-04-04 14:10 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fiona Ebner

Am 30/03/2023 um 13:01 schrieb Fiona Ebner:
> Commit 4cb94f20b0 ("OvmfPkg/SmbiosPlatformDxe: use PcdFirmware*") in
> the edk2 submodule made the switch from hard coded values for the
> SMBIOS type 0 table to using those defined in the PCD (Platform
> Configuration Database). But this changed the value for the vendor
> from "EFI Development Kit II / OVMF" to "EDK II" and made version and
> release date "unknown". This can cause problems for hardware keys[0],
> and the missing date can make Windows unhappy[1].
> 
> The PCD information can be specified during build. For the vendor,
> just revert to the hardcoded value from before. This should be enough
> to resolve the issue in [0]. For version and date, use sensible values
> gathered from the build variables. The date format is mm/dd/yyyy while
> the version is free-form according to [2], section 7.1.
> 
> [0]: https://bugzilla.proxmox.com/show_bug.cgi?id=4625
> [1]: https://edk2.groups.io/g/devel/message/100922
> [2]: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.2.0.pdf
> 
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> 
> Changes from v1:
>     Based on the discussion in [3] and the fact that the user from bug
>     #4625 reportet that it's enough to keep the vendor the same:
>     * Add trailing null character to strings, just to be sure.
>     * Set version and date to sensible values generated during build.
>       This was the intention behind commit 4cb94f20b0 in the first
>       place.
> 
> [3]: https://edk2.groups.io/g/devel/message/102164
> 
>  debian/rules | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
>

applied, thanks!




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

end of thread, other threads:[~2023-04-04 14:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-30 11:01 [pve-devel] [PATCH v2 edk2-firmware] fix #4625: restore SMBIOS type 0 table defaults Fiona Ebner
2023-04-04 14:10 ` [pve-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal