Kernel KVM virtualization development
 help / color / mirror / Atom feed
* [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