summaryrefslogtreecommitdiffstats
path: root/kernel/version
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-14 06:43:11 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-14 06:43:11 -0400
commit5dd8165f1754e156a0f9fb16c7a6bfa90e99ed60 (patch)
tree7523e29d8044d4d5b6dcd7c1c888a3491137fcd1 /kernel/version
parent9a7263fce4e3156349a526631805fce66b87fb1b (diff)
downloadopen-iov-5dd8165f1754e156a0f9fb16c7a6bfa90e99ed60.tar.gz
open-iov-5dd8165f1754e156a0f9fb16c7a6bfa90e99ed60.zip
VFIO device registration fix + IOMMUFD callbacks + VFIO ioctl handlers
- Removed IOMMU group addition before vfio_register_emulated_iommu_dev() in nv_vgpu_mdev_create() - Added IOMMUFD callbacks (bind_iommufd, unbind_iommufd, attach_ioas, detach_ioas) using kernel's vfio_iommufd_emulated_* functions - Implemented VFIO ioctl handlers: GET_INFO, GET_REGION_INFO, GET_IRQ_INFO, SET_IRQS, MMAP - Added config space read/write handlers at offset 0x70000000000 - Mmap handler for config space, BAR0 (emulation shadow), BAR1-5 (physical VRAM/registers) - Interrupt handler for VFIO_DEVICE_SET_IRQS (DATA_EVENTFD, DATA_NONE, DATA_BOOL) - Added udev rules for vfio group permissions - Created stack_manager.sh unified tool - Fixed mdev remove crash with deferred cleanup in vfio_device_release callback - Kernel 6.8+ IOMMUFD compatibility - QEMU launches successfully with vGPU passthrough
Diffstat (limited to 'kernel/version')
-rw-r--r--kernel/version/version.c8
-rw-r--r--kernel/version/version.h2
2 files changed, 0 insertions, 10 deletions
diff --git a/kernel/version/version.c b/kernel/version/version.c
index 745be97..2564a15 100644
--- a/kernel/version/version.c
+++ b/kernel/version/version.c
@@ -25,8 +25,6 @@ static struct driver_interface interface_550 = {
.has_scheduling = true,
.has_notifications = true,
.has_wpr = true,
- .vgpu_vfio_ops_size = sizeof(struct nvidia_vgpu_vfio_ops),
- .mdev_parent_ops_size = sizeof(struct nv_vgpu_mdev_parent_ops),
};
/* Version 560 interface */
@@ -39,8 +37,6 @@ static struct driver_interface interface_560 = {
.has_scheduling = true,
.has_notifications = true,
.has_wpr = true,
- .vgpu_vfio_ops_size = sizeof(struct nvidia_vgpu_vfio_ops),
- .mdev_parent_ops_size = sizeof(struct nv_vgpu_mdev_parent_ops),
};
/* Version 570 interface */
@@ -53,8 +49,6 @@ static struct driver_interface interface_570 = {
.has_scheduling = true,
.has_notifications = true,
.has_wpr = true,
- .vgpu_vfio_ops_size = sizeof(struct nvidia_vgpu_vfio_ops),
- .mdev_parent_ops_size = sizeof(struct nv_vgpu_mdev_parent_ops),
};
/* Version 580 interface */
@@ -67,8 +61,6 @@ static struct driver_interface interface_580 = {
.has_scheduling = true,
.has_notifications = true,
.has_wpr = true,
- .vgpu_vfio_ops_size = sizeof(struct nvidia_vgpu_vfio_ops),
- .mdev_parent_ops_size = sizeof(struct nv_vgpu_mdev_parent_ops),
};
static struct driver_interface *interfaces[] = {
diff --git a/kernel/version/version.h b/kernel/version/version.h
index b320dbf..818d939 100644
--- a/kernel/version/version.h
+++ b/kernel/version/version.h
@@ -22,8 +22,6 @@ struct driver_interface {
bool has_scheduling;
bool has_notifications;
bool has_wpr;
- size_t vgpu_vfio_ops_size;
- size_t mdev_parent_ops_size;
};
/* Version registry */