From 88f746dea8599eeb15ab3151f1f3fa78a45fbd2e Mon Sep 17 00:00:00 2001 From: Manuel Huber Date: Mon, 19 Jan 2026 12:58:41 -0800 Subject: [PATCH] runtime: nvidia: Use OVMF for NV GPU handler Shift to using OVMF instead of using SeaBios. Signed-off-by: Manuel Huber Update src/runtime/Makefile Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Zvonko Kaiser --- src/runtime/Makefile | 11 +++++++++-- .../config/configuration-qemu-nvidia-gpu-snp.toml.in | 2 +- .../config/configuration-qemu-nvidia-gpu-tdx.toml.in | 2 +- .../config/configuration-qemu-nvidia-gpu.toml.in | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/runtime/Makefile b/src/runtime/Makefile index 8d889bc8d2..b6931f09a9 100644 --- a/src/runtime/Makefile +++ b/src/runtime/Makefile @@ -147,10 +147,14 @@ DEFROOTFSTYPE := $(ROOTFSTYPE_EXT4) FIRMWAREPATH := FIRMWAREVOLUMEPATH := +FIRMWAREPATH_NV = $(FIRMWAREPATH) + FIRMWARETDVFPATH := $(PREFIXDEPS)/share/ovmf/OVMF.inteltdx.fd +FIRMWARETDVFPATH_NV := $(FIRMWARETDVFPATH) FIRMWARETDVFVOLUMEPATH := FIRMWARESNPPATH := $(PREFIXDEPS)/share/ovmf/AMDSEV.fd +FIRMWARESNPPATH_NV := $(FIRMWARESNPPATH) KERNELVERITYPARAMS ?= "" KERNELVERITYPARAMS_NV ?= "" @@ -468,8 +472,8 @@ ifneq (,$(QEMUCMD)) KERNELSEPATH = $(KERNELDIR)/$(KERNELSENAME) # NVIDIA GPU specific options (all should be suffixed by _NV) - # Normal: uncompressed (KERNELTYPE). Confidential: compressed (KERNELCONFIDENTIALTYPE). - KERNELNAME_NV = $(call MAKE_KERNEL_NAME_NV,$(KERNELTYPE)) + KERNELTYPE_NV = compressed + KERNELNAME_NV = $(call MAKE_KERNEL_NAME_NV,$(KERNELTYPE_NV)) KERNELPATH_NV = $(KERNELDIR)/$(KERNELNAME_NV) KERNELNAME_CONFIDENTIAL_NV = $(call MAKE_KERNEL_NAME_NV,$(KERNELCONFIDENTIALTYPE)) KERNELPATH_CONFIDENTIAL_NV = $(KERNELDIR)/$(KERNELNAME_CONFIDENTIAL_NV) @@ -681,10 +685,13 @@ USER_VARS += KERNELPATH_FC USER_VARS += KERNELPATH_STRATOVIRT USER_VARS += KERNELVIRTIOFSPATH USER_VARS += FIRMWAREPATH +USER_VARS += FIRMWAREPATH_NV USER_VARS += FIRMWARETDVFPATH USER_VARS += FIRMWAREVOLUMEPATH USER_VARS += FIRMWARETDVFVOLUMEPATH USER_VARS += FIRMWARESNPPATH +USER_VARS += FIRMWARETDVFPATH_NV +USER_VARS += FIRMWARESNPPATH_NV USER_VARS += MACHINEACCELERATORS USER_VARS += CPUFEATURES USER_VARS += TDXCPUFEATURES diff --git a/src/runtime/config/configuration-qemu-nvidia-gpu-snp.toml.in b/src/runtime/config/configuration-qemu-nvidia-gpu-snp.toml.in index 8503209754..159bcf0fa7 100644 --- a/src/runtime/config/configuration-qemu-nvidia-gpu-snp.toml.in +++ b/src/runtime/config/configuration-qemu-nvidia-gpu-snp.toml.in @@ -99,7 +99,7 @@ kernel_verity_params = "@KERNELVERITYPARAMS_CONFIDENTIAL_NV@" # Path to the firmware. # If you want that qemu uses the default firmware leave this option empty -firmware = "@FIRMWARESNPPATH@" +firmware = "@FIRMWARESNPPATH_NV@" # Path to the firmware volume. # firmware TDVF or OVMF can be split into FIRMWARE_VARS.fd (UEFI variables diff --git a/src/runtime/config/configuration-qemu-nvidia-gpu-tdx.toml.in b/src/runtime/config/configuration-qemu-nvidia-gpu-tdx.toml.in index 3f17b53634..3d2c458bde 100644 --- a/src/runtime/config/configuration-qemu-nvidia-gpu-tdx.toml.in +++ b/src/runtime/config/configuration-qemu-nvidia-gpu-tdx.toml.in @@ -76,7 +76,7 @@ kernel_verity_params = "@KERNELVERITYPARAMS_CONFIDENTIAL_NV@" # Path to the firmware. # If you want that qemu uses the default firmware leave this option empty -firmware = "@FIRMWARETDVFPATH@" +firmware = "@FIRMWARETDVFPATH_NV@" # Path to the firmware volume. # firmware TDVF or OVMF can be split into FIRMWARE_VARS.fd (UEFI variables diff --git a/src/runtime/config/configuration-qemu-nvidia-gpu.toml.in b/src/runtime/config/configuration-qemu-nvidia-gpu.toml.in index 40e53aba7d..48d7e0f92e 100644 --- a/src/runtime/config/configuration-qemu-nvidia-gpu.toml.in +++ b/src/runtime/config/configuration-qemu-nvidia-gpu.toml.in @@ -58,7 +58,7 @@ kernel_verity_params = "@KERNELVERITYPARAMS_NV@" # Path to the firmware. # If you want that qemu uses the default firmware leave this option empty -firmware = "@FIRMWAREPATH@" +firmware = "@FIRMWAREPATH_NV@" # Path to the firmware volume. # firmware TDVF or OVMF can be split into FIRMWARE_VARS.fd (UEFI variables