Skip to content

Commit 140f64c

Browse files
committed
Merge pull request #12817 from luiscape:add-vulakn-ioctls
PiperOrigin-RevId: 895574077
2 parents 5059323 + c856f79 commit 140f64c

3 files changed

Lines changed: 75 additions & 11 deletions

File tree

pkg/abi/nvgpu/classes.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ const (
7575
FERMI_CONTEXT_SHARE_A = 0x00009067
7676
GF100_DISP_SW = 0x00009072
7777
GF100_ZBC_CLEAR = 0x00009096
78+
GF100_SUBDEVICE_INFOROM = 0x000090e7
7879
GF100_PROFILER = 0x000090cc
7980
GF100_SUBDEVICE_MASTER = 0x000090e6
8081
FERMI_VASPACE_A = 0x000090f1

pkg/abi/nvgpu/ctrl.go

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ const (
8686
NV0000_GPU_MAX_GID_LENGTH = 0x100
8787
)
8888

89+
// From src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000gpuacct.h:
90+
const (
91+
NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_STATE = 0xb02
92+
)
93+
8994
// NV0000_CTRL_GPU_GET_ID_INFO_PARAMS is the param type for NV0000_CTRL_CMD_GPU_GET_ID_INFO,
9095
// from src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000gpu.h.
9196
//
@@ -539,6 +544,10 @@ const (
539544
NV2080_CTRL_CMD_BUS_GET_INFO_V2 = 0x20801823
540545
NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS = 0x2080182a
541546
NV2080_CTRL_CMD_BUS_GET_C2C_INFO = 0x2080182b
547+
NV2080_CTRL_CMD_BUS_GET_PEX_COUNTERS = 0x20801813
548+
NV2080_CTRL_CMD_BUS_GET_PEX_UTIL_COUNTERS = 0x20801819
549+
NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS = 0x20801829
550+
NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS = 0x20801830
542551
)
543552

544553
// From src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080ce.h:
@@ -553,17 +562,24 @@ const (
553562
NV2080_CTRL_CMD_EVENT_SET_NOTIFICATION = 0x20800301
554563
)
555564

565+
// From src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080ecc.h:
566+
const (
567+
NV2080_CTRL_CMD_ECC_GET_REPAIR_STATUS = 0x20803404
568+
)
569+
556570
// From src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080fb.h:
557571
const (
558-
NV2080_CTRL_CMD_FB_GET_INFO = 0x20801301
559-
NV2080_CTRL_CMD_FB_GET_INFO_V2 = 0x20801303
560-
NV2080_CTRL_CMD_FB_GET_GPU_CACHE_INFO = 0x20801315
561-
NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO = 0x20801320
562-
NV2080_CTRL_CMD_FB_GET_SEMAPHORE_SURFACE_LAYOUT = 0x20801352
563-
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT = 0x20801358
564-
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS = 0x20801359
565-
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT_V575 = NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT - 1
566-
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS_V575 = NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS - 1
572+
NV2080_CTRL_CMD_FB_GET_INFO = 0x20801301
573+
NV2080_CTRL_CMD_FB_GET_INFO_V2 = 0x20801303
574+
NV2080_CTRL_CMD_FB_GET_GPU_CACHE_INFO = 0x20801315
575+
NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO = 0x20801320
576+
NV2080_CTRL_CMD_FB_GET_SEMAPHORE_SURFACE_LAYOUT = 0x20801352
577+
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT = 0x20801358
578+
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS = 0x20801359
579+
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT_V575 = NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_INFOROM_SUPPORT - 1
580+
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS_V575 = NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_STATUS - 1
581+
NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES = 0x20801322
582+
NV2080_CTRL_CMD_FB_QUERY_DRAM_ENCRYPTION_PENDING_CONFIGURATION = 0x20801355
567583
)
568584

569585
// From src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080fifo.h:
@@ -618,6 +634,11 @@ const (
618634
NV2080_CTRL_CMD_GPU_GET_PID_INFO = 0x2080018e
619635
NV2080_CTRL_CMD_GPU_GET_COMPUTE_POLICY_CONFIG = 0x20800195
620636
NV2080_CTRL_CMD_GET_GPU_FABRIC_PROBE_INFO = 0x208001a3
637+
NV2080_CTRL_CMD_GPU_GET_NVENC_SW_SESSION_STATS = 0x2080016d
638+
NV2080_CTRL_CMD_GPU_GET_NVFBC_SW_SESSION_STATS = 0x2080017b
639+
NV2080_CTRL_CMD_GPU_GET_SKYLINE_INFO = 0x2080019f
640+
NV2080_CTRL_CMD_GPU_GET_CHIP_DETAILS = 0x208001a4
641+
NV2080_CTRL_CMD_GPU_GET_RECOVERY_ACTION = 0x208001b2
621642
)
622643

623644
// From src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080gr.h:
@@ -753,6 +774,7 @@ const (
753774
const (
754775
NV9096_CTRL_CMD_GET_ZBC_CLEAR_TABLE_SIZE = 0x90960106
755776
NV9096_CTRL_CMD_GET_ZBC_CLEAR_TABLE_ENTRY = 0x90960107
777+
NV9096_CTRL_CMD_SET_ZBC_COLOR_CLEAR = 0x90960101
756778
)
757779

758780
// From src/common/sdk/nvidia/inc/ctrl/ctrl90e6.h:

pkg/sentry/devices/nvproxy/version.go

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)