diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh index c170cb7595..3db8c76d0a 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh @@ -288,10 +288,10 @@ install_kernel_nvidia_gpu() { #Install GPU and SNP enabled kernel asset install_kernel_nvidia_gpu_snp() { - local kernel_url="$(get_from_kata_deps assets.kernel.snp.url)" + local kernel_url="$(get_from_kata_deps assets.kernel.sev.url)" install_kernel_helper \ - "assets.kernel.snp.version" \ + "assets.kernel.sev.version" \ "kernel-nvidia-gpu-snp" \ "-x sev -g nvidia -u ${kernel_url} -H deb" } diff --git a/tools/packaging/kernel/build-kernel.sh b/tools/packaging/kernel/build-kernel.sh index 9f2dfd6078..a89040828a 100755 --- a/tools/packaging/kernel/build-kernel.sh +++ b/tools/packaging/kernel/build-kernel.sh @@ -256,7 +256,7 @@ get_kernel_frag_path() { # -nvidia-gpu-{snp|tdx}, the linux headers will be named the very # same if build with make deb-pkg for TDX or SNP. local gpu_configs=$(mktemp).conf - local gpu_subst_configs="$(ls ${gpu_path}/${gpu_vendor}.${arch_target}.conf.in)" + local gpu_subst_configs="${gpu_path}/${gpu_vendor}.${arch_target}.conf.in" if [[ "${conf_guest}" != "" ]];then export CONF_GUEST_SUFFIX="-${conf_guest}" else diff --git a/tools/packaging/kernel/configs/fragments/gpu/nvidia.arm64.conf.in b/tools/packaging/kernel/configs/fragments/gpu/nvidia.arm64.conf.in new file mode 100644 index 0000000000..b260cbc123 --- /dev/null +++ b/tools/packaging/kernel/configs/fragments/gpu/nvidia.arm64.conf.in @@ -0,0 +1,24 @@ +# Support for loading modules. +# It is used to support loading GPU drivers. +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y + +# CRYPTO_FIPS requires this config when loading modules is enabled. +CONFIG_MODULE_SIG=y + +# Linux kernel version suffix +CONFIG_LOCALVERSION="-nvidia-gpu${CONF_GUEST_SUFFIX}" + +# Newer NVIDIA drivers need additional symbols +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_MEMORY_FAILURE=y + + +# VFIO/IOMMU setttings +CONFIG_MMU_NOTIFIER=y +CONFIG_IOASID=y +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +CONFIG_IOMMU_SVA=y +CONFIG_ARM_SMMU_V3=y +CONFIG_ARM_SMMU_V3_SVA=y diff --git a/tools/packaging/kernel/configs/fragments/gpu/nvidia.conf.in b/tools/packaging/kernel/configs/fragments/gpu/nvidia.x86_64.conf.in similarity index 99% rename from tools/packaging/kernel/configs/fragments/gpu/nvidia.conf.in rename to tools/packaging/kernel/configs/fragments/gpu/nvidia.x86_64.conf.in index 040d87a9d2..f07c8aec80 100644 --- a/tools/packaging/kernel/configs/fragments/gpu/nvidia.conf.in +++ b/tools/packaging/kernel/configs/fragments/gpu/nvidia.x86_64.conf.in @@ -18,4 +18,3 @@ CONFIG_X86_MCE=y CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y -