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