From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id AB3B91FF168 for <inbox@lore.proxmox.com>; Tue, 18 Mar 2025 10:41:11 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id BA1B119E8E; Tue, 18 Mar 2025 10:40:59 +0100 (CET) Message-ID: <d0596f8e-6d03-499c-9bda-dcd1bb0dcf0d@proxmox.com> Date: Tue, 18 Mar 2025 10:40:53 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>, pve-devel@lists.proxmox.com References: <20250311150456.4071232-1-philipp.giersfeld@canarybit.eu> <20250311150456.4071232-2-philipp.giersfeld@canarybit.eu> From: Markus Frank <m.frank@proxmox.com> In-Reply-To: <20250311150456.4071232-2-philipp.giersfeld@canarybit.eu> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.009 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_SHORT 0.001 Use of a URL Shortener for very short URL RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [qemu.org, amd.com, proxmox.com] Subject: Re: [pve-devel] [PATCH edk2-firmware v4 1/4] Add OVMF targets for AMD SEV-ES and SEV-SNP X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> On 2025-03-11 16:04, Philipp Giersfeld wrote: > AMD SEV-SNP boots with a single volatile firmware image OVMF.fd via the > -bios option. > > This requires building the `OvmfPkg/OvmfPkgX64.dsc` target. > Also, SEV-ES and SEV-SNP do not support SMM [1,2]. > > Therefore, introduce a new target build-ovmf-cvm that builds OVMF > firmware suitable for AMD SEV. > > [1] https://www.qemu.org/docs/master/system/i386/amd-memory-encryption. > [2] https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf > > Signed-off-by: Philipp Giersfeld <philipp.giersfeld@canarybit.eu> > Tested-by: Markus Frank <m.frank@proxmox.com> I have not tested this version before (there have been some changes since v3/v2). But now I have. So the "Tested-by" can stay there. > --- > > changes since v3: https://lists.proxmox.com/pipermail/pve-devel/2025-February/068578.html > * Build SEV targets with secure boot support since edk2 has been > updated > > debian/pve-edk2-firmware-ovmf.install | 3 +++ > debian/rules | 28 +++++++++++++++++++++++++-- > 2 files changed, 29 insertions(+), 2 deletions(-) > > diff --git a/debian/pve-edk2-firmware-ovmf.install b/debian/pve-edk2-firmware-ovmf.install > index f4c0602..a51846e 100644 > --- a/debian/pve-edk2-firmware-ovmf.install > +++ b/debian/pve-edk2-firmware-ovmf.install > @@ -1,5 +1,8 @@ > debian/ovmf-install/OVMF_CODE*.fd /usr/share/pve-edk2-firmware > debian/ovmf-install/OVMF_VARS*.fd /usr/share/pve-edk2-firmware > +debian/ovmf-cvm-install/OVMF_CVM_CODE*.fd /usr/share/pve-edk2-firmware > +debian/ovmf-cvm-install/OVMF_CVM_VARS*.fd /usr/share/pve-edk2-firmware > +debian/ovmf-cvm-install/OVMF_CVM_4M.fd /usr/share/pve-edk2-firmware > debian/ovmf32-install/OVMF32_CODE*.fd /usr/share/pve-edk2-firmware > debian/ovmf32-install/OVMF32_VARS*.fd /usr/share/pve-edk2-firmware > debian/PkKek-1-snakeoil.* /usr/share/pve-edk2-firmware > diff --git a/debian/rules b/debian/rules > index 2e9365b..c52d4fb 100755 > --- a/debian/rules > +++ b/debian/rules > @@ -37,6 +37,7 @@ OVMF_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB > OVMF_4M_SMM_FLAGS = $(OVMF_4M_FLAGS) -DSMM_REQUIRE=TRUE > OVMF32_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB > OVMF32_4M_SMM_FLAGS = $(OVMF32_4M_FLAGS) -DSMM_REQUIRE=TRUE > +OVMF_CVM_4M_FLAGS = $(OVMF_4M_FLAGS) > > AAVMF_FLAGS = $(COMMON_FLAGS) > AAVMF_FLAGS += -DTPM2_ENABLE=TRUE > @@ -56,7 +57,7 @@ undefine CONF_PATH > %: > dh $@ > > -override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf build-ovmf32 build-qemu-efi-riscv64 > +override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf build-ovmf32 build-ovmf-cvm build-qemu-efi-riscv64 > > debian/setup-build-stamp: > cp -a debian/Logo.bmp MdeModulePkg/Logo/Logo.bmp > @@ -79,6 +80,12 @@ OVMF32_SHELL = $(OVMF32_BUILD_DIR)/IA32/Shell.efi > OVMF32_BINARIES = $(OVMF32_SHELL) > OVMF32_IMAGES := $(addprefix $(OVMF32_INSTALL_DIR)/,OVMF32_CODE_4M.secboot.fd OVMF32_VARS_4M.fd) > > +OVMF_CVM_INSTALL_DIR = debian/ovmf-cvm-install > +OVMF_CVM_BUILD_DIR = Build/OvmfX64/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN) > +OVMF_CVM_SHELL = $(OVMF_CVM_BUILD_DIR)/X64/Shell.efi > +OVMF_CVM_BINARIES = $(OVMF_CVM_SHELL) > +OVMF_CVM_IMAGES := $(addprefix $(OVMF_CVM_INSTALL_DIR)/,OVMF_CVM_CODE_4M.fd OVMF_CVM_VARS_4M.fd) > + > QEMU_EFI_BUILD_DIR = Build/ArmVirtQemu-$(EDK2_HOST_ARCH)/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN) > AAVMF_BUILD_DIR = Build/ArmVirtQemu-AARCH64/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN) > AAVMF_ENROLL = $(AAVMF_BUILD_DIR)/AARCH64/EnrollDefaultKeys.efi > @@ -106,6 +113,23 @@ $(OVMF32_BINARIES) $(OVMF32_IMAGES): debian/setup-build-stamp > cp $(OVMF32_BUILD_DIR)/FV/OVMF_VARS.fd \ > $(OVMF32_INSTALL_DIR)/OVMF32_VARS_4M.fd > > +build-ovmf-cvm: $(OVMF_CVM_BINARIES) $(OVMF_CVM_IMAGES) > +$(OVMF_CVM_BINARIES) $(OVMF_CVM_IMAGES): debian/setup-build-stamp > + rm -rf $(OVMF_CVM_INSTALL_DIR) > + mkdir $(OVMF_CVM_INSTALL_DIR) > + set -e; . ./edksetup.sh; \ > + build -a X64 \ > + -t $(EDK2_TOOLCHAIN) \ > + -p OvmfPkg/OvmfPkgX64.dsc \ > + $(OVMF_CVM_4M_FLAGS) -b $(BUILD_TYPE) > + #-b $(BUILD_TYPE) > + cp $(OVMF_CVM_BUILD_DIR)/FV/OVMF_CODE.fd \ > + $(OVMF_CVM_INSTALL_DIR)/OVMF_CVM_CODE_4M.fd > + cp $(OVMF_CVM_BUILD_DIR)/FV/OVMF_VARS.fd \ > + $(OVMF_CVM_INSTALL_DIR)/OVMF_CVM_VARS_4M.fd > + cp $(OVMF_CVM_BUILD_DIR)/FV/OVMF.fd \ > + $(OVMF_CVM_INSTALL_DIR)/OVMF_CVM_4M.fd > + > build-ovmf: $(OVMF_BINARIES) $(OVMF_IMAGES) $(OVMF_PREENROLLED_VARS) > $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp > rm -rf $(OVMF_INSTALL_DIR) > @@ -250,4 +274,4 @@ get-orig-source: > edk2-$(DEB_VERSION_UPSTREAM) > rm -rf edk2.tmp edk2-$(DEB_VERSION_UPSTREAM) > > -.PHONY: build-ovmf build-ovmf32 build-qemu-efi build-qemu-efi-aarch64 build-qemu-efi-riscv64 > +.PHONY: build-ovmf build-ovmf32 build-ovmf-cvm build-qemu-efi build-qemu-efi-aarch64 build-qemu-efi-riscv64 > \ No newline at end of file _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel