* [PATCH] vfio/nvgrace-gpu: add GB10 device ID (0x2e12)
@ 2026-05-19 19:45 Eric Curtin
2026-05-20 15:47 ` Alex Williamson
0 siblings, 1 reply; 2+ messages in thread
From: Eric Curtin @ 2026-05-19 19:45 UTC (permalink / raw)
To: linux-kernel
Cc: kvm, Ankit Agrawal, Alex Williamson, Jason Gunthorpe,
Yishai Hadas, Shameer Kolothum, Kevin Tian, Eric Curtin
The NVIDIA GB10 GPU (device ID 0x2e12, found in DGX GB10 systems) is a
Grace-Blackwell chip that shares the same NVLink-C2C coherent memory
architecture as the existing GH200/GB200/GB300 entries. It exposes
CPU-coherent device memory via the ACPI DSD properties
nvidia,gpu-mem-base-pa / nvidia,gpu-mem-size and requires the same
specialised BAR emulation provided by nvgrace-gpu-vfio-pci.
Without this entry the device falls through to the generic vfio-pci
driver, which fails the iommufd IOMMU_RESV_DIRECT check because the
NVLink-C2C memory apertures appear as RESV_DIRECT in the IOMMU group
reserved regions, yielding:
vfio-pci 000f:01:00.0: Firmware has requested this device have a
1:1 IOMMU mapping, rejecting configuring the device without a 1:1
mapping. Contact your platform vendor.
Tested on a DGX GB10 system (aarch64, kernel 6.17.0-1014-nvidia).
Signed-off-by: Eric Curtin <ericcurtin17@gmail.com>
---
drivers/vfio/pci/nvgrace-gpu/main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/vfio/pci/nvgrace-gpu/main.c b/drivers/vfio/pci/nvgrace-gpu/main.c
index fa056b69f899..ac1acf41df86 100644
--- a/drivers/vfio/pci/nvgrace-gpu/main.c
+++ b/drivers/vfio/pci/nvgrace-gpu/main.c
@@ -1244,6 +1244,8 @@ static const struct pci_device_id nvgrace_gpu_vfio_pci_table[] = {
{ PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x2941) },
/* GB300 SKU */
{ PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x31C2) },
+ /* GB10 SKU */
+ { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x2E12) },
{}
};
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] vfio/nvgrace-gpu: add GB10 device ID (0x2e12)
2026-05-19 19:45 [PATCH] vfio/nvgrace-gpu: add GB10 device ID (0x2e12) Eric Curtin
@ 2026-05-20 15:47 ` Alex Williamson
0 siblings, 0 replies; 2+ messages in thread
From: Alex Williamson @ 2026-05-20 15:47 UTC (permalink / raw)
To: Eric Curtin
Cc: linux-kernel, kvm, Ankit Agrawal, Jason Gunthorpe, Yishai Hadas,
Shameer Kolothum, Kevin Tian
On Tue, 19 May 2026 20:45:45 +0100
Eric Curtin <ericcurtin17@gmail.com> wrote:
> The NVIDIA GB10 GPU (device ID 0x2e12, found in DGX GB10 systems) is a
> Grace-Blackwell chip that shares the same NVLink-C2C coherent memory
> architecture as the existing GH200/GB200/GB300 entries. It exposes
> CPU-coherent device memory via the ACPI DSD properties
> nvidia,gpu-mem-base-pa / nvidia,gpu-mem-size and requires the same
> specialised BAR emulation provided by nvgrace-gpu-vfio-pci.
>
> Without this entry the device falls through to the generic vfio-pci
> driver, which fails the iommufd IOMMU_RESV_DIRECT check because the
> NVLink-C2C memory apertures appear as RESV_DIRECT in the IOMMU group
> reserved regions, yielding:
>
> vfio-pci 000f:01:00.0: Firmware has requested this device have a
> 1:1 IOMMU mapping, rejecting configuring the device without a 1:1
> mapping. Contact your platform vendor.
>
> Tested on a DGX GB10 system (aarch64, kernel 6.17.0-1014-nvidia).
This is proposing a patch against upstream v7.1-rc, not a vendor or
downstream kernel. What relevant testing against upstream has been
performed?
It's unclear to me how using the nvgrace-gpu driver rather than
vfio-pci gets around a RESV_DIRECT mapping requirement on the IOMMU
group. Can you elaborate?
The requirement is enforced when setting the group to a container for
the legacy path or when binding the device when using iommufd. Both of
those occur irrespective of using vfio-pci or a variant driver.
I also don't find that a DGX Spark GB10 exposes the ACPI DSD properties
claimed here, so while the architecture may be similar, the support for
the nvgrace-gpu specific functionality doesn't appear to be present.
Thanks,
Alex
> Signed-off-by: Eric Curtin <ericcurtin17@gmail.com>
> ---
> drivers/vfio/pci/nvgrace-gpu/main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/vfio/pci/nvgrace-gpu/main.c b/drivers/vfio/pci/nvgrace-gpu/main.c
> index fa056b69f899..ac1acf41df86 100644
> --- a/drivers/vfio/pci/nvgrace-gpu/main.c
> +++ b/drivers/vfio/pci/nvgrace-gpu/main.c
> @@ -1244,6 +1244,8 @@ static const struct pci_device_id nvgrace_gpu_vfio_pci_table[] = {
> { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x2941) },
> /* GB300 SKU */
> { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x31C2) },
> + /* GB10 SKU */
> + { PCI_DRIVER_OVERRIDE_DEVICE_VFIO(PCI_VENDOR_ID_NVIDIA, 0x2E12) },
> {}
> };
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-20 15:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-19 19:45 [PATCH] vfio/nvgrace-gpu: add GB10 device ID (0x2e12) Eric Curtin
2026-05-20 15:47 ` Alex Williamson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox