From 830455b63527abfb113d7f7ca2b02baacde8a0df Mon Sep 17 00:00:00 2001 From: Rachel Menge Date: Wed, 17 Jun 2026 17:41:13 -0700 Subject: [PATCH 1/2] feat(kernel-hwe): enable IOMMUFD VFIO container for QEMU --- SPECS/kernel-hwe/config_aarch64 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SPECS/kernel-hwe/config_aarch64 b/SPECS/kernel-hwe/config_aarch64 index 960bcfc8a66..5d2ac5ff8e7 100644 --- a/SPECS/kernel-hwe/config_aarch64 +++ b/SPECS/kernel-hwe/config_aarch64 @@ -9206,8 +9206,7 @@ CONFIG_UIO_PCI_GENERIC=m CONFIG_VFIO=m CONFIG_VFIO_DEVICE_CDEV=y CONFIG_VFIO_GROUP=y -CONFIG_VFIO_CONTAINER=y -CONFIG_VFIO_IOMMU_TYPE1=m +# CONFIG_VFIO_CONTAINER is not set # CONFIG_VFIO_NOIOMMU is not set CONFIG_VFIO_VIRQFD=y # CONFIG_VFIO_DEBUGFS is not set @@ -9781,7 +9780,8 @@ CONFIG_ARM_SMMU_V3_IOMMUFD=y CONFIG_TEGRA241_CMDQV=y # CONFIG_QCOM_IOMMU is not set CONFIG_IOMMUFD_DRIVER_CORE=y -CONFIG_IOMMUFD=m +CONFIG_IOMMUFD=y +CONFIG_IOMMUFD_VFIO_CONTAINER=y # CONFIG_ROCKCHIP_IOMMU is not set # CONFIG_SUN50I_IOMMU is not set CONFIG_TEGRA_IOMMU_SMMU=y From 30fb176bf6b2e91ab538aeb9284d38c26d8874e8 Mon Sep 17 00:00:00 2001 From: Henry Li Date: Fri, 7 Aug 2026 11:22:16 -0700 Subject: [PATCH 2/2] feat: enable GPU pass-thru support for kernel-hwe on arm64 --- SPECS-SIGNED/kernel-hwe-signed/kernel-hwe-signed.spec | 5 ++++- SPECS/kernel-hwe-headers/kernel-hwe-headers.spec | 5 ++++- SPECS/kernel-hwe/config_aarch64 | 4 +++- SPECS/kernel-hwe/kernel-hwe.signatures.json | 2 +- SPECS/kernel-hwe/kernel-hwe.spec | 6 +++++- .../azl3-os-required-kernel-configs.json | 10 ++++++++++ 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/SPECS-SIGNED/kernel-hwe-signed/kernel-hwe-signed.spec b/SPECS-SIGNED/kernel-hwe-signed/kernel-hwe-signed.spec index 9af08d94534..2c2d978a198 100644 --- a/SPECS-SIGNED/kernel-hwe-signed/kernel-hwe-signed.spec +++ b/SPECS-SIGNED/kernel-hwe-signed/kernel-hwe-signed.spec @@ -10,7 +10,7 @@ Summary: Signed Linux Kernel for %{buildarch} systems Name: kernel-hwe-signed-%{buildarch} Version: 6.18.43.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Vendor: Microsoft Corporation Distribution: Azure Linux @@ -108,6 +108,9 @@ echo "initrd of kernel %{uname_r} removed" >&2 %exclude /module_info.ld %changelog +* Tue Aug 25 2026 Henry Li - 6.18.43.1-2 +- Bump release to match kernel-hwe. + * Mon Aug 10 2026 CBL-Mariner Servicing Account - 6.18.43.1-1 - Auto-upgrade to 6.18.43.1 diff --git a/SPECS/kernel-hwe-headers/kernel-hwe-headers.spec b/SPECS/kernel-hwe-headers/kernel-hwe-headers.spec index da0d9bceb6d..8ebfc2574fb 100644 --- a/SPECS/kernel-hwe-headers/kernel-hwe-headers.spec +++ b/SPECS/kernel-hwe-headers/kernel-hwe-headers.spec @@ -4,7 +4,7 @@ Summary: Linux API header files Name: kernel-hwe-headers Version: 6.18.43.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Vendor: Microsoft Corporation Distribution: Azure Linux @@ -35,6 +35,9 @@ cp -rv usr/include/* /%{buildroot}%{_includedir} %{_includedir}/* %changelog +* Tue Aug 25 2026 Henry Li - 6.18.43.1-2 +- Bump release to match kernel-hwe. + * Mon Aug 10 2026 CBL-Mariner Servicing Account - 6.18.43.1-1 - Auto-upgrade to 6.18.43.1 diff --git a/SPECS/kernel-hwe/config_aarch64 b/SPECS/kernel-hwe/config_aarch64 index 5d2ac5ff8e7..858a74d3d05 100644 --- a/SPECS/kernel-hwe/config_aarch64 +++ b/SPECS/kernel-hwe/config_aarch64 @@ -2168,7 +2168,7 @@ CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y CONFIG_PCIE_TPH=y -# CONFIG_PCI_P2PDMA is not set +CONFIG_PCI_P2PDMA=y CONFIG_PCI_LABEL=y CONFIG_PCI_HYPERV=y CONFIG_PCI_DYNAMIC_OF_NODES=y @@ -7065,6 +7065,7 @@ CONFIG_DRM_AMD_SECURE_DISPLAY=y CONFIG_HSA_AMD=y CONFIG_HSA_AMD_SVM=y +# CONFIG_HSA_AMD_P2P is not set CONFIG_DRM_NOUVEAU=m CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOUVEAU_DEBUG=5 @@ -9217,6 +9218,7 @@ CONFIG_VFIO_VIRQFD=y CONFIG_VFIO_PCI_CORE=m CONFIG_VFIO_PCI_INTX=y CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_DMABUF=y CONFIG_MLX5_VFIO_PCI=m CONFIG_PDS_VFIO_PCI=m CONFIG_VIRTIO_VFIO_PCI=m diff --git a/SPECS/kernel-hwe/kernel-hwe.signatures.json b/SPECS/kernel-hwe/kernel-hwe.signatures.json index 7d112cfa4af..7a4ac9886c3 100644 --- a/SPECS/kernel-hwe/kernel-hwe.signatures.json +++ b/SPECS/kernel-hwe/kernel-hwe.signatures.json @@ -2,7 +2,7 @@ "Signatures": { "azurelinux-ca-20230216.pem": "d545401163c75878319f01470455e6bc18a5968e39dd964323225e3fe308849b", "config": "0e7c47da2740ecede03466f02e16f7a934efb8b66796f9c646e33b68e88e96a7", - "config_aarch64": "595382eff902c3de62ccb322e41007cc6d14a19b1bacc995d9cf83f82f5eea95", + "config_aarch64": "719834b3bf10b3c6ae3a98e4e3856dcffadb822fd770855c5735255172bd0352", "cpupower": "d7518767bf2b1110d146a49c7d42e76b803f45eb8bd14d931aa6d0d346fae985", "cpupower.service": "b057fe9e5d0e8c36f485818286b80e3eba8ff66ff44797940e99b1fd5361bb98", "sha512hmac-openssl.sh": "8bb4094cb09cd7a8bced236ccb44c3cabc82716679ce497bf040332897e47cd0", diff --git a/SPECS/kernel-hwe/kernel-hwe.spec b/SPECS/kernel-hwe/kernel-hwe.spec index e7d88f2bd1b..14c6e212b6b 100644 --- a/SPECS/kernel-hwe/kernel-hwe.spec +++ b/SPECS/kernel-hwe/kernel-hwe.spec @@ -31,7 +31,7 @@ Summary: Linux Kernel Name: kernel-hwe Version: 6.18.43.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Vendor: Microsoft Corporation Distribution: Azure Linux @@ -430,6 +430,10 @@ echo "initrd of kernel %{uname_r} removed" >&2 %{_sysconfdir}/bash_completion.d/bpftool %changelog +* Thu Aug 20 2026 Henry Li - 6.18.43.1-2 +- Enable CONFIG_PCI_P2PDMA, CONFIG_VFIO_PCI_DMABUF, CONFIG_IOMMUFD +- and CONFIG_IOMMUFD_VFIO_CONTAINER to support GPU pass-thru on arm64 + * Mon Aug 10 2026 CBL-Mariner Servicing Account - 6.18.43.1-1 - Auto-upgrade to 6.18.43.1 diff --git a/toolkit/scripts/kernel_config_checker/kernel_configs_json/azl3-os-required-kernel-configs.json b/toolkit/scripts/kernel_config_checker/kernel_configs_json/azl3-os-required-kernel-configs.json index 257c131b4c6..dc6fde4cc6b 100644 --- a/toolkit/scripts/kernel_config_checker/kernel_configs_json/azl3-os-required-kernel-configs.json +++ b/toolkit/scripts/kernel_config_checker/kernel_configs_json/azl3-os-required-kernel-configs.json @@ -3152,6 +3152,16 @@ ], "justification": "kernel-hwe 6.12 does not enable ICE_SWITCHDEV on arm64 - PR: https://github.com/microsoft/azurelinux/pull/10960" }, + { + "name": "CONFIG_PCI_P2PDMA", + "values": [ + { + "architecture": "arm64", + "value": "y" + } + ], + "justification": "Enable PCI peer-to-peer DMA for GPU pass-through on kernel-hwe arm64 - PR: https://github.com/microsoft/azurelinux/pull/18622" + }, { "name": "CONFIG_CRYPTO_DH", "values": [