NV services: Difference between revisions
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 187: | Line 187: | ||
| 6 || [[#Reset|Reset]] | | 6 || [[#Reset|Reset]] | ||
|- | |- | ||
| 7 || [3.0.0+] | | 7 || [3.0.0+] [[#GetAruid2|GetAruid2]] | ||
|} | |} | ||
Line 210: | Line 210: | ||
== Reset == | == Reset == | ||
No input. Returns an output u32 '''Err'''. | No input. Returns an output u32 '''Err'''. | ||
== GetAruid2 == | |||
Unofficial name. | |||
No input. Returns an output u64 '''Aruid''', an output bool '''IsCoreDumpEnabled''' and an output u32 '''Err'''. | |||
= nvgem:cd = | = nvgem:cd = | ||
Line 224: | Line 229: | ||
| 2 || [1.0.0-8.1.0] [[#ReadNextBlock|ReadNextBlock]] | | 2 || [1.0.0-8.1.0] [[#ReadNextBlock|ReadNextBlock]] | ||
|- | |- | ||
| 3 || [8.0.0+] | | 3 || [8.0.0+] [[#GetNextBlockSize|GetNextBlockSize]] | ||
|- | |- | ||
| 4 || [8.0.0+] | | 4 || [8.0.0+] [[#ReadNextBlock2|ReadNextBlock2]] | ||
|} | |} | ||
Line 237: | Line 242: | ||
== ReadNextBlock == | == ReadNextBlock == | ||
Takes a type-0x6 output buffer. Returns an output u32 '''Err'''. | Takes a type-0x6 output buffer. Returns an output u32 '''Err'''. | ||
== GetNextBlockSize == | |||
Unofficial name. | |||
No input. Returns an output u64 '''Size''' and an output u32 '''Err'''. | |||
== ReadNextBlock2 == | |||
Unofficial name. | |||
Takes a type-0x6 output buffer and two input u64s '''Size''' and '''Offset'''. Returns an output u64 '''OutSize''' and an output u32 '''Err'''. | |||
= nvdbg:d = | = nvdbg:d = | ||
Line 900: | Line 915: | ||
struct { | struct { | ||
__in u32 fence_id; | __in u32 fence_id; | ||
__in u32 | __in u32 fence_value; | ||
__in u32 swap_interval; | __in u32 swap_interval; | ||
}; | }; | ||
Line 1,702: | Line 1,717: | ||
}; | }; | ||
struct { | struct { | ||
__in u32 num_cmdbufs; | __in u32 num_cmdbufs; | ||
Line 1,852: | Line 1,866: | ||
struct fence { | struct fence { | ||
u32 id; | u32 id; | ||
u32 | u32 value; | ||
}; | }; | ||
struct gpfifo_entry { | struct gpfifo_entry { | ||
u32 entry0; // gpu_iova_lo | |||
u32 entry1; // gpu_iova_hi | (allow_flush << 8) | (is_push_buf << 9) | (size << 10) | (sync << 31) | |||
}; | }; | ||
Line 1,862: | Line 1,877: | ||
__in u64 gpfifo; // (ignored) pointer to gpfifo fence structs | __in u64 gpfifo; // (ignored) pointer to gpfifo fence structs | ||
__in u32 num_entries; // number of fence objects being submitted | __in u32 num_entries; // number of fence objects being submitted | ||
__in | union { | ||
__out u32 detailed_error; | |||
__in u32 flags; | |||
}; | |||
__inout struct fence fence_out; // returned new fence object for others to wait on | __inout struct fence fence_out; // returned new fence object for others to wait on | ||
__in struct gpfifo_entry entries[]; // depends on num_entries | __in struct gpfifo_entry entries[]; // depends on num_entries | ||
Line 1,963: | Line 1,981: | ||
struct fence { | struct fence { | ||
u32 id; | u32 id; | ||
u32 | u32 value; | ||
}; | }; | ||