• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************************
2     Copyright (c) 2003-2016 NVIDIA Corporation
3 
4     Permission is hereby granted, free of charge, to any person obtaining a copy
5     of this software and associated documentation files (the "Software"), to
6     deal in the Software without restriction, including without limitation the
7     rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8     sell copies of the Software, and to permit persons to whom the Software is
9     furnished to do so, subject to the following conditions:
10 
11     The above copyright notice and this permission notice shall be
12     included in all copies or substantial portions of the Software.
13 
14     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17     THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20     DEALINGS IN THE SOFTWARE.
21 
22 *******************************************************************************/
23 
24 
25 #ifndef __gh100_dev_mmu_h__
26 #define __gh100_dev_mmu_h__
27 /* This file is autogenerated.  Do not edit */
28 #define NV_MMU_PDE                                                      /* ----G */
29 #define NV_MMU_PDE_APERTURE_BIG                       (0*32+1):(0*32+0) /* RWXVF */
30 #define NV_MMU_PDE_APERTURE_BIG_INVALID                      0x00000000 /* RW--V */
31 #define NV_MMU_PDE_APERTURE_BIG_VIDEO_MEMORY                 0x00000001 /* RW--V */
32 #define NV_MMU_PDE_APERTURE_BIG_SYSTEM_COHERENT_MEMORY       0x00000002 /* RW--V */
33 #define NV_MMU_PDE_APERTURE_BIG_SYSTEM_NON_COHERENT_MEMORY   0x00000003 /* RW--V */
34 #define NV_MMU_PDE_SIZE                               (0*32+3):(0*32+2) /* RWXVF */
35 #define NV_MMU_PDE_SIZE_FULL                                 0x00000000 /* RW--V */
36 #define NV_MMU_PDE_SIZE_HALF                                 0x00000001 /* RW--V */
37 #define NV_MMU_PDE_SIZE_QUARTER                              0x00000002 /* RW--V */
38 #define NV_MMU_PDE_SIZE_EIGHTH                               0x00000003 /* RW--V */
39 #define NV_MMU_PDE_ADDRESS_BIG_SYS                   (0*32+31):(0*32+4) /* RWXVF */
40 #define NV_MMU_PDE_ADDRESS_BIG_VID                   (0*32+31-3):(0*32+4) /* RWXVF */
41 #define NV_MMU_PDE_ADDRESS_BIG_VID_PEER             (0*32+31):(0*32+32-3) /* RWXVF */
42 #define NV_MMU_PDE_ADDRESS_BIG_VID_PEER_0                    0x00000000 /* RW--V */
43 #define NV_MMU_PDE_APERTURE_SMALL                     (1*32+1):(1*32+0) /* RWXVF */
44 #define NV_MMU_PDE_APERTURE_SMALL_INVALID                    0x00000000 /* RW--V */
45 #define NV_MMU_PDE_APERTURE_SMALL_VIDEO_MEMORY               0x00000001 /* RW--V */
46 #define NV_MMU_PDE_APERTURE_SMALL_SYSTEM_COHERENT_MEMORY     0x00000002 /* RW--V */
47 #define NV_MMU_PDE_APERTURE_SMALL_SYSTEM_NON_COHERENT_MEMORY 0x00000003 /* RW--V */
48 #define NV_MMU_PDE_VOL_SMALL                          (1*32+2):(1*32+2) /* RWXVF */
49 #define NV_MMU_PDE_VOL_SMALL_TRUE                            0x00000001 /* RW--V */
50 #define NV_MMU_PDE_VOL_SMALL_FALSE                           0x00000000 /* RW--V */
51 #define NV_MMU_PDE_VOL_BIG                            (1*32+3):(1*32+3) /* RWXVF */
52 #define NV_MMU_PDE_VOL_BIG_TRUE                              0x00000001 /* RW--V */
53 #define NV_MMU_PDE_VOL_BIG_FALSE                             0x00000000 /* RW--V */
54 #define NV_MMU_PDE_ADDRESS_SMALL_SYS                 (1*32+31):(1*32+4) /* RWXVF */
55 #define NV_MMU_PDE_ADDRESS_SMALL_VID                 (1*32+31-3):(1*32+4) /* RWXVF */
56 #define NV_MMU_PDE_ADDRESS_SMALL_VID_PEER           (1*32+31):(1*32+32-3) /* RWXVF */
57 #define NV_MMU_PDE_ADDRESS_SMALL_VID_PEER_0                  0x00000000 /* RW--V */
58 #define NV_MMU_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
59 #define NV_MMU_PDE__SIZE                                              8
60 #define NV_MMU_PTE                                                      /* ----G */
61 #define NV_MMU_PTE_VALID                              (0*32+0):(0*32+0) /* RWXVF */
62 #define NV_MMU_PTE_VALID_TRUE                                       0x1 /* RW--V */
63 #define NV_MMU_PTE_VALID_FALSE                                      0x0 /* RW--V */
64 #define NV_MMU_PTE_PRIVILEGE                          (0*32+1):(0*32+1) /* RWXVF */
65 #define NV_MMU_PTE_PRIVILEGE_TRUE                                   0x1 /* RW--V */
66 #define NV_MMU_PTE_PRIVILEGE_FALSE                                  0x0 /* RW--V */
67 #define NV_MMU_PTE_READ_ONLY                          (0*32+2):(0*32+2) /* RWXVF */
68 #define NV_MMU_PTE_READ_ONLY_TRUE                                  0x1  /* RW--V */
69 #define NV_MMU_PTE_READ_ONLY_FALSE                                 0x0  /* RW--V */
70 #define NV_MMU_PTE_ENCRYPTED                          (0*32+3):(0*32+3) /* RWXVF */
71 #define NV_MMU_PTE_ENCRYPTED_TRUE                            0x00000001 /* R---V */
72 #define NV_MMU_PTE_ENCRYPTED_FALSE                           0x00000000 /* R---V */
73 #define NV_MMU_PTE_ADDRESS_SYS                      (0*32+31):(0*32+4) /* RWXVF */
74 #define NV_MMU_PTE_ADDRESS_VID                      (0*32+31-3):(0*32+4) /* RWXVF */
75 #define NV_MMU_PTE_ADDRESS_VID_PEER                (0*32+31):(0*32+32-3) /* RWXVF */
76 #define NV_MMU_PTE_ADDRESS_VID_PEER_0                       0x00000000 /* RW--V */
77 #define NV_MMU_PTE_ADDRESS_VID_PEER_1                       0x00000001 /* RW--V */
78 #define NV_MMU_PTE_ADDRESS_VID_PEER_2                       0x00000002 /* RW--V */
79 #define NV_MMU_PTE_ADDRESS_VID_PEER_3                       0x00000003 /* RW--V */
80 #define NV_MMU_PTE_ADDRESS_VID_PEER_4                       0x00000004 /* RW--V */
81 #define NV_MMU_PTE_ADDRESS_VID_PEER_5                       0x00000005 /* RW--V */
82 #define NV_MMU_PTE_ADDRESS_VID_PEER_6                       0x00000006 /* RW--V */
83 #define NV_MMU_PTE_ADDRESS_VID_PEER_7                       0x00000007 /* RW--V */
84 #define NV_MMU_PTE_VOL                                (1*32+0):(1*32+0) /* RWXVF */
85 #define NV_MMU_PTE_VOL_TRUE                                  0x00000001 /* RW--V */
86 #define NV_MMU_PTE_VOL_FALSE                                 0x00000000 /* RW--V */
87 #define NV_MMU_PTE_APERTURE                           (1*32+2):(1*32+1) /* RWXVF */
88 #define NV_MMU_PTE_APERTURE_VIDEO_MEMORY                     0x00000000 /* RW--V */
89 #define NV_MMU_PTE_APERTURE_PEER_MEMORY                      0x00000001 /* RW--V */
90 #define NV_MMU_PTE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
91 #define NV_MMU_PTE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
92 #define NV_MMU_PTE_LOCK                               (1*32+3):(1*32+3) /* RWXVF */
93 #define NV_MMU_PTE_LOCK_TRUE                                        0x1 /* RW--V */
94 #define NV_MMU_PTE_LOCK_FALSE                                       0x0 /* RW--V */
95 #define NV_MMU_PTE_ATOMIC_DISABLE                     (1*32+3):(1*32+3) /* RWXVF */
96 #define NV_MMU_PTE_ATOMIC_DISABLE_TRUE                              0x1 /* RW--V */
97 #define NV_MMU_PTE_ATOMIC_DISABLE_FALSE                             0x0 /* RW--V */
98 #define NV_MMU_PTE_COMPTAGLINE                      (1*32+20+11):(1*32+12) /* RWXVF */
99 #define NV_MMU_PTE_READ_DISABLE                     (1*32+30):(1*32+30) /* RWXVF */
100 #define NV_MMU_PTE_READ_DISABLE_TRUE                               0x1  /* RW--V */
101 #define NV_MMU_PTE_READ_DISABLE_FALSE                              0x0  /* RW--V */
102 #define NV_MMU_PTE_WRITE_DISABLE                    (1*32+31):(1*32+31) /* RWXVF */
103 #define NV_MMU_PTE_WRITE_DISABLE_TRUE                              0x1  /* RW--V */
104 #define NV_MMU_PTE_WRITE_DISABLE_FALSE                             0x0  /* RW--V */
105 #define NV_MMU_PTE_ADDRESS_SHIFT                             0x0000000c /*       */
106 #define NV_MMU_PTE__SIZE                                             8
107 #define NV_MMU_PTE_COMPTAGS_NONE                                    0x0 /*       */
108 #define NV_MMU_PTE_COMPTAGS_1                                       0x1 /*       */
109 #define NV_MMU_PTE_COMPTAGS_2                                       0x2 /*       */
110 #define NV_MMU_PTE_KIND                              (1*32+7):(1*32+4) /* RWXVF */
111 #define NV_MMU_PTE_KIND_INVALID                       0x07 /* R---V */
112 #define NV_MMU_PTE_KIND_PITCH                         0x00 /* R---V */
113 #define NV_MMU_PTE_KIND_GENERIC_MEMORY                                                  0x6 /* R---V */
114 #define NV_MMU_PTE_KIND_Z16                                                             0x1 /* R---V */
115 #define NV_MMU_PTE_KIND_S8                                                              0x2 /* R---V */
116 #define NV_MMU_PTE_KIND_S8Z24                                                           0x3 /* R---V */
117 #define NV_MMU_PTE_KIND_ZF32_X24S8                                                      0x4 /* R---V */
118 #define NV_MMU_PTE_KIND_Z24S8                                                           0x5 /* R---V */
119 #define NV_MMU_PTE_KIND_GENERIC_MEMORY_COMPRESSIBLE                                     0x8 /* R---V */
120 #define NV_MMU_PTE_KIND_GENERIC_MEMORY_COMPRESSIBLE_DISABLE_PLC                         0x9 /* R---V */
121 #define NV_MMU_PTE_KIND_S8_COMPRESSIBLE_DISABLE_PLC                                     0xA /* R---V */
122 #define NV_MMU_PTE_KIND_Z16_COMPRESSIBLE_DISABLE_PLC                                    0xB /* R---V */
123 #define NV_MMU_PTE_KIND_S8Z24_COMPRESSIBLE_DISABLE_PLC                                  0xC /* R---V */
124 #define NV_MMU_PTE_KIND_ZF32_X24S8_COMPRESSIBLE_DISABLE_PLC                             0xD /* R---V */
125 #define NV_MMU_PTE_KIND_Z24S8_COMPRESSIBLE_DISABLE_PLC                                  0xE /* R---V */
126 #define NV_MMU_PTE_KIND_SMSKED_MESSAGE                                                  0xF /* R---V */
127 #define NV_MMU_VER1_PDE                                                      /* ----G */
128 #define NV_MMU_VER1_PDE_APERTURE_BIG                       (0*32+1):(0*32+0) /* RWXVF */
129 #define NV_MMU_VER1_PDE_APERTURE_BIG_INVALID                      0x00000000 /* RW--V */
130 #define NV_MMU_VER1_PDE_APERTURE_BIG_VIDEO_MEMORY                 0x00000001 /* RW--V */
131 #define NV_MMU_VER1_PDE_APERTURE_BIG_SYSTEM_COHERENT_MEMORY       0x00000002 /* RW--V */
132 #define NV_MMU_VER1_PDE_APERTURE_BIG_SYSTEM_NON_COHERENT_MEMORY   0x00000003 /* RW--V */
133 #define NV_MMU_VER1_PDE_SIZE                               (0*32+3):(0*32+2) /* RWXVF */
134 #define NV_MMU_VER1_PDE_SIZE_FULL                                 0x00000000 /* RW--V */
135 #define NV_MMU_VER1_PDE_SIZE_HALF                                 0x00000001 /* RW--V */
136 #define NV_MMU_VER1_PDE_SIZE_QUARTER                              0x00000002 /* RW--V */
137 #define NV_MMU_VER1_PDE_SIZE_EIGHTH                               0x00000003 /* RW--V */
138 #define NV_MMU_VER1_PDE_ADDRESS_BIG_SYS                   (0*32+31):(0*32+4) /* RWXVF */
139 #define NV_MMU_VER1_PDE_ADDRESS_BIG_VID                   (0*32+31-3):(0*32+4) /* RWXVF */
140 #define NV_MMU_VER1_PDE_ADDRESS_BIG_VID_PEER             (0*32+31):(0*32+32-3) /* RWXVF */
141 #define NV_MMU_VER1_PDE_ADDRESS_BIG_VID_PEER_0                    0x00000000 /* RW--V */
142 #define NV_MMU_VER1_PDE_APERTURE_SMALL                     (1*32+1):(1*32+0) /* RWXVF */
143 #define NV_MMU_VER1_PDE_APERTURE_SMALL_INVALID                    0x00000000 /* RW--V */
144 #define NV_MMU_VER1_PDE_APERTURE_SMALL_VIDEO_MEMORY               0x00000001 /* RW--V */
145 #define NV_MMU_VER1_PDE_APERTURE_SMALL_SYSTEM_COHERENT_MEMORY     0x00000002 /* RW--V */
146 #define NV_MMU_VER1_PDE_APERTURE_SMALL_SYSTEM_NON_COHERENT_MEMORY 0x00000003 /* RW--V */
147 #define NV_MMU_VER1_PDE_VOL_SMALL                          (1*32+2):(1*32+2) /* RWXVF */
148 #define NV_MMU_VER1_PDE_VOL_SMALL_TRUE                            0x00000001 /* RW--V */
149 #define NV_MMU_VER1_PDE_VOL_SMALL_FALSE                           0x00000000 /* RW--V */
150 #define NV_MMU_VER1_PDE_VOL_BIG                            (1*32+3):(1*32+3) /* RWXVF */
151 #define NV_MMU_VER1_PDE_VOL_BIG_TRUE                              0x00000001 /* RW--V */
152 #define NV_MMU_VER1_PDE_VOL_BIG_FALSE                             0x00000000 /* RW--V */
153 #define NV_MMU_VER1_PDE_ADDRESS_SMALL_SYS                 (1*32+31):(1*32+4) /* RWXVF */
154 #define NV_MMU_VER1_PDE_ADDRESS_SMALL_VID                 (1*32+31-3):(1*32+4) /* RWXVF */
155 #define NV_MMU_VER1_PDE_ADDRESS_SMALL_VID_PEER           (1*32+31):(1*32+32-3) /* RWXVF */
156 #define NV_MMU_VER1_PDE_ADDRESS_SMALL_VID_PEER_0                  0x00000000 /* RW--V */
157 #define NV_MMU_VER1_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
158 #define NV_MMU_VER1_PDE__SIZE                                              8
159 #define NV_MMU_VER1_PTE                                                      /* ----G */
160 #define NV_MMU_VER1_PTE_VALID                              (0*32+0):(0*32+0) /* RWXVF */
161 #define NV_MMU_VER1_PTE_VALID_TRUE                                       0x1 /* RW--V */
162 #define NV_MMU_VER1_PTE_VALID_FALSE                                      0x0 /* RW--V */
163 #define NV_MMU_VER1_PTE_PRIVILEGE                          (0*32+1):(0*32+1) /* RWXVF */
164 #define NV_MMU_VER1_PTE_PRIVILEGE_TRUE                                   0x1 /* RW--V */
165 #define NV_MMU_VER1_PTE_PRIVILEGE_FALSE                                  0x0 /* RW--V */
166 #define NV_MMU_VER1_PTE_READ_ONLY                          (0*32+2):(0*32+2) /* RWXVF */
167 #define NV_MMU_VER1_PTE_READ_ONLY_TRUE                                  0x1  /* RW--V */
168 #define NV_MMU_VER1_PTE_READ_ONLY_FALSE                                 0x0  /* RW--V */
169 #define NV_MMU_VER1_PTE_ENCRYPTED                          (0*32+3):(0*32+3) /* RWXVF */
170 #define NV_MMU_VER1_PTE_ENCRYPTED_TRUE                            0x00000001 /* R---V */
171 #define NV_MMU_VER1_PTE_ENCRYPTED_FALSE                           0x00000000 /* R---V */
172 #define NV_MMU_VER1_PTE_ADDRESS_SYS                      (0*32+31):(0*32+4) /* RWXVF */
173 #define NV_MMU_VER1_PTE_ADDRESS_VID                      (0*32+31-3):(0*32+4) /* RWXVF */
174 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER                (0*32+31):(0*32+32-3) /* RWXVF */
175 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_0                       0x00000000 /* RW--V */
176 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_1                       0x00000001 /* RW--V */
177 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_2                       0x00000002 /* RW--V */
178 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_3                       0x00000003 /* RW--V */
179 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_4                       0x00000004 /* RW--V */
180 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_5                       0x00000005 /* RW--V */
181 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_6                       0x00000006 /* RW--V */
182 #define NV_MMU_VER1_PTE_ADDRESS_VID_PEER_7                       0x00000007 /* RW--V */
183 #define NV_MMU_VER1_PTE_VOL                                (1*32+0):(1*32+0) /* RWXVF */
184 #define NV_MMU_VER1_PTE_VOL_TRUE                                  0x00000001 /* RW--V */
185 #define NV_MMU_VER1_PTE_VOL_FALSE                                 0x00000000 /* RW--V */
186 #define NV_MMU_VER1_PTE_APERTURE                           (1*32+2):(1*32+1) /* RWXVF */
187 #define NV_MMU_VER1_PTE_APERTURE_VIDEO_MEMORY                     0x00000000 /* RW--V */
188 #define NV_MMU_VER1_PTE_APERTURE_PEER_MEMORY                      0x00000001 /* RW--V */
189 #define NV_MMU_VER1_PTE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
190 #define NV_MMU_VER1_PTE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
191 #define NV_MMU_VER1_PTE_ATOMIC_DISABLE                     (1*32+3):(1*32+3) /* RWXVF */
192 #define NV_MMU_VER1_PTE_ATOMIC_DISABLE_TRUE                              0x1 /* RW--V */
193 #define NV_MMU_VER1_PTE_ATOMIC_DISABLE_FALSE                             0x0 /* RW--V */
194 #define NV_MMU_VER1_PTE_COMPTAGLINE                      (1*32+20+11):(1*32+12) /* RWXVF */
195 #define NV_MMU_VER1_PTE_KIND                              (1*32+11):(1*32+4) /* RWXVF */
196 #define NV_MMU_VER1_PTE_ADDRESS_SHIFT                             0x0000000c /*       */
197 #define NV_MMU_VER1_PTE__SIZE                                             8
198 #define NV_MMU_VER1_PTE_COMPTAGS_NONE                                    0x0 /*       */
199 #define NV_MMU_VER1_PTE_COMPTAGS_1                                       0x1 /*       */
200 #define NV_MMU_VER1_PTE_COMPTAGS_2                                       0x2 /*       */
201 #define NV_MMU_NEW_PDE                                                      /* ----G */
202 #define NV_MMU_NEW_PDE_IS_PTE                                           0:0 /* RWXVF */
203 #define NV_MMU_NEW_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
204 #define NV_MMU_NEW_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
205 #define NV_MMU_NEW_PDE_IS_PDE                                           0:0 /* RWXVF */
206 #define NV_MMU_NEW_PDE_IS_PDE_TRUE                                      0x0 /* RW--V */
207 #define NV_MMU_NEW_PDE_IS_PDE_FALSE                                     0x1 /* RW--V */
208 #define NV_MMU_NEW_PDE_VALID                                            0:0 /* RWXVF */
209 #define NV_MMU_NEW_PDE_VALID_TRUE                                       0x1 /* RW--V */
210 #define NV_MMU_NEW_PDE_VALID_FALSE                                      0x0 /* RW--V */
211 #define NV_MMU_NEW_PDE_APERTURE                                         2:1 /* RWXVF */
212 #define NV_MMU_NEW_PDE_APERTURE_INVALID                          0x00000000 /* RW--V */
213 #define NV_MMU_NEW_PDE_APERTURE_VIDEO_MEMORY                     0x00000001 /* RW--V */
214 #define NV_MMU_NEW_PDE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
215 #define NV_MMU_NEW_PDE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
216 #define NV_MMU_NEW_PDE_VOL                                              3:3 /* RWXVF */
217 #define NV_MMU_NEW_PDE_VOL_TRUE                                  0x00000001 /* RW--V */
218 #define NV_MMU_NEW_PDE_VOL_FALSE                                 0x00000000 /* RW--V */
219 #define NV_MMU_NEW_PDE_NO_ATS                                            5:5 /* RWXVF */
220 #define NV_MMU_NEW_PDE_NO_ATS_TRUE                                       0x1 /* RW--V */
221 #define NV_MMU_NEW_PDE_NO_ATS_FALSE                                      0x0 /* RW--V */
222 #define NV_MMU_NEW_PDE_ADDRESS_SYS                                     53:8 /* RWXVF */
223 #define NV_MMU_NEW_PDE_ADDRESS_VID             (35-3):8 /* RWXVF */
224 #define NV_MMU_NEW_PDE_ADDRESS_VID_PEER       35:(36-3) /* RWXVF */
225 #define NV_MMU_NEW_PDE_ADDRESS_VID_PEER_0                        0x00000000 /* RW--V */
226 #define NV_MMU_NEW_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
227 #define NV_MMU_NEW_PDE__SIZE                                              8
228 #define NV_MMU_NEW_DUAL_PDE                                                      /* ----G */
229 #define NV_MMU_NEW_DUAL_PDE_IS_PTE                                           0:0 /* RWXVF */
230 #define NV_MMU_NEW_DUAL_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
231 #define NV_MMU_NEW_DUAL_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
232 #define NV_MMU_NEW_DUAL_PDE_IS_PDE                                           0:0 /* RWXVF */
233 #define NV_MMU_NEW_DUAL_PDE_IS_PDE_TRUE                                      0x0 /* RW--V */
234 #define NV_MMU_NEW_DUAL_PDE_IS_PDE_FALSE                                     0x1 /* RW--V */
235 #define NV_MMU_NEW_DUAL_PDE_VALID                                            0:0 /* RWXVF */
236 #define NV_MMU_NEW_DUAL_PDE_VALID_TRUE                                       0x1 /* RW--V */
237 #define NV_MMU_NEW_DUAL_PDE_VALID_FALSE                                      0x0 /* RW--V */
238 #define NV_MMU_NEW_DUAL_PDE_APERTURE_BIG                                     2:1 /* RWXVF */
239 #define NV_MMU_NEW_DUAL_PDE_APERTURE_BIG_INVALID                      0x00000000 /* RW--V */
240 #define NV_MMU_NEW_DUAL_PDE_APERTURE_BIG_VIDEO_MEMORY                 0x00000001 /* RW--V */
241 #define NV_MMU_NEW_DUAL_PDE_APERTURE_BIG_SYSTEM_COHERENT_MEMORY       0x00000002 /* RW--V */
242 #define NV_MMU_NEW_DUAL_PDE_APERTURE_BIG_SYSTEM_NON_COHERENT_MEMORY   0x00000003 /* RW--V */
243 #define NV_MMU_NEW_DUAL_PDE_VOL_BIG                                          3:3 /* RWXVF */
244 #define NV_MMU_NEW_DUAL_PDE_VOL_BIG_TRUE                              0x00000001 /* RW--V */
245 #define NV_MMU_NEW_DUAL_PDE_VOL_BIG_FALSE                             0x00000000 /* RW--V */
246 #define NV_MMU_NEW_DUAL_PDE_NO_ATS                                       5:5 /* RWXVF */
247 #define NV_MMU_NEW_DUAL_PDE_NO_ATS_TRUE                                  0x1 /* RW--V */
248 #define NV_MMU_NEW_DUAL_PDE_NO_ATS_FALSE                                 0x0 /* RW--V */
249 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_BIG_SYS                                 53:(8-4) /* RWXVF */
250 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_BIG_VID         (35-3):(8-4) /* RWXVF */
251 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_BIG_VID_PEER   35:(36-3) /* RWXVF */
252 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_BIG_VID_PEER_0                    0x00000000 /* RW--V */
253 #define NV_MMU_NEW_DUAL_PDE_APERTURE_SMALL                                 66:65 /* RWXVF */
254 #define NV_MMU_NEW_DUAL_PDE_APERTURE_SMALL_INVALID                    0x00000000 /* RW--V */
255 #define NV_MMU_NEW_DUAL_PDE_APERTURE_SMALL_VIDEO_MEMORY               0x00000001 /* RW--V */
256 #define NV_MMU_NEW_DUAL_PDE_APERTURE_SMALL_SYSTEM_COHERENT_MEMORY     0x00000002 /* RW--V */
257 #define NV_MMU_NEW_DUAL_PDE_APERTURE_SMALL_SYSTEM_NON_COHERENT_MEMORY 0x00000003 /* RW--V */
258 #define NV_MMU_NEW_DUAL_PDE_VOL_SMALL                                      67:67 /* RWXVF */
259 #define NV_MMU_NEW_DUAL_PDE_VOL_SMALL_TRUE                            0x00000001 /* RW--V */
260 #define NV_MMU_NEW_DUAL_PDE_VOL_SMALL_FALSE                           0x00000000 /* RW--V */
261 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_SMALL_SYS                             117:72 /* RWXVF */
262 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_SMALL_VID      (99-3):72 /* RWXVF */
263 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_SMALL_VID_PEER 99:(100-3) /* RWXVF */
264 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_SMALL_VID_PEER_0                  0x00000000 /* RW--V */
265 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
266 #define NV_MMU_NEW_DUAL_PDE_ADDRESS_BIG_SHIFT 8 /*       */
267 #define NV_MMU_NEW_DUAL_PDE__SIZE                                             16
268 #define NV_MMU_NEW_PTE                                                      /* ----G */
269 #define NV_MMU_NEW_PTE_VALID                                            0:0 /* RWXVF */
270 #define NV_MMU_NEW_PTE_VALID_TRUE                                       0x1 /* RW--V */
271 #define NV_MMU_NEW_PTE_VALID_FALSE                                      0x0 /* RW--V */
272 #define NV_MMU_NEW_PTE_APERTURE                                         2:1 /* RWXVF */
273 #define NV_MMU_NEW_PTE_APERTURE_VIDEO_MEMORY                     0x00000000 /* RW--V */
274 #define NV_MMU_NEW_PTE_APERTURE_PEER_MEMORY                      0x00000001 /* RW--V */
275 #define NV_MMU_NEW_PTE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
276 #define NV_MMU_NEW_PTE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
277 #define NV_MMU_NEW_PTE_VOL                                              3:3 /* RWXVF */
278 #define NV_MMU_NEW_PTE_VOL_TRUE                                  0x00000001 /* RW--V */
279 #define NV_MMU_NEW_PTE_VOL_FALSE                                 0x00000000 /* RW--V */
280 #define NV_MMU_NEW_PTE_ENCRYPTED                                        4:4 /* RWXVF */
281 #define NV_MMU_NEW_PTE_ENCRYPTED_TRUE                            0x00000001 /* R---V */
282 #define NV_MMU_NEW_PTE_ENCRYPTED_FALSE                           0x00000000 /* R---V */
283 #define NV_MMU_NEW_PTE_PRIVILEGE                                        5:5 /* RWXVF */
284 #define NV_MMU_NEW_PTE_PRIVILEGE_TRUE                                   0x1 /* RW--V */
285 #define NV_MMU_NEW_PTE_PRIVILEGE_FALSE                                  0x0 /* RW--V */
286 #define NV_MMU_NEW_PTE_READ_ONLY                                        6:6 /* RWXVF */
287 #define NV_MMU_NEW_PTE_READ_ONLY_TRUE                                   0x1 /* RW--V */
288 #define NV_MMU_NEW_PTE_READ_ONLY_FALSE                                  0x0 /* RW--V */
289 #define NV_MMU_NEW_PTE_ATOMIC_DISABLE                                   7:7 /* RWXVF */
290 #define NV_MMU_NEW_PTE_ATOMIC_DISABLE_TRUE                              0x1 /* RW--V */
291 #define NV_MMU_NEW_PTE_ATOMIC_DISABLE_FALSE                             0x0 /* RW--V */
292 #define NV_MMU_NEW_PTE_ADDRESS_SYS                                     53:8 /* RWXVF */
293 #define NV_MMU_NEW_PTE_ADDRESS_VID             (35-3):8 /* RWXVF */
294 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER       35:(36-3) /* RWXVF */
295 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_0                        0x00000000 /* RW--V */
296 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_1                        0x00000001 /* RW--V */
297 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_2                        0x00000002 /* RW--V */
298 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_3                        0x00000003 /* RW--V */
299 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_4                        0x00000004 /* RW--V */
300 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_5                        0x00000005 /* RW--V */
301 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_6                        0x00000006 /* RW--V */
302 #define NV_MMU_NEW_PTE_ADDRESS_VID_PEER_7                        0x00000007 /* RW--V */
303 #define NV_MMU_NEW_PTE_COMPTAGLINE   (20+35):36 /* RWXVF */
304 #define NV_MMU_NEW_PTE_KIND                                           63:56 /* RWXVF */
305 #define NV_MMU_NEW_PTE_ADDRESS_SHIFT                             0x0000000c /*       */
306 #define NV_MMU_NEW_PTE__SIZE                                              8
307 #define NV_MMU_VER2_PDE                                                      /* ----G */
308 #define NV_MMU_VER2_PDE_IS_PTE                                           0:0 /* RWXVF */
309 #define NV_MMU_VER2_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
310 #define NV_MMU_VER2_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
311 #define NV_MMU_VER2_PDE_IS_PDE                                           0:0 /* RWXVF */
312 #define NV_MMU_VER2_PDE_IS_PDE_TRUE                                      0x0 /* RW--V */
313 #define NV_MMU_VER2_PDE_IS_PDE_FALSE                                     0x1 /* RW--V */
314 #define NV_MMU_VER2_PDE_VALID                                            0:0 /* RWXVF */
315 #define NV_MMU_VER2_PDE_VALID_TRUE                                       0x1 /* RW--V */
316 #define NV_MMU_VER2_PDE_VALID_FALSE                                      0x0 /* RW--V */
317 #define NV_MMU_VER2_PDE_APERTURE                                         2:1 /* RWXVF */
318 #define NV_MMU_VER2_PDE_APERTURE_INVALID                          0x00000000 /* RW--V */
319 #define NV_MMU_VER2_PDE_APERTURE_VIDEO_MEMORY                     0x00000001 /* RW--V */
320 #define NV_MMU_VER2_PDE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
321 #define NV_MMU_VER2_PDE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
322 #define NV_MMU_VER2_PDE_VOL                                              3:3 /* RWXVF */
323 #define NV_MMU_VER2_PDE_VOL_TRUE                                  0x00000001 /* RW--V */
324 #define NV_MMU_VER2_PDE_VOL_FALSE                                 0x00000000 /* RW--V */
325 #define NV_MMU_VER2_PDE_NO_ATS                                           5:5 /* RWXVF */
326 #define NV_MMU_VER2_PDE_NO_ATS_TRUE                                      0x1 /* RW--V */
327 #define NV_MMU_VER2_PDE_NO_ATS_FALSE                                     0x0 /* RW--V */
328 #define NV_MMU_VER2_PDE_ADDRESS_SYS                                     53:8 /* RWXVF */
329 #define NV_MMU_VER2_PDE_ADDRESS_VID             (35-3):8 /* RWXVF */
330 #define NV_MMU_VER2_PDE_ADDRESS_VID_PEER       35:(36-3) /* RWXVF */
331 #define NV_MMU_VER2_PDE_ADDRESS_VID_PEER_0                        0x00000000 /* RW--V */
332 #define NV_MMU_VER2_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
333 #define NV_MMU_VER2_PDE__SIZE                                              8
334 #define NV_MMU_VER2_DUAL_PDE                                                      /* ----G */
335 #define NV_MMU_VER2_DUAL_PDE_IS_PTE                                           0:0 /* RWXVF */
336 #define NV_MMU_VER2_DUAL_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
337 #define NV_MMU_VER2_DUAL_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
338 #define NV_MMU_VER2_DUAL_PDE_IS_PDE                                           0:0 /* RWXVF */
339 #define NV_MMU_VER2_DUAL_PDE_IS_PDE_TRUE                                      0x0 /* RW--V */
340 #define NV_MMU_VER2_DUAL_PDE_IS_PDE_FALSE                                     0x1 /* RW--V */
341 #define NV_MMU_VER2_DUAL_PDE_VALID                                            0:0 /* RWXVF */
342 #define NV_MMU_VER2_DUAL_PDE_VALID_TRUE                                       0x1 /* RW--V */
343 #define NV_MMU_VER2_DUAL_PDE_VALID_FALSE                                      0x0 /* RW--V */
344 #define NV_MMU_VER2_DUAL_PDE_APERTURE_BIG                                     2:1 /* RWXVF */
345 #define NV_MMU_VER2_DUAL_PDE_APERTURE_BIG_INVALID                      0x00000000 /* RW--V */
346 #define NV_MMU_VER2_DUAL_PDE_APERTURE_BIG_VIDEO_MEMORY                 0x00000001 /* RW--V */
347 #define NV_MMU_VER2_DUAL_PDE_APERTURE_BIG_SYSTEM_COHERENT_MEMORY       0x00000002 /* RW--V */
348 #define NV_MMU_VER2_DUAL_PDE_APERTURE_BIG_SYSTEM_NON_COHERENT_MEMORY   0x00000003 /* RW--V */
349 #define NV_MMU_VER2_DUAL_PDE_VOL_BIG                                          3:3 /* RWXVF */
350 #define NV_MMU_VER2_DUAL_PDE_VOL_BIG_TRUE                              0x00000001 /* RW--V */
351 #define NV_MMU_VER2_DUAL_PDE_VOL_BIG_FALSE                             0x00000000 /* RW--V */
352 #define NV_MMU_VER2_DUAL_PDE_NO_ATS                                      5:5 /* RWXVF */
353 #define NV_MMU_VER2_DUAL_PDE_NO_ATS_TRUE                                 0x1 /* RW--V */
354 #define NV_MMU_VER2_DUAL_PDE_NO_ATS_FALSE                                0x0 /* RW--V */
355 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_BIG_SYS                                 53:(8-4) /* RWXVF */
356 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_BIG_VID         (35-3):(8-4) /* RWXVF */
357 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_BIG_VID_PEER   35:(36-3) /* RWXVF */
358 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_BIG_VID_PEER_0                    0x00000000 /* RW--V */
359 #define NV_MMU_VER2_DUAL_PDE_APERTURE_SMALL                                 66:65 /* RWXVF */
360 #define NV_MMU_VER2_DUAL_PDE_APERTURE_SMALL_INVALID                    0x00000000 /* RW--V */
361 #define NV_MMU_VER2_DUAL_PDE_APERTURE_SMALL_VIDEO_MEMORY               0x00000001 /* RW--V */
362 #define NV_MMU_VER2_DUAL_PDE_APERTURE_SMALL_SYSTEM_COHERENT_MEMORY     0x00000002 /* RW--V */
363 #define NV_MMU_VER2_DUAL_PDE_APERTURE_SMALL_SYSTEM_NON_COHERENT_MEMORY 0x00000003 /* RW--V */
364 #define NV_MMU_VER2_DUAL_PDE_VOL_SMALL                                      67:67 /* RWXVF */
365 #define NV_MMU_VER2_DUAL_PDE_VOL_SMALL_TRUE                            0x00000001 /* RW--V */
366 #define NV_MMU_VER2_DUAL_PDE_VOL_SMALL_FALSE                           0x00000000 /* RW--V */
367 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_SMALL_SYS                             117:72 /* RWXVF */
368 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_SMALL_VID      (99-3):72 /* RWXVF */
369 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_SMALL_VID_PEER 99:(100-3) /* RWXVF */
370 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_SMALL_VID_PEER_0                  0x00000000 /* RW--V */
371 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
372 #define NV_MMU_VER2_DUAL_PDE_ADDRESS_BIG_SHIFT 8 /*       */
373 #define NV_MMU_VER2_DUAL_PDE__SIZE                                             16
374 #define NV_MMU_VER2_PTE                                                      /* ----G */
375 #define NV_MMU_VER2_PTE_VALID                                            0:0 /* RWXVF */
376 #define NV_MMU_VER2_PTE_VALID_TRUE                                       0x1 /* RW--V */
377 #define NV_MMU_VER2_PTE_VALID_FALSE                                      0x0 /* RW--V */
378 #define NV_MMU_VER2_PTE_APERTURE                                         2:1 /* RWXVF */
379 #define NV_MMU_VER2_PTE_APERTURE_VIDEO_MEMORY                     0x00000000 /* RW--V */
380 #define NV_MMU_VER2_PTE_APERTURE_PEER_MEMORY                      0x00000001 /* RW--V */
381 #define NV_MMU_VER2_PTE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
382 #define NV_MMU_VER2_PTE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
383 #define NV_MMU_VER2_PTE_VOL                                              3:3 /* RWXVF */
384 #define NV_MMU_VER2_PTE_VOL_TRUE                                  0x00000001 /* RW--V */
385 #define NV_MMU_VER2_PTE_VOL_FALSE                                 0x00000000 /* RW--V */
386 #define NV_MMU_VER2_PTE_ENCRYPTED                                        4:4 /* RWXVF */
387 #define NV_MMU_VER2_PTE_ENCRYPTED_TRUE                            0x00000001 /* R---V */
388 #define NV_MMU_VER2_PTE_ENCRYPTED_FALSE                           0x00000000 /* R---V */
389 #define NV_MMU_VER2_PTE_PRIVILEGE                                        5:5 /* RWXVF */
390 #define NV_MMU_VER2_PTE_PRIVILEGE_TRUE                                   0x1 /* RW--V */
391 #define NV_MMU_VER2_PTE_PRIVILEGE_FALSE                                  0x0 /* RW--V */
392 #define NV_MMU_VER2_PTE_READ_ONLY                                        6:6 /* RWXVF */
393 #define NV_MMU_VER2_PTE_READ_ONLY_TRUE                                   0x1 /* RW--V */
394 #define NV_MMU_VER2_PTE_READ_ONLY_FALSE                                  0x0 /* RW--V */
395 #define NV_MMU_VER2_PTE_ATOMIC_DISABLE                                   7:7 /* RWXVF */
396 #define NV_MMU_VER2_PTE_ATOMIC_DISABLE_TRUE                              0x1 /* RW--V */
397 #define NV_MMU_VER2_PTE_ATOMIC_DISABLE_FALSE                             0x0 /* RW--V */
398 #define NV_MMU_VER2_PTE_ADDRESS_SYS                                     53:8 /* RWXVF */
399 #define NV_MMU_VER2_PTE_ADDRESS_VID             (35-3):8 /* RWXVF */
400 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER       35:(36-3) /* RWXVF */
401 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_0                        0x00000000 /* RW--V */
402 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_1                        0x00000001 /* RW--V */
403 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_2                        0x00000002 /* RW--V */
404 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_3                        0x00000003 /* RW--V */
405 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_4                        0x00000004 /* RW--V */
406 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_5                        0x00000005 /* RW--V */
407 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_6                        0x00000006 /* RW--V */
408 #define NV_MMU_VER2_PTE_ADDRESS_VID_PEER_7                        0x00000007 /* RW--V */
409 #define NV_MMU_VER2_PTE_COMPTAGLINE   (20+35):36 /* RWXVF */
410 #define NV_MMU_VER2_PTE_KIND                                           63:56 /* RWXVF */
411 #define NV_MMU_VER2_PTE_ADDRESS_SHIFT                             0x0000000c /*       */
412 #define NV_MMU_VER2_PTE__SIZE                                              8
413 #define NV_MMU_VER3_PDE                                                      /* ----G */
414 #define NV_MMU_VER3_PDE_IS_PTE                                           0:0 /* RWXVF */
415 #define NV_MMU_VER3_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
416 #define NV_MMU_VER3_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
417 #define NV_MMU_VER3_PDE_VALID                                            0:0 /* RWXVF */
418 #define NV_MMU_VER3_PDE_VALID_TRUE                                       0x1 /* RW--V */
419 #define NV_MMU_VER3_PDE_VALID_FALSE                                      0x0 /* RW--V */
420 #define NV_MMU_VER3_PDE_APERTURE                                         2:1 /* RWXVF */
421 #define NV_MMU_VER3_PDE_APERTURE_INVALID                          0x00000000 /* RW--V */
422 #define NV_MMU_VER3_PDE_APERTURE_VIDEO_MEMORY                     0x00000001 /* RW--V */
423 #define NV_MMU_VER3_PDE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
424 #define NV_MMU_VER3_PDE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
425 #define NV_MMU_VER3_PDE_PCF                                                                        5:3 /* RWXVF */
426 #define NV_MMU_VER3_PDE_PCF_VALID_CACHED_ATS_ALLOWED__OR__INVALID_ATS_ALLOWED               0x00000000 /* RW--V */
427 #define NV_MMU_VER3_PDE_PCF_VALID_CACHED_ATS_ALLOWED                                        0x00000000 /* RW--V */
428 #define NV_MMU_VER3_PDE_PCF_INVALID_ATS_ALLOWED                                             0x00000000 /* RW--V */
429 #define NV_MMU_VER3_PDE_PCF_VALID_UNCACHED_ATS_ALLOWED__OR__SPARSE_ATS_ALLOWED              0x00000001 /* RW--V */
430 #define NV_MMU_VER3_PDE_PCF_VALID_UNCACHED_ATS_ALLOWED                                      0x00000001 /* RW--V */
431 #define NV_MMU_VER3_PDE_PCF_SPARSE_ATS_ALLOWED                                              0x00000001 /* RW--V */
432 #define NV_MMU_VER3_PDE_PCF_VALID_CACHED_ATS_NOT_ALLOWED__OR__INVALID_ATS_NOT_ALLOWED       0x00000002 /* RW--V */
433 #define NV_MMU_VER3_PDE_PCF_VALID_CACHED_ATS_NOT_ALLOWED                                    0x00000002 /* RW--V */
434 #define NV_MMU_VER3_PDE_PCF_INVALID_ATS_NOT_ALLOWED                                         0x00000002 /* RW--V */
435 #define NV_MMU_VER3_PDE_PCF_VALID_UNCACHED_ATS_NOT_ALLOWED__OR__SPARSE_ATS_NOT_ALLOWED      0x00000003 /* RW--V */
436 #define NV_MMU_VER3_PDE_PCF_VALID_UNCACHED_ATS_NOT_ALLOWED                                  0x00000003 /* RW--V */
437 #define NV_MMU_VER3_PDE_PCF_SPARSE_ATS_NOT_ALLOWED                                          0x00000003 /* RW--V */
438 #define NV_MMU_VER3_PDE_ADDRESS                                             51:12 /* RWXVF */
439 #define NV_MMU_VER3_PDE_ADDRESS_SHIFT                                  0x0000000c /*       */
440 #define NV_MMU_VER3_PDE__SIZE                                              8
441 #define NV_MMU_VER3_DUAL_PDE                                                      /* ----G */
442 #define NV_MMU_VER3_DUAL_PDE_IS_PTE                                           0:0 /* RWXVF */
443 #define NV_MMU_VER3_DUAL_PDE_IS_PTE_TRUE                                      0x1 /* RW--V */
444 #define NV_MMU_VER3_DUAL_PDE_IS_PTE_FALSE                                     0x0 /* RW--V */
445 #define NV_MMU_VER3_DUAL_PDE_VALID                                            0:0 /* RWXVF */
446 #define NV_MMU_VER3_DUAL_PDE_VALID_TRUE                                       0x1 /* RW--V */
447 #define NV_MMU_VER3_DUAL_PDE_VALID_FALSE                                      0x0 /* RW--V */
448 #define NV_MMU_VER3_DUAL_PDE_APERTURE_BIG                                     2:1 /* RWXVF */
449 #define NV_MMU_VER3_DUAL_PDE_APERTURE_BIG_INVALID                      0x00000000 /* RW--V */
450 #define NV_MMU_VER3_DUAL_PDE_APERTURE_BIG_VIDEO_MEMORY                 0x00000001 /* RW--V */
451 #define NV_MMU_VER3_DUAL_PDE_APERTURE_BIG_SYSTEM_COHERENT_MEMORY       0x00000002 /* RW--V */
452 #define NV_MMU_VER3_DUAL_PDE_APERTURE_BIG_SYSTEM_NON_COHERENT_MEMORY   0x00000003 /* RW--V */
453 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG                                                                        5:3 /* RWXVF */
454 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_CACHED_ATS_ALLOWED__OR__INVALID_ATS_ALLOWED               0x00000000 /* RW--V */
455 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_CACHED_ATS_ALLOWED                                        0x00000000 /* RW--V */
456 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_INVALID_ATS_ALLOWED                                             0x00000000 /* RW--V */
457 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_UNCACHED_ATS_ALLOWED__OR__SPARSE_ATS_ALLOWED              0x00000001 /* RW--V */
458 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_UNCACHED_ATS_ALLOWED                                      0x00000001 /* RW--V */
459 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_SPARSE_ATS_ALLOWED                                              0x00000001 /* RW--V */
460 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_CACHED_ATS_NOT_ALLOWED__OR__INVALID_ATS_NOT_ALLOWED       0x00000002 /* RW--V */
461 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_CACHED_ATS_NOT_ALLOWED                                    0x00000002 /* RW--V */
462 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_INVALID_ATS_NOT_ALLOWED                                         0x00000002 /* RW--V */
463 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_UNCACHED_ATS_NOT_ALLOWED__OR__SPARSE_ATS_NOT_ALLOWED      0x00000003 /* RW--V */
464 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_VALID_UNCACHED_ATS_NOT_ALLOWED                                  0x00000003 /* RW--V */
465 #define NV_MMU_VER3_DUAL_PDE_PCF_BIG_SPARSE_ATS_NOT_ALLOWED                                          0x00000003 /* RW--V */
466 #define NV_MMU_VER3_DUAL_PDE_ADDRESS_BIG                                     51:8 /* RWXVF */
467 #define NV_MMU_VER3_DUAL_PDE_APERTURE_SMALL                                 66:65 /* RWXVF */
468 #define NV_MMU_VER3_DUAL_PDE_APERTURE_SMALL_INVALID                    0x00000000 /* RW--V */
469 #define NV_MMU_VER3_DUAL_PDE_APERTURE_SMALL_VIDEO_MEMORY               0x00000001 /* RW--V */
470 #define NV_MMU_VER3_DUAL_PDE_APERTURE_SMALL_SYSTEM_COHERENT_MEMORY     0x00000002 /* RW--V */
471 #define NV_MMU_VER3_DUAL_PDE_APERTURE_SMALL_SYSTEM_NON_COHERENT_MEMORY 0x00000003 /* RW--V */
472 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL                                                                      69:67 /* RWXVF */
473 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_CACHED_ATS_ALLOWED__OR__INVALID_ATS_ALLOWED               0x00000000 /* RW--V */
474 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_CACHED_ATS_ALLOWED                                        0x00000000 /* RW--V */
475 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_INVALID_ATS_ALLOWED                                             0x00000000 /* RW--V */
476 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_UNCACHED_ATS_ALLOWED__OR__SPARSE_ATS_ALLOWED              0x00000001 /* RW--V */
477 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_UNCACHED_ATS_ALLOWED                                      0x00000001 /* RW--V */
478 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_SPARSE_ATS_ALLOWED                                              0x00000001 /* RW--V */
479 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_CACHED_ATS_NOT_ALLOWED__OR__INVALID_ATS_NOT_ALLOWED       0x00000002 /* RW--V */
480 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_CACHED_ATS_NOT_ALLOWED                                    0x00000002 /* RW--V */
481 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_INVALID_ATS_NOT_ALLOWED                                         0x00000002 /* RW--V */
482 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_UNCACHED_ATS_NOT_ALLOWED__OR__SPARSE_ATS_NOT_ALLOWED      0x00000003 /* RW--V */
483 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_VALID_UNCACHED_ATS_NOT_ALLOWED                                  0x00000003 /* RW--V */
484 #define NV_MMU_VER3_DUAL_PDE_PCF_SMALL_SPARSE_ATS_NOT_ALLOWED                                          0x00000003 /* RW--V */
485 #define NV_MMU_VER3_DUAL_PDE_ADDRESS_SMALL                                 115:76 /* RWXVF */
486 #define NV_MMU_VER3_DUAL_PDE_ADDRESS_SHIFT                             0x0000000c /*       */
487 #define NV_MMU_VER3_DUAL_PDE_ADDRESS_BIG_SHIFT 8 /*       */
488 #define NV_MMU_VER3_DUAL_PDE__SIZE                                             16
489 #define NV_MMU_VER3_PTE                                                      /* ----G */
490 #define NV_MMU_VER3_PTE_VALID                                            0:0 /* RWXVF */
491 #define NV_MMU_VER3_PTE_VALID_TRUE                                       0x1 /* RW--V */
492 #define NV_MMU_VER3_PTE_VALID_FALSE                                      0x0 /* RW--V */
493 #define NV_MMU_VER3_PTE_APERTURE                                         2:1 /* RWXVF */
494 #define NV_MMU_VER3_PTE_APERTURE_VIDEO_MEMORY                     0x00000000 /* RW--V */
495 #define NV_MMU_VER3_PTE_APERTURE_PEER_MEMORY                      0x00000001 /* RW--V */
496 #define NV_MMU_VER3_PTE_APERTURE_SYSTEM_COHERENT_MEMORY           0x00000002 /* RW--V */
497 #define NV_MMU_VER3_PTE_APERTURE_SYSTEM_NON_COHERENT_MEMORY       0x00000003 /* RW--V */
498 #define NV_MMU_VER3_PTE_PCF                                                                        7:3 /* RWXVF */
499 #define NV_MMU_VER3_PTE_PCF_INVALID                                                         0x00000000 /* RW--V */
500 #define NV_MMU_VER3_PTE_PCF_SPARSE                                                          0x00000001 /* RW--V */
501 #define NV_MMU_VER3_PTE_PCF_MAPPING_NOWHERE                                                 0x00000002 /* RW--V */
502 #define NV_MMU_VER3_PTE_PCF_NO_VALID_4KB_PAGE                                               0x00000003 /* RW--V */
503 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_ATOMIC_CACHED_ACE                                    0x00000000 /* RW--V */
504 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_ATOMIC_UNCACHED_ACE                                  0x00000001 /* RW--V */
505 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_ATOMIC_CACHED_ACE                                  0x00000002 /* RW--V */
506 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_ATOMIC_UNCACHED_ACE                                0x00000003 /* RW--V */
507 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_ATOMIC_CACHED_ACE                                    0x00000004 /* RW--V */
508 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_ATOMIC_UNCACHED_ACE                                   0x00000005 /* RW--V */
509 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_ATOMIC_CACHED_ACE                                  0x00000006 /* RW--V */
510 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_ATOMIC_UNCACHED_ACE                                0x00000007 /* RW--V */
511 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_NO_ATOMIC_CACHED_ACE                                 0x00000008 /* RW--V */
512 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_NO_ATOMIC_UNCACHED_ACE                               0x00000009 /* RW--V */
513 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_NO_ATOMIC_CACHED_ACE                               0x0000000A /* RW--V */
514 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_NO_ATOMIC_UNCACHED_ACE                             0x0000000B /* RW--V */
515 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_NO_ATOMIC_CACHED_ACE                                 0x0000000C /* RW--V */
516 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_NO_ATOMIC_UNCACHED_ACE                               0x0000000D /* RW--V */
517 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_NO_ATOMIC_CACHED_ACE                               0x0000000E /* RW--V */
518 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_NO_ATOMIC_UNCACHED_ACE                             0x0000000F /* RW--V */
519 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_ATOMIC_CACHED_ACD                                    0x00000010 /* RW--V */
520 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_ATOMIC_UNCACHED_ACD                                  0x00000011 /* RW--V */
521 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_ATOMIC_CACHED_ACD                                  0x00000012 /* RW--V */
522 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_ATOMIC_UNCACHED_ACD                                0x00000013 /* RW--V */
523 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_ATOMIC_CACHED_ACD                                    0x00000014 /* RW--V */
524 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_ATOMIC_UNCACHED_ACD                                  0x00000015 /* RW--V */
525 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_ATOMIC_CACHED_ACD                                  0x00000016 /* RW--V */
526 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_ATOMIC_UNCACHED_ACD                                0x00000017 /* RW--V */
527 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_NO_ATOMIC_CACHED_ACD                                 0x00000018 /* RW--V */
528 #define NV_MMU_VER3_PTE_PCF_REGULAR_RW_NO_ATOMIC_UNCACHED_ACD                               0x00000019 /* RW--V */
529 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_NO_ATOMIC_CACHED_ACD                               0x0000001A /* RW--V */
530 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RW_NO_ATOMIC_UNCACHED_ACD                             0x0000001B /* RW--V */
531 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_NO_ATOMIC_CACHED_ACD                                 0x0000001C /* RW--V */
532 #define NV_MMU_VER3_PTE_PCF_REGULAR_RO_NO_ATOMIC_UNCACHED_ACD                               0x0000001D /* RW--V */
533 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_NO_ATOMIC_CACHED_ACD                               0x0000001E /* RW--V */
534 #define NV_MMU_VER3_PTE_PCF_PRIVILEGE_RO_NO_ATOMIC_UNCACHED_ACD                             0x0000001F /* RW--V */
535 #define NV_MMU_VER3_PTE_KIND                                           11:8 /* RWXVF */
536 #define NV_MMU_VER3_PTE_ADDRESS                                         51:12 /* RWXVF */
537 #define NV_MMU_VER3_PTE_ADDRESS_SYS                                     51:12 /* RWXVF */
538 #define NV_MMU_VER3_PTE_ADDRESS_PEER                                    51:12 /* RWXVF */
539 #define NV_MMU_VER3_PTE_ADDRESS_VID                                     39:12 /* RWXVF */
540 #define NV_MMU_VER3_PTE_PEER_ID                63:(64-3) /* RWXVF */
541 #define NV_MMU_VER3_PTE_PEER_ID_0                                 0x00000000 /* RW--V */
542 #define NV_MMU_VER3_PTE_PEER_ID_1                                 0x00000001 /* RW--V */
543 #define NV_MMU_VER3_PTE_PEER_ID_2                                 0x00000002 /* RW--V */
544 #define NV_MMU_VER3_PTE_PEER_ID_3                                 0x00000003 /* RW--V */
545 #define NV_MMU_VER3_PTE_PEER_ID_4                                 0x00000004 /* RW--V */
546 #define NV_MMU_VER3_PTE_PEER_ID_5                                 0x00000005 /* RW--V */
547 #define NV_MMU_VER3_PTE_PEER_ID_6                                 0x00000006 /* RW--V */
548 #define NV_MMU_VER3_PTE_PEER_ID_7                                 0x00000007 /* RW--V */
549 #define NV_MMU_VER3_PTE_ADDRESS_SHIFT                             0x0000000c /*       */
550 #define NV_MMU_VER3_PTE__SIZE                                              8
551 #define NV_MMU_CLIENT                                             /* ----G */
552 #define NV_MMU_CLIENT_KIND                                    2:0 /* RWXVF */
553 #define NV_MMU_CLIENT_KIND_Z16                                0x1 /* R---V */
554 #define NV_MMU_CLIENT_KIND_S8                                 0x2 /* R---V */
555 #define NV_MMU_CLIENT_KIND_S8Z24                              0x3 /* R---V */
556 #define NV_MMU_CLIENT_KIND_ZF32_X24S8                         0x4 /* R---V */
557 #define NV_MMU_CLIENT_KIND_Z24S8                              0x5 /* R---V */
558 #define NV_MMU_CLIENT_KIND_GENERIC_MEMORY                     0x6 /* R---V */
559 #define NV_MMU_CLIENT_KIND_INVALID                            0x7 /* R---V */
560 #endif // __gh100_dev_mmu_h__
561