Warning: This file is not a C or C++ file. It does not have highlighting.
1 | #ifndef __NVIF_IF000C_H__ |
---|---|
2 | #define __NVIF_IF000C_H__ |
3 | struct nvif_vmm_v0 { |
4 | __u8 version; |
5 | __u8 page_nr; |
6 | #define NVIF_VMM_V0_TYPE_UNMANAGED 0x00 |
7 | #define NVIF_VMM_V0_TYPE_MANAGED 0x01 |
8 | #define NVIF_VMM_V0_TYPE_RAW 0x02 |
9 | __u8 type; |
10 | __u8 pad03[5]; |
11 | __u64 addr; |
12 | __u64 size; |
13 | __u8 data[]; |
14 | }; |
15 | |
16 | #define NVIF_VMM_V0_PAGE 0x00 |
17 | #define NVIF_VMM_V0_GET 0x01 |
18 | #define NVIF_VMM_V0_PUT 0x02 |
19 | #define NVIF_VMM_V0_MAP 0x03 |
20 | #define NVIF_VMM_V0_UNMAP 0x04 |
21 | #define NVIF_VMM_V0_PFNMAP 0x05 |
22 | #define NVIF_VMM_V0_PFNCLR 0x06 |
23 | #define NVIF_VMM_V0_RAW 0x07 |
24 | #define NVIF_VMM_V0_MTHD(i) ((i) + 0x80) |
25 | |
26 | struct nvif_vmm_page_v0 { |
27 | __u8 version; |
28 | __u8 index; |
29 | __u8 shift; |
30 | __u8 sparse; |
31 | __u8 vram; |
32 | __u8 host; |
33 | __u8 comp; |
34 | __u8 pad07[1]; |
35 | }; |
36 | |
37 | struct nvif_vmm_get_v0 { |
38 | __u8 version; |
39 | #define NVIF_VMM_GET_V0_ADDR 0x00 |
40 | #define NVIF_VMM_GET_V0_PTES 0x01 |
41 | #define NVIF_VMM_GET_V0_LAZY 0x02 |
42 | __u8 type; |
43 | __u8 sparse; |
44 | __u8 page; |
45 | __u8 align; |
46 | __u8 pad05[3]; |
47 | __u64 size; |
48 | __u64 addr; |
49 | }; |
50 | |
51 | struct nvif_vmm_put_v0 { |
52 | __u8 version; |
53 | __u8 pad01[7]; |
54 | __u64 addr; |
55 | }; |
56 | |
57 | struct nvif_vmm_map_v0 { |
58 | __u8 version; |
59 | __u8 pad01[7]; |
60 | __u64 addr; |
61 | __u64 size; |
62 | __u64 memory; |
63 | __u64 offset; |
64 | __u8 data[]; |
65 | }; |
66 | |
67 | struct nvif_vmm_unmap_v0 { |
68 | __u8 version; |
69 | __u8 pad01[7]; |
70 | __u64 addr; |
71 | }; |
72 | |
73 | struct nvif_vmm_raw_v0 { |
74 | __u8 version; |
75 | #define NVIF_VMM_RAW_V0_GET 0x0 |
76 | #define NVIF_VMM_RAW_V0_PUT 0x1 |
77 | #define NVIF_VMM_RAW_V0_MAP 0x2 |
78 | #define NVIF_VMM_RAW_V0_UNMAP 0x3 |
79 | #define NVIF_VMM_RAW_V0_SPARSE 0x4 |
80 | __u8 op; |
81 | __u8 sparse; |
82 | __u8 ref; |
83 | __u8 shift; |
84 | __u32 argc; |
85 | __u8 pad01[7]; |
86 | __u64 addr; |
87 | __u64 size; |
88 | __u64 offset; |
89 | __u64 memory; |
90 | __u64 argv; |
91 | }; |
92 | |
93 | struct nvif_vmm_pfnmap_v0 { |
94 | __u8 version; |
95 | __u8 page; |
96 | __u8 pad02[6]; |
97 | __u64 addr; |
98 | __u64 size; |
99 | #define NVIF_VMM_PFNMAP_V0_ADDR 0xfffffffffffff000ULL |
100 | #define NVIF_VMM_PFNMAP_V0_ADDR_SHIFT 12 |
101 | #define NVIF_VMM_PFNMAP_V0_APER 0x00000000000000f0ULL |
102 | #define NVIF_VMM_PFNMAP_V0_HOST 0x0000000000000000ULL |
103 | #define NVIF_VMM_PFNMAP_V0_VRAM 0x0000000000000010ULL |
104 | #define NVIF_VMM_PFNMAP_V0_A 0x0000000000000004ULL |
105 | #define NVIF_VMM_PFNMAP_V0_W 0x0000000000000002ULL |
106 | #define NVIF_VMM_PFNMAP_V0_V 0x0000000000000001ULL |
107 | #define NVIF_VMM_PFNMAP_V0_NONE 0x0000000000000000ULL |
108 | __u64 phys[]; |
109 | }; |
110 | |
111 | struct nvif_vmm_pfnclr_v0 { |
112 | __u8 version; |
113 | __u8 pad01[7]; |
114 | __u64 addr; |
115 | __u64 size; |
116 | }; |
117 | #endif |
118 |
Warning: This file is not a C or C++ file. It does not have highlighting.