@@ -369,6 +369,15 @@ func Init() {
369369 nvgpu .NV00FD_CTRL_CMD_ATTACH_GPU : ctrlHandler (ctrlMemoryMulticastFabricAttachGPU , compUtil ),
370370 nvgpu .NV503C_CTRL_CMD_REGISTER_VA_SPACE : ctrlHandler (ctrlRegisterVASpace , compUtil ),
371371 nvgpu .NV208F_CTRL_CMD_GPU_VERIFY_INFOROM : ctrlHandler (rmControlSimple , compUtil ),
372+ nvgpu .NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_STATE : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
373+ nvgpu .NV2080_CTRL_CMD_GPU_GET_NVENC_SW_SESSION_STATS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
374+ nvgpu .NV2080_CTRL_CMD_GPU_GET_NVFBC_SW_SESSION_STATS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
375+ nvgpu .NV2080_CTRL_CMD_GPU_GET_CHIP_DETAILS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
376+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PEX_COUNTERS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
377+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PEX_UTIL_COUNTERS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
378+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
379+ nvgpu .NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
380+ nvgpu .NV9096_CTRL_CMD_SET_ZBC_COLOR_CLEAR : ctrlHandler (rmControlSimple , nvconf .CapGraphics ),
372381 },
373382 allocationClass : map [nvgpu.ClassID ]allocationClassHandler {
374383 nvgpu .NV01_ROOT : allocHandler (rmAllocRootClient , compUtil ),
@@ -396,6 +405,7 @@ func Init() {
396405 nvgpu .FERMI_CONTEXT_SHARE_A : allocHandler (rmAllocContextShare , compUtil ),
397406 nvgpu .GF100_DISP_SW : allocHandler (rmAllocSimple [nvgpu .NV9072_ALLOCATION_PARAMETERS ], nvconf .CapGraphics ),
398407 nvgpu .GF100_ZBC_CLEAR : allocHandler (rmAllocNoParams , nvconf .CapGraphics ),
408+ nvgpu .GF100_SUBDEVICE_INFOROM : allocHandler (rmAllocNoParams , nvconf .CapGraphics ),
399409 nvgpu .FERMI_VASPACE_A : allocHandler (rmAllocSimple [nvgpu .NV_VASPACE_ALLOCATION_PARAMETERS ], compUtil ),
400410 nvgpu .KEPLER_CHANNEL_GROUP_A : allocHandler (rmAllocChannelGroup , compUtil ),
401411 nvgpu .KEPLER_INLINE_TO_MEMORY_B : allocHandler (rmAllocSimple [nvgpu .NV_GR_ALLOCATION_PARAMETERS ], nvconf .CapGraphics ),
@@ -639,6 +649,15 @@ func Init() {
639649 nvgpu .NV00FD_CTRL_CMD_ATTACH_GPU : ioctlInfo ("NV00FD_CTRL_CMD_ATTACH_GPU" , nvgpu.NV00FD_CTRL_ATTACH_GPU_PARAMS {}),
640650 nvgpu .NV503C_CTRL_CMD_REGISTER_VA_SPACE : ioctlInfo ("NV503C_CTRL_CMD_REGISTER_VA_SPACE" , nvgpu.NV503C_CTRL_REGISTER_VA_SPACE_PARAMS {}),
641651 nvgpu .NV208F_CTRL_CMD_GPU_VERIFY_INFOROM : ioctlInfo ("NV208F_CTRL_CMD_GPU_VERIFY_INFOROM" , nvgpu.NV208F_CTRL_GPU_VERIFY_INFOROM_PARAMS {}),
652+ nvgpu .NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_STATE : simpleIoctlInfo ("NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_STATE" , "NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS" ),
653+ nvgpu .NV2080_CTRL_CMD_GPU_GET_NVENC_SW_SESSION_STATS : simpleIoctlInfo ("NV2080_CTRL_GPU_GET_NVENC_SW_SESSION_STATS" , "NV2080_CTRL_GPU_GET_NVENC_SW_SESSION_STATS_PARAMS" ),
654+ nvgpu .NV2080_CTRL_CMD_GPU_GET_NVFBC_SW_SESSION_STATS : simpleIoctlInfo ("NV2080_CTRL_GPU_GET_NVFBC_SW_SESSION_STATS" , "NV2080_CTRL_GPU_GET_NVFBC_SW_SESSION_STATS_PARAMS" ),
655+ nvgpu .NV2080_CTRL_CMD_GPU_GET_CHIP_DETAILS : simpleIoctlInfo ("NV2080_CTRL_CMD_GPU_GET_CHIP_DETAILS" , "NV2080_CTRL_GPU_GET_CHIP_DETAILS_PARAMS" ),
656+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PEX_COUNTERS : simpleIoctlInfo ("NV2080_CTRL_CMD_BUS_GET_PEX_COUNTERS" , "NV2080_CTRL_BUS_GET_PEX_COUNTERS_PARAMS" ),
657+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PEX_UTIL_COUNTERS : simpleIoctlInfo ("NV2080_CTRL_CMD_BUS_GET_PEX_UTIL_COUNTERS" , "NV2080_CTRL_BUS_GET_PEX_UTIL_COUNTERS_PARAMS" ),
658+ nvgpu .NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS : simpleIoctlInfo ("NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS" , "NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS" ),
659+ nvgpu .NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES : simpleIoctlInfo ("NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES" , "NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS" ),
660+ nvgpu .NV9096_CTRL_CMD_SET_ZBC_COLOR_CLEAR : simpleIoctlInfo ("NV9096_CTRL_CMD_SET_ZBC_COLOR_CLEAR" , "NV9096_CTRL_SET_ZBC_COLOR_CLEAR_PARAMS" ),
642661 },
643662 AllocationInfos : map [nvgpu.ClassID ]IoctlInfo {
644663 nvgpu .NV01_ROOT : ioctlInfoWithStructName ("NV01_ROOT" , nvgpu.Handle {}, "NvHandle" ),
@@ -665,7 +684,8 @@ func Init() {
665684 nvgpu .FERMI_TWOD_A : ioctlInfo ("FERMI_TWOD_A" , nvgpu.NV_GR_ALLOCATION_PARAMETERS {}),
666685 nvgpu .FERMI_CONTEXT_SHARE_A : ioctlInfo ("FERMI_CONTEXT_SHARE_A" , nvgpu.NV_CTXSHARE_ALLOCATION_PARAMETERS {}),
667686 nvgpu .GF100_DISP_SW : ioctlInfo ("GF100_DISP_SW" , nvgpu.NV9072_ALLOCATION_PARAMETERS {}),
668- nvgpu .GF100_ZBC_CLEAR : simpleIoctlInfo ("GF100_ZBC_CLEAR" ), // No params
687+ nvgpu .GF100_ZBC_CLEAR : simpleIoctlInfo ("GF100_ZBC_CLEAR" ), // No params
688+ nvgpu .GF100_SUBDEVICE_INFOROM : simpleIoctlInfo ("GF100_SUBDEVICE_INFOROM" ), // No params
669689 nvgpu .FERMI_VASPACE_A : ioctlInfo ("FERMI_VASPACE_A" , nvgpu.NV_VASPACE_ALLOCATION_PARAMETERS {}),
670690 nvgpu .KEPLER_CHANNEL_GROUP_A : ioctlInfo ("KEPLER_CHANNEL_GROUP_A" , nvgpu.NV_CHANNEL_GROUP_ALLOCATION_PARAMETERS {}),
671691 nvgpu .KEPLER_INLINE_TO_MEMORY_B : ioctlInfo ("KEPLER_INLINE_TO_MEMORY_B" , nvgpu.NV_GR_ALLOCATION_PARAMETERS {}),
@@ -863,6 +883,7 @@ func Init() {
863883 abi .allocationClass [nvgpu .BLACKWELL_INLINE_TO_MEMORY_A ] = allocHandler (rmAllocSimple [nvgpu .NV_GR_ALLOCATION_PARAMETERS ], nvconf .CapGraphics )
864884 abi .controlCmd [nvgpu .NV_SEMAPHORE_SURFACE_CTRL_CMD_UNBIND_CHANNEL ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
865885 abi .controlCmd [nvgpu .NV2080_CTRL_CMD_NVLINK_GET_PLATFORM_INFO ] = ctrlHandler (rmControlSimple , nvconf .CapFabricIMEXManagement )
886+ abi .controlCmd [nvgpu .NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
866887 prevGetInfo := abi .getInfo
867888 abi .getInfo = func () * DriverABIInfo {
868889 info := prevGetInfo ()
@@ -874,15 +895,30 @@ func Init() {
874895 info .AllocationInfos [nvgpu .BLACKWELL_INLINE_TO_MEMORY_A ] = ioctlInfo ("BLACKWELL_INLINE_TO_MEMORY_A" , nvgpu.NV_GR_ALLOCATION_PARAMETERS {})
875896 info .ControlInfos [nvgpu .NV_SEMAPHORE_SURFACE_CTRL_CMD_UNBIND_CHANNEL ] = simpleIoctlInfo ("NV_SEMAPHORE_SURFACE_CTRL_CMD_UNBIND_CHANNEL" , "NV_SEMAPHORE_SURFACE_CTRL_UNBIND_CHANNEL_PARAMS" )
876897 info .ControlInfos [nvgpu .NV2080_CTRL_CMD_NVLINK_GET_PLATFORM_INFO ] = simpleIoctlInfo ("NV2080_CTRL_CMD_NVLINK_GET_PLATFORM_INFO" , "NV2080_CTRL_NVLINK_GET_PLATFORM_INFO_PARAMS" )
898+ info .ControlInfos [nvgpu .NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS ] = simpleIoctlInfo ("NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS" , "NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_PARAMS" )
877899 return info
878900 }
879901 return abi
880902 }
881903
882- v570_86_15 := addDriverABI (570 , 86 , 15 , "87709c19c7401243136bc0ec9e7f147c6803070a11449ae8f0819dee7963f76b" , ChecksumNoDriver , func () * driverABI {
904+ // 565.57.01 is an intermediate unqualified version from the main branch.
905+ v565_57_01 := func () * driverABI {
883906 abi := v560_28_03 ()
907+ abi .controlCmd [nvgpu .NV2080_CTRL_CMD_GPU_GET_RECOVERY_ACTION ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
908+ prevGetInfo := abi .getInfo
909+ abi .getInfo = func () * DriverABIInfo {
910+ info := prevGetInfo ()
911+ info .ControlInfos [nvgpu .NV2080_CTRL_CMD_GPU_GET_RECOVERY_ACTION ] = simpleIoctlInfo ("NV2080_CTRL_CMD_GPU_GET_RECOVERY_ACTION" , "NV2080_CTRL_GPU_GET_RECOVERY_ACTION_PARAMS" )
912+ return info
913+ }
914+ return abi
915+ }
916+
917+ v570_86_15 := addDriverABI (570 , 86 , 15 , "87709c19c7401243136bc0ec9e7f147c6803070a11449ae8f0819dee7963f76b" , ChecksumNoDriver , func () * driverABI {
918+ abi := v565_57_01 ()
884919 abi .controlCmd [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT ] = ctrlHandler (rmControlSimple , compUtil )
885920 abi .controlCmd [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS ] = ctrlHandler (rmControlSimple , compUtil )
921+ abi .controlCmd [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_PENDING_CONFIGURATION ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
886922 abi .allocationClass [nvgpu .TURING_CHANNEL_GPFIFO_A ] = allocHandler (rmAllocChannelV570 , compUtil )
887923 abi .allocationClass [nvgpu .AMPERE_CHANNEL_GPFIFO_A ] = allocHandler (rmAllocChannelV570 , compUtil )
888924 abi .allocationClass [nvgpu .HOPPER_CHANNEL_GPFIFO_A ] = allocHandler (rmAllocChannelV570 , compUtil )
@@ -898,6 +934,7 @@ func Init() {
898934 info := prevGetInfo ()
899935 info .ControlInfos [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT ] = simpleIoctlInfo ("NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT" , "NV2080_CTRL_FB_DRAM_ENCRYPTION_INFOROM_SUPPORT_PARAMS" )
900936 info .ControlInfos [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS ] = simpleIoctlInfo ("NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS" , "NV2080_CTRL_FB_QUERY_DRAM_ENCRYPTION_STATUS_PARAMS" )
937+ info .ControlInfos [nvgpu .NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_PENDING_CONFIGURATION ] = simpleIoctlInfo ("NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_PENDING_CONFIGURATION" , "NV2080_CTRL_FB_QUERY_DRAM_ENCRYPTION_PENDING_CONFIGURATION_PARAMS" )
901938 info .AllocationInfos [nvgpu .TURING_CHANNEL_GPFIFO_A ] = ioctlInfoWithStructName ("TURING_CHANNEL_GPFIFO_A" , nvgpu.NV_CHANNEL_ALLOC_PARAMS_V570 {}, "NV_CHANNEL_ALLOC_PARAMS" )
902939 info .AllocationInfos [nvgpu .AMPERE_CHANNEL_GPFIFO_A ] = ioctlInfoWithStructName ("AMPERE_CHANNEL_GPFIFO_A" , nvgpu.NV_CHANNEL_ALLOC_PARAMS_V570 {}, "NV_CHANNEL_ALLOC_PARAMS" )
903940 info .AllocationInfos [nvgpu .HOPPER_CHANNEL_GPFIFO_A ] = ioctlInfoWithStructName ("HOPPER_CHANNEL_GPFIFO_A" , nvgpu.NV_CHANNEL_ALLOC_PARAMS_V570 {}, "NV_CHANNEL_ALLOC_PARAMS" )
@@ -950,6 +987,8 @@ func Init() {
950987 abi .allocationClass [nvgpu .FERMI_VASPACE_A ] = allocHandler (rmAllocSimple [nvgpu .NV_VASPACE_ALLOCATION_PARAMETERS_V580 ], compUtil )
951988 abi .allocationClass [nvgpu .NVCEB7_VIDEO_ENCODER ] = allocHandler (rmAllocSimple [nvgpu .NV_MSENC_ALLOCATION_PARAMETERS ], nvconf .CapVideo )
952989 abi .allocationClass [nvgpu .NVD1B7_VIDEO_ENCODER ] = allocHandler (rmAllocSimple [nvgpu .NV_MSENC_ALLOCATION_PARAMETERS ], nvconf .CapVideo )
990+ abi .controlCmd [nvgpu .NV2080_CTRL_CMD_GPU_GET_SKYLINE_INFO ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
991+ abi .controlCmd [nvgpu .NV2080_CTRL_CMD_ECC_GET_REPAIR_STATUS ] = ctrlHandler (rmControlSimple , nvconf .CapGraphics )
953992
954993 prevGetInfo := abi .getInfo
955994 abi .getInfo = func () * DriverABIInfo {
@@ -958,6 +997,8 @@ func Init() {
958997 info .AllocationInfos [nvgpu .FERMI_VASPACE_A ] = ioctlInfoWithStructName ("FERMI_VASPACE_A" , nvgpu.NV_VASPACE_ALLOCATION_PARAMETERS_V580 {}, "NV_VASPACE_ALLOCATION_PARAMETERS" )
959998 info .AllocationInfos [nvgpu .NVCEB7_VIDEO_ENCODER ] = ioctlInfo ("NVCEB7_VIDEO_ENCODER" , nvgpu.NV_MSENC_ALLOCATION_PARAMETERS {})
960999 info .AllocationInfos [nvgpu .NVD1B7_VIDEO_ENCODER ] = ioctlInfo ("NVD1B7_VIDEO_ENCODER" , nvgpu.NV_MSENC_ALLOCATION_PARAMETERS {})
1000+ info .ControlInfos [nvgpu .NV2080_CTRL_CMD_GPU_GET_SKYLINE_INFO ] = simpleIoctlInfo ("NV2080_CTRL_CMD_GPU_GET_SKYLINE_INFO" , "NV2080_CTRL_GPU_GET_SKYLINE_INFO_PARAMS" )
1001+ info .ControlInfos [nvgpu .NV2080_CTRL_CMD_ECC_GET_REPAIR_STATUS ] = simpleIoctlInfo ("NV2080_CTRL_CMD_ECC_GET_REPAIR_STATUS" , "NV2080_CTRL_ECC_GET_REPAIR_STATUS_PARAMS" )
9611002 return info
9621003 }
9631004 return abi
0 commit comments