diff --git a/pkg/abi/nvgpu/ctrl.go b/pkg/abi/nvgpu/ctrl.go index c32e70765..8cb0274f5 100644 --- a/pkg/abi/nvgpu/ctrl.go +++ b/pkg/abi/nvgpu/ctrl.go @@ -61,19 +61,20 @@ const ( // From src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000gpu.h: const ( - NV0000_CTRL_CMD_GPU_GET_ATTACHED_IDS = 0x201 - NV0000_CTRL_CMD_GPU_GET_ID_INFO = 0x202 - NV0000_CTRL_CMD_GPU_GET_DEVICE_IDS = 0x204 - NV0000_CTRL_CMD_GPU_GET_ID_INFO_V2 = 0x205 - NV0000_CTRL_CMD_GPU_GET_PROBED_IDS = 0x214 - NV0000_CTRL_CMD_GPU_ATTACH_IDS = 0x215 - NV0000_CTRL_CMD_GPU_DETACH_IDS = 0x216 - NV0000_CTRL_CMD_GPU_GET_PCI_INFO = 0x21b - NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID = 0x275 - NV0000_CTRL_CMD_GPU_QUERY_DRAIN_STATE = 0x279 - NV0000_CTRL_CMD_GPU_GET_MEMOP_ENABLE = 0x27b - NV0000_CTRL_CMD_GPU_ASYNC_ATTACH_ID = 0x289 - NV0000_CTRL_CMD_GPU_WAIT_ATTACH_ID = 0x290 + NV0000_CTRL_CMD_GPU_GET_ATTACHED_IDS = 0x201 + NV0000_CTRL_CMD_GPU_GET_ID_INFO = 0x202 + NV0000_CTRL_CMD_GPU_GET_DEVICE_IDS = 0x204 + NV0000_CTRL_CMD_GPU_GET_ID_INFO_V2 = 0x205 + NV0000_CTRL_CMD_GPU_GET_PROBED_IDS = 0x214 + NV0000_CTRL_CMD_GPU_ATTACH_IDS = 0x215 + NV0000_CTRL_CMD_GPU_DETACH_IDS = 0x216 + NV0000_CTRL_CMD_GPU_GET_PCI_INFO = 0x21b + NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID = 0x275 + NV0000_CTRL_CMD_GPU_QUERY_DRAIN_STATE = 0x279 + NV0000_CTRL_CMD_GPU_GET_MEMOP_ENABLE = 0x27b + NV0000_CTRL_CMD_GPU_GET_ACTIVE_DEVICE_IDS = 0x288 + NV0000_CTRL_CMD_GPU_ASYNC_ATTACH_ID = 0x289 + NV0000_CTRL_CMD_GPU_WAIT_ATTACH_ID = 0x290 ) // From src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000gsync.h: diff --git a/pkg/sentry/devices/nvproxy/version.go b/pkg/sentry/devices/nvproxy/version.go index 8b27a6c59..5cd03354a 100644 --- a/pkg/sentry/devices/nvproxy/version.go +++ b/pkg/sentry/devices/nvproxy/version.go @@ -704,6 +704,7 @@ func Init() { v545_23_06 := func() *driverABI { abi := v535_113_01() abi.controlCmd[nvgpu.NV0000_CTRL_CMD_OS_UNIX_GET_EXPORT_OBJECT_INFO] = ctrlHandler(ctrlHasFrontendFD[nvgpu.NV0000_CTRL_OS_UNIX_GET_EXPORT_OBJECT_INFO_PARAMS_V545], compUtil) + abi.controlCmd[nvgpu.NV0000_CTRL_CMD_GPU_GET_ACTIVE_DEVICE_IDS] = ctrlHandler(rmControlSimple, compUtil) abi.allocationClass[nvgpu.RM_USER_SHARED_DATA] = allocHandler(rmAllocSimple[nvgpu.NV00DE_ALLOC_PARAMETERS_V545], compUtil) abi.allocationClass[nvgpu.NV_MEMORY_MULTICAST_FABRIC] = allocHandler(rmAllocSimple[nvgpu.NV00FD_ALLOCATION_PARAMETERS_V545], compUtil) abi.allocationClass[nvgpu.NV01_MEMORY_SYSTEM] = allocHandler(rmAllocSimple[nvgpu.NV_MEMORY_ALLOCATION_PARAMS_V545], compUtil) @@ -714,6 +715,7 @@ func Init() { abi.getStructs = func() *driverABIStructs { structs := prevStructs() structs.controlStructs[nvgpu.NV0000_CTRL_CMD_OS_UNIX_GET_EXPORT_OBJECT_INFO] = driverStructWithName(nvgpu.NV0000_CTRL_OS_UNIX_GET_EXPORT_OBJECT_INFO_PARAMS_V545{}, "NV0000_CTRL_OS_UNIX_GET_EXPORT_OBJECT_INFO_PARAMS") + structs.controlStructs[nvgpu.NV0000_CTRL_CMD_GPU_GET_ACTIVE_DEVICE_IDS] = simpleDriverStruct("NV0000_CTRL_GPU_GET_ACTIVE_DEVICE_IDS_PARAMS") structs.allocationStructs[nvgpu.RM_USER_SHARED_DATA] = driverStructWithName(nvgpu.NV00DE_ALLOC_PARAMETERS_V545{}, "NV00DE_ALLOC_PARAMETERS") structs.allocationStructs[nvgpu.NV_MEMORY_MULTICAST_FABRIC] = driverStructWithName(nvgpu.NV00FD_ALLOCATION_PARAMETERS_V545{}, "NV00FD_ALLOCATION_PARAMETERS") structs.allocationStructs[nvgpu.NV01_MEMORY_SYSTEM] = driverStructWithName(nvgpu.NV_MEMORY_ALLOCATION_PARAMS_V545{}, "NV_MEMORY_ALLOCATION_PARAMS") @@ -835,7 +837,8 @@ func Init() { return abi } - _ = addDriverABI(560, 35, 03, "f2932c92fadd43c5b2341be453fc4f73f0ad7185c26bb7a43fbde81ae29f1fe3", v560_28_03) + v560_35_03 := addDriverABI(560, 35, 03, "f2932c92fadd43c5b2341be453fc4f73f0ad7185c26bb7a43fbde81ae29f1fe3", v560_28_03) + _ = addDriverABI(565, 57, 01, "6eebe94e585e385e8804f5a74152df414887bf819cc21bd95b72acd0fb182c7a", v560_35_03) }) }