OSDN Git Service

ebe4b1f6fd6a04322dd60d15a406b90f5f4caa8c
[android-x86/external-libdrm.git] / shared-core / nv50_graph.c
1 /*
2  * Copyright (C) 2007 Ben Skeggs.
3  * All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice (including the
14  * next paragraph) shall be included in all copies or substantial
15  * portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20  * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
21  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24  *
25  */
26
27 #include "drmP.h"
28 #include "drm.h"
29 #include "nouveau_drv.h"
30
31 #define IS_G80 ((dev_priv->chipset & 0xf0) == 0x50)
32
33 static void
34 nv50_graph_init_reset(struct drm_device *dev)
35 {
36         struct drm_nouveau_private *dev_priv = dev->dev_private;
37         uint32_t pmc_e = NV_PMC_ENABLE_PGRAPH | (1 << 21);
38
39         DRM_DEBUG("\n");
40
41         NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) & ~pmc_e);
42         NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |  pmc_e);
43 }
44
45 static void
46 nv50_graph_init_intr(struct drm_device *dev)
47 {
48         struct drm_nouveau_private *dev_priv = dev->dev_private;
49
50         DRM_DEBUG("\n");
51         NV_WRITE(NV03_PGRAPH_INTR, 0xffffffff);
52         NV_WRITE(0x400138, 0xffffffff);
53         NV_WRITE(NV40_PGRAPH_INTR_EN, 0xffffffff);
54 }
55
56 static void
57 nv50_graph_init_regs__nv(struct drm_device *dev)
58 {
59         struct drm_nouveau_private *dev_priv = dev->dev_private;
60
61         DRM_DEBUG("\n");
62
63         NV_WRITE(0x400804, 0xc0000000);
64         NV_WRITE(0x406800, 0xc0000000);
65         NV_WRITE(0x400c04, 0xc0000000);
66         NV_WRITE(0x401804, 0xc0000000);
67         NV_WRITE(0x405018, 0xc0000000);
68         NV_WRITE(0x402000, 0xc0000000);
69
70         NV_WRITE(0x400108, 0xffffffff);
71
72         NV_WRITE(0x400824, 0x00004000);
73         NV_WRITE(0x400500, 0x00010001);
74 }
75
76 static void
77 nv50_graph_init_regs(struct drm_device *dev)
78 {
79         struct drm_nouveau_private *dev_priv = dev->dev_private;
80
81         DRM_DEBUG("\n");
82
83         NV_WRITE(NV04_PGRAPH_DEBUG_3, (1<<2) /* HW_CONTEXT_SWITCH_ENABLED */);
84 }
85
86 static uint32_t nv84_ctx_voodoo[] = {
87         0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89,
88         0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff,
89         0x00700009, 0x0041634d, 0x00402944, 0x00402905, 0x0040290d, 0x00413e06,
90         0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000,
91         0x00700081, 0x00600004, 0x0050004a, 0x00216f40, 0x00600007, 0x00c02801,
92         0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020,
93         0x00600008, 0x0050004c, 0x00600009, 0x00413e45, 0x0041594d, 0x0070009d,
94         0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008,
95         0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006,
96         0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216f40, 0x00600007,
97         0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080,
98         0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200480, 0x00600007,
99         0x00300000, 0x00c000ff, 0x00c800ff, 0x00414907, 0x00202916, 0x008000ff,
100         0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f,
101         0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302,
102         0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f,
103         0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02,
104         0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407,
105         0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b,
106         0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040798c,
107         0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04,
108         0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65,
109         0x00131c80, 0x00121c84, 0x00141ca0, 0x00111ca5, 0x00131cc0, 0x00121cc4,
110         0x00141ce0, 0x00111ce5, 0x00131f00, 0x00191f40, 0x0040a1e0, 0x002001ed,
111         0x00600006, 0x00200044, 0x00102080, 0x001120c6, 0x001520c9, 0x001920d0,
112         0x00122100, 0x00122103, 0x00162200, 0x00122207, 0x00112280, 0x00112300,
113         0x00112302, 0x00122380, 0x0011238b, 0x00112394, 0x0011239c, 0x0040bee1,
114         0x00200254, 0x00600006, 0x00200044, 0x00102480, 0x0040af0f, 0x0040af4b,
115         0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040af8c,
116         0x005000cb, 0x00000000, 0x001124c6, 0x001524c9, 0x001924d0, 0x00122500,
117         0x00122503, 0x00162600, 0x00122607, 0x00112680, 0x00112700, 0x00112702,
118         0x00122780, 0x0011278b, 0x00112794, 0x0011279c, 0x0040d1e2, 0x002002bb,
119         0x00600006, 0x00200044, 0x00102880, 0x001128c6, 0x001528c9, 0x001928d0,
120         0x00122900, 0x00122903, 0x00162a00, 0x00122a07, 0x00112a80, 0x00112b00,
121         0x00112b02, 0x00122b80, 0x00112b8b, 0x00112b94, 0x00112b9c, 0x0040eee3,
122         0x00200322, 0x00600006, 0x00200044, 0x00102c80, 0x0040df0f, 0x0040df4b,
123         0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x0040df8c,
124         0x005000cb, 0x00000000, 0x00112cc6, 0x00152cc9, 0x00192cd0, 0x00122d00,
125         0x00122d03, 0x00162e00, 0x00122e07, 0x00112e80, 0x00112f00, 0x00112f02,
126         0x00122f80, 0x00112f8b, 0x00112f94, 0x00112f9c, 0x004101e4, 0x00200389,
127         0x00600006, 0x00200044, 0x00103080, 0x001130c6, 0x001530c9, 0x001930d0,
128         0x00123100, 0x00123103, 0x00163200, 0x00123207, 0x00113280, 0x00113300,
129         0x00113302, 0x00123380, 0x0011338b, 0x00113394, 0x0011339c, 0x00411ee5,
130         0x002003f0, 0x00600006, 0x00200044, 0x00103480, 0x00410f0f, 0x00410f4b,
131         0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x0070008f, 0x00410f8c,
132         0x005000cb, 0x00000000, 0x001134c6, 0x001534c9, 0x001934d0, 0x00123500,
133         0x00123503, 0x00163600, 0x00123607, 0x00113680, 0x00113700, 0x00113702,
134         0x00123780, 0x0011378b, 0x00113794, 0x0011379c, 0x00000000, 0x0041250f,
135         0x005000cb, 0x00214d40, 0x00600007, 0x0020043e, 0x008800ff, 0x005000cb,
136         0x00412887, 0x0060000a, 0x00000000, 0x00413700, 0x007000a0, 0x00700080,
137         0x00200480, 0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb,
138         0x00700000, 0x00200000, 0x00600006, 0x00111bfe, 0x0041594d, 0x00700000,
139         0x00200000, 0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d,
140         0x00700081, 0x00600004, 0x0050004a, 0x00414388, 0x0060000b, 0x00200000,
141         0x00600006, 0x00700000, 0x0041590b, 0x00111bfd, 0x0040424d, 0x00202916,
142         0x008000fd, 0x005000cb, 0x00c00002, 0x00200480, 0x00600007, 0x00200160,
143         0x00800002, 0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb,
144         0x00404e4d, 0x0060000b, 0x0041574d, 0x00700001, 0x005000cf, 0x00700003,
145         0x00415e06, 0x00415f05, 0x0060000d, 0x00700005, 0x0070000d, 0x00700006,
146         0x0070000b, 0x0070000e, 0x0070001c, 0x0060000c, ~0
147 };
148  
149 static uint32_t nv86_ctx_voodoo[] = {
150         0x0070008e, 0x0070009c, 0x00200020, 0x00600008, 0x0050004c, 0x00400e89,
151         0x00200000, 0x00600007, 0x00300000, 0x00c000ff, 0x00200000, 0x008000ff,
152         0x00700009, 0x0040dd4d, 0x00402944, 0x00402905, 0x0040290d, 0x0040b906,
153         0x00600005, 0x004015c5, 0x00600011, 0x0040270b, 0x004021c5, 0x00700000,
154         0x00700081, 0x00600004, 0x0050004a, 0x00216d80, 0x00600007, 0x00c02801,
155         0x0020002e, 0x00800001, 0x005000cb, 0x0090ffff, 0x0091ffff, 0x00200020,
156         0x00600008, 0x0050004c, 0x00600009, 0x0040b945, 0x0040d44d, 0x0070009d,
157         0x00402dcf, 0x0070009f, 0x0050009f, 0x00402ac0, 0x00200200, 0x00600008,
158         0x00402a4f, 0x00402ac0, 0x004030cc, 0x00700081, 0x00200000, 0x00600006,
159         0x00700000, 0x00111bfc, 0x00700083, 0x00300000, 0x00216d80, 0x00600007,
160         0x00c00b01, 0x0020001e, 0x00800001, 0x005000cb, 0x00c000ff, 0x00700080,
161         0x00700083, 0x00200047, 0x00600006, 0x0011020a, 0x00200280, 0x00600007,
162         0x00300000, 0x00c000ff, 0x00c800ff, 0x0040c407, 0x00202916, 0x008000ff,
163         0x0040508c, 0x005000cb, 0x00a0023f, 0x00200040, 0x00600006, 0x0070000f,
164         0x00170202, 0x0011020a, 0x00200032, 0x0010020d, 0x001c0242, 0x00120302,
165         0x00140402, 0x00180500, 0x00130509, 0x00150550, 0x00110605, 0x0020000f,
166         0x00100607, 0x00110700, 0x00110900, 0x00120902, 0x00110a00, 0x00160b02,
167         0x00120b28, 0x00140b2b, 0x00110c01, 0x00111400, 0x00111405, 0x00111407,
168         0x00111409, 0x0011140b, 0x002000cb, 0x00101500, 0x0040790f, 0x0040794b,
169         0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x0070008f, 0x0040798c,
170         0x005000cb, 0x00000000, 0x0020002b, 0x00101a05, 0x00131c00, 0x00121c04,
171         0x00141c20, 0x00111c25, 0x00131c40, 0x00121c44, 0x00141c60, 0x00111c65,
172         0x00131f00, 0x00191f40, 0x004099e0, 0x002001d9, 0x00600006, 0x00200044,
173         0x00102080, 0x001120c6, 0x001520c9, 0x001920d0, 0x00122100, 0x00122103,
174         0x00162200, 0x00122207, 0x00112280, 0x00112300, 0x00112302, 0x00122380,
175         0x0011238b, 0x00112394, 0x0011239c, 0x00000000, 0x0040a00f, 0x005000cb,
176         0x00214b40, 0x00600007, 0x00200442, 0x008800ff, 0x005000cb, 0x0040a387,
177         0x0060000a, 0x00000000, 0x0040b200, 0x007000a0, 0x00700080, 0x00200280,
178         0x00600007, 0x00200004, 0x00c000ff, 0x008000ff, 0x005000cb, 0x00700000,
179         0x00200000, 0x00600006, 0x00111bfe, 0x0040d44d, 0x00700000, 0x00200000,
180         0x00600006, 0x00111bfe, 0x00700080, 0x0070001d, 0x0040114d, 0x00700081,
181         0x00600004, 0x0050004a, 0x0040be88, 0x0060000b, 0x00200000, 0x00600006,
182         0x00700000, 0x0040d40b, 0x00111bfd, 0x0040424d, 0x00202916, 0x008000fd,
183         0x005000cb, 0x00c00002, 0x00200280, 0x00600007, 0x00200160, 0x00800002,
184         0x005000cb, 0x00c01802, 0x002027b6, 0x00800002, 0x005000cb, 0x00404e4d,
185         0x0060000b, 0x0040d24d, 0x00700001, 0x00700003, 0x0040d806, 0x0040d905,
186         0x0060000d, 0x00700005, 0x0070000d, 0x00700006, 0x0070000b, 0x0070000e,
187         0x0060000c, ~0
188 };
189
190 static int
191 nv50_graph_init_ctxctl(struct drm_device *dev)
192 {
193         struct drm_nouveau_private *dev_priv = dev->dev_private;
194         uint32_t *voodoo = NULL;
195
196         DRM_DEBUG("\n");
197
198         switch (dev_priv->chipset) {
199         case 0x84:
200                 voodoo = nv84_ctx_voodoo;
201                 break;
202         case 0x86:
203                 voodoo = nv86_ctx_voodoo;
204                 break;
205         default:
206                 DRM_ERROR("no voodoo for chipset NV%02x\n", dev_priv->chipset);
207                 return -EINVAL;
208         }
209
210         NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
211         while (*voodoo != ~0) {
212                 NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_DATA, *voodoo);
213                 voodoo++;
214         }
215
216         NV_WRITE(0x400320, 4);
217         NV_WRITE(NV40_PGRAPH_CTXCTL_CUR, 0);
218         NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, 0);
219
220         return 0;
221 }
222
223 int
224 nv50_graph_init(struct drm_device *dev)
225 {
226         int ret;
227
228         DRM_DEBUG("\n");
229
230         nv50_graph_init_reset(dev);
231         nv50_graph_init_intr(dev);
232         nv50_graph_init_regs__nv(dev);
233         nv50_graph_init_regs(dev);
234
235         ret = nv50_graph_init_ctxctl(dev);
236         if (ret)
237                 return ret;
238
239         return 0;
240 }
241
242 void
243 nv50_graph_takedown(struct drm_device *dev)
244 {
245         DRM_DEBUG("\n");
246 }
247
248 static void
249 nv86_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref)
250 {
251         struct drm_nouveau_private *dev_priv = dev->dev_private;
252         struct nouveau_gpuobj *ctx = ref->gpuobj;
253
254         INSTANCE_WR(ctx, 0x0/4, 0x1);
255         INSTANCE_WR(ctx, 0x10C/4, 0x30);
256         INSTANCE_WR(ctx, 0x1D4/4, 0x3);
257         INSTANCE_WR(ctx, 0x1D8/4, 0x1000);
258         INSTANCE_WR(ctx, 0x218/4, 0xFE0C);
259         INSTANCE_WR(ctx, 0x22C/4, 0x1000);
260         INSTANCE_WR(ctx, 0x258/4, 0x187);
261         INSTANCE_WR(ctx, 0x26C/4, 0x1018);
262         INSTANCE_WR(ctx, 0x270/4, 0xFF);
263         INSTANCE_WR(ctx, 0x2AC/4, 0x4);
264         INSTANCE_WR(ctx, 0x2B0/4, 0x44D00DF);
265         INSTANCE_WR(ctx, 0x2B8/4, 0x600);
266         INSTANCE_WR(ctx, 0x2D0/4, 0x1000000);
267         INSTANCE_WR(ctx, 0x2D4/4, 0xFF);
268         INSTANCE_WR(ctx, 0x2DC/4, 0x400);
269         INSTANCE_WR(ctx, 0x2F4/4, 0x1);
270         INSTANCE_WR(ctx, 0x2F8/4, 0x80);
271         INSTANCE_WR(ctx, 0x2FC/4, 0x4);
272         INSTANCE_WR(ctx, 0x318/4, 0x2);
273         INSTANCE_WR(ctx, 0x31C/4, 0x1);
274         INSTANCE_WR(ctx, 0x328/4, 0x1);
275         INSTANCE_WR(ctx, 0x32C/4, 0x100);
276         INSTANCE_WR(ctx, 0x344/4, 0x2);
277         INSTANCE_WR(ctx, 0x348/4, 0x1);
278         INSTANCE_WR(ctx, 0x34C/4, 0x1);
279         INSTANCE_WR(ctx, 0x35C/4, 0x1);
280         INSTANCE_WR(ctx, 0x360/4, 0x3FFFFF);
281         INSTANCE_WR(ctx, 0x364/4, 0x1FFF);
282         INSTANCE_WR(ctx, 0x36C/4, 0x1);
283         INSTANCE_WR(ctx, 0x370/4, 0x1);
284         INSTANCE_WR(ctx, 0x378/4, 0x1);
285         INSTANCE_WR(ctx, 0x37C/4, 0x1);
286         INSTANCE_WR(ctx, 0x380/4, 0x1);
287         INSTANCE_WR(ctx, 0x384/4, 0x4);
288         INSTANCE_WR(ctx, 0x388/4, 0x1);
289         INSTANCE_WR(ctx, 0x38C/4, 0x1);
290         INSTANCE_WR(ctx, 0x390/4, 0x1);
291         INSTANCE_WR(ctx, 0x394/4, 0x7);
292         INSTANCE_WR(ctx, 0x398/4, 0x1);
293         INSTANCE_WR(ctx, 0x39C/4, 0x7);
294         INSTANCE_WR(ctx, 0x3A0/4, 0x1);
295         INSTANCE_WR(ctx, 0x3A4/4, 0x1);
296         INSTANCE_WR(ctx, 0x3A8/4, 0x1);
297         INSTANCE_WR(ctx, 0x3BC/4, 0x1);
298         INSTANCE_WR(ctx, 0x3C0/4, 0x100);
299         INSTANCE_WR(ctx, 0x3C8/4, 0x1);
300         INSTANCE_WR(ctx, 0x3D4/4, 0x100);
301         INSTANCE_WR(ctx, 0x3D8/4, 0x1);
302         INSTANCE_WR(ctx, 0x3DC/4, 0x100);
303         INSTANCE_WR(ctx, 0x3E4/4, 0x1);
304         INSTANCE_WR(ctx, 0x3F0/4, 0x100);
305         INSTANCE_WR(ctx, 0x404/4, 0x4);
306         INSTANCE_WR(ctx, 0x408/4, 0x70);
307         INSTANCE_WR(ctx, 0x40C/4, 0x80);
308         INSTANCE_WR(ctx, 0x420/4, 0xC);
309         INSTANCE_WR(ctx, 0x428/4, 0x8);
310         INSTANCE_WR(ctx, 0x42C/4, 0x14);
311         INSTANCE_WR(ctx, 0x434/4, 0x29);
312         INSTANCE_WR(ctx, 0x438/4, 0x27);
313         INSTANCE_WR(ctx, 0x43C/4, 0x26);
314         INSTANCE_WR(ctx, 0x440/4, 0x8);
315         INSTANCE_WR(ctx, 0x444/4, 0x4);
316         INSTANCE_WR(ctx, 0x448/4, 0x27);
317         INSTANCE_WR(ctx, 0x454/4, 0x1);
318         INSTANCE_WR(ctx, 0x458/4, 0x2);
319         INSTANCE_WR(ctx, 0x45C/4, 0x3);
320         INSTANCE_WR(ctx, 0x460/4, 0x4);
321         INSTANCE_WR(ctx, 0x464/4, 0x5);
322         INSTANCE_WR(ctx, 0x468/4, 0x6);
323         INSTANCE_WR(ctx, 0x46C/4, 0x7);
324         INSTANCE_WR(ctx, 0x470/4, 0x1);
325         INSTANCE_WR(ctx, 0x4B4/4, 0xCF);
326         INSTANCE_WR(ctx, 0x4E4/4, 0x80);
327         INSTANCE_WR(ctx, 0x4E8/4, 0x4);
328         INSTANCE_WR(ctx, 0x4EC/4, 0x4);
329         INSTANCE_WR(ctx, 0x4F0/4, 0x3);
330         INSTANCE_WR(ctx, 0x4F4/4, 0x1);
331         INSTANCE_WR(ctx, 0x500/4, 0x12);
332         INSTANCE_WR(ctx, 0x504/4, 0x10);
333         INSTANCE_WR(ctx, 0x508/4, 0xC);
334         INSTANCE_WR(ctx, 0x50C/4, 0x1);
335         INSTANCE_WR(ctx, 0x51C/4, 0x4);
336         INSTANCE_WR(ctx, 0x520/4, 0x2);
337         INSTANCE_WR(ctx, 0x524/4, 0x4);
338         INSTANCE_WR(ctx, 0x530/4, 0x3FFFFF);
339         INSTANCE_WR(ctx, 0x534/4, 0x1FFF);
340         INSTANCE_WR(ctx, 0x55C/4, 0x4);
341         INSTANCE_WR(ctx, 0x560/4, 0x14);
342         INSTANCE_WR(ctx, 0x564/4, 0x1);
343         INSTANCE_WR(ctx, 0x570/4, 0x2);
344         INSTANCE_WR(ctx, 0x57C/4, 0x1);
345         INSTANCE_WR(ctx, 0x584/4, 0x2);
346         INSTANCE_WR(ctx, 0x588/4, 0x1000);
347         INSTANCE_WR(ctx, 0x58C/4, 0xE00);
348         INSTANCE_WR(ctx, 0x590/4, 0x1000);
349         INSTANCE_WR(ctx, 0x594/4, 0x1E00);
350         INSTANCE_WR(ctx, 0x59C/4, 0x1);
351         INSTANCE_WR(ctx, 0x5A0/4, 0x1);
352         INSTANCE_WR(ctx, 0x5A4/4, 0x1);
353         INSTANCE_WR(ctx, 0x5A8/4, 0x1);
354         INSTANCE_WR(ctx, 0x5AC/4, 0x1);
355         INSTANCE_WR(ctx, 0x5BC/4, 0x200);
356         INSTANCE_WR(ctx, 0x5C4/4, 0x1);
357         INSTANCE_WR(ctx, 0x5C8/4, 0x70);
358         INSTANCE_WR(ctx, 0x5CC/4, 0x80);
359         INSTANCE_WR(ctx, 0x5D8/4, 0x1);
360         INSTANCE_WR(ctx, 0x5DC/4, 0x70);
361         INSTANCE_WR(ctx, 0x5E0/4, 0x80);
362         INSTANCE_WR(ctx, 0x5F0/4, 0x1);
363         INSTANCE_WR(ctx, 0x5F4/4, 0xCF);
364         INSTANCE_WR(ctx, 0x5FC/4, 0x1);
365         INSTANCE_WR(ctx, 0x60C/4, 0xCF);
366         INSTANCE_WR(ctx, 0x614/4, 0x2);
367         INSTANCE_WR(ctx, 0x61C/4, 0x1);
368         INSTANCE_WR(ctx, 0x624/4, 0x1);
369         INSTANCE_WR(ctx, 0x62C/4, 0xCF);
370         INSTANCE_WR(ctx, 0x630/4, 0xCF);
371         INSTANCE_WR(ctx, 0x634/4, 0x1);
372         INSTANCE_WR(ctx, 0x63C/4, 0xF80);
373         INSTANCE_WR(ctx, 0x684/4, 0x7F0080);
374         INSTANCE_WR(ctx, 0x6C0/4, 0x7F0080);
375         INSTANCE_WR(ctx, 0x6E4/4, 0x3B74F821);
376         INSTANCE_WR(ctx, 0x6E8/4, 0x89058001);
377         INSTANCE_WR(ctx, 0x6F0/4, 0x1000);
378         INSTANCE_WR(ctx, 0x6F4/4, 0x1F);
379         INSTANCE_WR(ctx, 0x6F8/4, 0x27C10FA);
380         INSTANCE_WR(ctx, 0x6FC/4, 0x400000C0);
381         INSTANCE_WR(ctx, 0x700/4, 0xB7892080);
382         INSTANCE_WR(ctx, 0x70C/4, 0x3B74F821);
383         INSTANCE_WR(ctx, 0x710/4, 0x89058001);
384         INSTANCE_WR(ctx, 0x718/4, 0x1000);
385         INSTANCE_WR(ctx, 0x71C/4, 0x1F);
386         INSTANCE_WR(ctx, 0x720/4, 0x27C10FA);
387         INSTANCE_WR(ctx, 0x724/4, 0x400000C0);
388         INSTANCE_WR(ctx, 0x728/4, 0xB7892080);
389         INSTANCE_WR(ctx, 0x734/4, 0x10040);
390         INSTANCE_WR(ctx, 0x73C/4, 0x22);
391         INSTANCE_WR(ctx, 0x748/4, 0x10040);
392         INSTANCE_WR(ctx, 0x74C/4, 0x22);
393         INSTANCE_WR(ctx, 0x764/4, 0x1800000);
394         INSTANCE_WR(ctx, 0x768/4, 0x160000);
395         INSTANCE_WR(ctx, 0x76C/4, 0x1800000);
396         INSTANCE_WR(ctx, 0x77C/4, 0x3FFFF);
397         INSTANCE_WR(ctx, 0x780/4, 0x8C0000);
398         INSTANCE_WR(ctx, 0x7A4/4, 0x10401);
399         INSTANCE_WR(ctx, 0x7AC/4, 0x78);
400         INSTANCE_WR(ctx, 0x7B4/4, 0xBF);
401         INSTANCE_WR(ctx, 0x7BC/4, 0x1210);
402         INSTANCE_WR(ctx, 0x7C0/4, 0x8000080);
403         INSTANCE_WR(ctx, 0x7E4/4, 0x1800000);
404         INSTANCE_WR(ctx, 0x7E8/4, 0x160000);
405         INSTANCE_WR(ctx, 0x7EC/4, 0x1800000);
406         INSTANCE_WR(ctx, 0x7FC/4, 0x3FFFF);
407         INSTANCE_WR(ctx, 0x800/4, 0x8C0000);
408         INSTANCE_WR(ctx, 0x824/4, 0x10401);
409         INSTANCE_WR(ctx, 0x82C/4, 0x78);
410         INSTANCE_WR(ctx, 0x834/4, 0xBF);
411         INSTANCE_WR(ctx, 0x83C/4, 0x1210);
412         INSTANCE_WR(ctx, 0x840/4, 0x8000080);
413         INSTANCE_WR(ctx, 0x868/4, 0x27070);
414         INSTANCE_WR(ctx, 0x874/4, 0x3FFFFFF);
415         INSTANCE_WR(ctx, 0x88C/4, 0x120407);
416         INSTANCE_WR(ctx, 0x890/4, 0x5091507);
417         INSTANCE_WR(ctx, 0x894/4, 0x5010202);
418         INSTANCE_WR(ctx, 0x898/4, 0x30201);
419         INSTANCE_WR(ctx, 0x8B4/4, 0x40);
420         INSTANCE_WR(ctx, 0x8B8/4, 0xD0C0B0A);
421         INSTANCE_WR(ctx, 0x8BC/4, 0x141210);
422         INSTANCE_WR(ctx, 0x8C0/4, 0x1F0);
423         INSTANCE_WR(ctx, 0x8C4/4, 0x1);
424         INSTANCE_WR(ctx, 0x8C8/4, 0x3);
425         INSTANCE_WR(ctx, 0x8D4/4, 0x39E00);
426         INSTANCE_WR(ctx, 0x8D8/4, 0x100);
427         INSTANCE_WR(ctx, 0x8DC/4, 0x3800);
428         INSTANCE_WR(ctx, 0x8E0/4, 0x404040);
429         INSTANCE_WR(ctx, 0x8E4/4, 0xFF0A);
430         INSTANCE_WR(ctx, 0x8EC/4, 0x77F005);
431         INSTANCE_WR(ctx, 0x8F0/4, 0x3F7FFF);
432         INSTANCE_WR(ctx, 0x7BA0/4, 0x21);
433         INSTANCE_WR(ctx, 0x7BC0/4, 0x1);
434         INSTANCE_WR(ctx, 0x7BE0/4, 0x2);
435         INSTANCE_WR(ctx, 0x7C00/4, 0x100);
436         INSTANCE_WR(ctx, 0x7C20/4, 0x100);
437         INSTANCE_WR(ctx, 0x7C40/4, 0x1);
438         INSTANCE_WR(ctx, 0x7CA0/4, 0x1);
439         INSTANCE_WR(ctx, 0x7CC0/4, 0x2);
440         INSTANCE_WR(ctx, 0x7CE0/4, 0x100);
441         INSTANCE_WR(ctx, 0x7D00/4, 0x100);
442         INSTANCE_WR(ctx, 0x7D20/4, 0x1);
443         INSTANCE_WR(ctx, 0x11640/4, 0x4);
444         INSTANCE_WR(ctx, 0x11660/4, 0x4);
445         INSTANCE_WR(ctx, 0x49FE0/4, 0x4);
446         INSTANCE_WR(ctx, 0x4A000/4, 0x4);
447         INSTANCE_WR(ctx, 0x4A020/4, 0x8100C12);
448         INSTANCE_WR(ctx, 0x4A040/4, 0x3);
449         INSTANCE_WR(ctx, 0x4A080/4, 0x8100C12);
450         INSTANCE_WR(ctx, 0x4A0C0/4, 0x80C14);
451         INSTANCE_WR(ctx, 0x4A0E0/4, 0x1);
452         INSTANCE_WR(ctx, 0x4A100/4, 0x80C14);
453         INSTANCE_WR(ctx, 0x4A160/4, 0x8100C12);
454         INSTANCE_WR(ctx, 0x4A180/4, 0x27);
455         INSTANCE_WR(ctx, 0x4A1E0/4, 0x1);
456         INSTANCE_WR(ctx, 0x51A20/4, 0x1);
457         INSTANCE_WR(ctx, 0x51D00/4, 0x8100C12);
458         INSTANCE_WR(ctx, 0x51EA0/4, 0x4000000);
459         INSTANCE_WR(ctx, 0x51EC0/4, 0x4000000);
460         INSTANCE_WR(ctx, 0x51F00/4, 0x80);
461         INSTANCE_WR(ctx, 0x51F80/4, 0x80);
462         INSTANCE_WR(ctx, 0x51FC0/4, 0x3F);
463         INSTANCE_WR(ctx, 0x52120/4, 0x2);
464         INSTANCE_WR(ctx, 0x52140/4, 0x4000000);
465         INSTANCE_WR(ctx, 0x52160/4, 0x4000000);
466         INSTANCE_WR(ctx, 0x52280/4, 0x4);
467         INSTANCE_WR(ctx, 0x52300/4, 0x4);
468         INSTANCE_WR(ctx, 0x52540/4, 0x1);
469         INSTANCE_WR(ctx, 0x52560/4, 0x1001);
470         INSTANCE_WR(ctx, 0x52580/4, 0xFFFF);
471         INSTANCE_WR(ctx, 0x525A0/4, 0xFFFF);
472         INSTANCE_WR(ctx, 0x525C0/4, 0xFFFF);
473         INSTANCE_WR(ctx, 0x525E0/4, 0xFFFF);
474         INSTANCE_WR(ctx, 0x52A00/4, 0x3F800000);
475         INSTANCE_WR(ctx, 0x52A20/4, 0x3F800000);
476         INSTANCE_WR(ctx, 0x52A40/4, 0x3F800000);
477         INSTANCE_WR(ctx, 0x52A60/4, 0x3F800000);
478         INSTANCE_WR(ctx, 0x52A80/4, 0x3F800000);
479         INSTANCE_WR(ctx, 0x52AA0/4, 0x3F800000);
480         INSTANCE_WR(ctx, 0x52AC0/4, 0x3F800000);
481         INSTANCE_WR(ctx, 0x52AE0/4, 0x3F800000);
482         INSTANCE_WR(ctx, 0x52B00/4, 0x3F800000);
483         INSTANCE_WR(ctx, 0x52B20/4, 0x3F800000);
484         INSTANCE_WR(ctx, 0x52B40/4, 0x3F800000);
485         INSTANCE_WR(ctx, 0x52B60/4, 0x3F800000);
486         INSTANCE_WR(ctx, 0x52B80/4, 0x3F800000);
487         INSTANCE_WR(ctx, 0x52BA0/4, 0x3F800000);
488         INSTANCE_WR(ctx, 0x52BC0/4, 0x3F800000);
489         INSTANCE_WR(ctx, 0x52BE0/4, 0x3F800000);
490         INSTANCE_WR(ctx, 0x52C00/4, 0x10);
491         INSTANCE_WR(ctx, 0x52C60/4, 0x3);
492         INSTANCE_WR(ctx, 0xA84/4, 0xF);
493         INSTANCE_WR(ctx, 0xB24/4, 0x20);
494         INSTANCE_WR(ctx, 0xD04/4, 0x1A);
495         INSTANCE_WR(ctx, 0xEC4/4, 0x4);
496         INSTANCE_WR(ctx, 0xEE4/4, 0x4);
497         INSTANCE_WR(ctx, 0xF24/4, 0x4);
498         INSTANCE_WR(ctx, 0xF44/4, 0x8);
499         INSTANCE_WR(ctx, 0xF84/4, 0x7FF);
500         INSTANCE_WR(ctx, 0x1124/4, 0xF);
501         INSTANCE_WR(ctx, 0x3604/4, 0xF);
502         INSTANCE_WR(ctx, 0x3644/4, 0x1);
503         INSTANCE_WR(ctx, 0x41A4/4, 0xF);
504         INSTANCE_WR(ctx, 0x14844/4, 0xF);
505         INSTANCE_WR(ctx, 0x14AE4/4, 0x1);
506         INSTANCE_WR(ctx, 0x14B04/4, 0x100);
507         INSTANCE_WR(ctx, 0x14B24/4, 0x100);
508         INSTANCE_WR(ctx, 0x14B44/4, 0x11);
509         INSTANCE_WR(ctx, 0x14B84/4, 0x8);
510         INSTANCE_WR(ctx, 0x14C44/4, 0x1);
511         INSTANCE_WR(ctx, 0x14C84/4, 0x1);
512         INSTANCE_WR(ctx, 0x14CA4/4, 0x1);
513         INSTANCE_WR(ctx, 0x14CC4/4, 0x1);
514         INSTANCE_WR(ctx, 0x14CE4/4, 0xCF);
515         INSTANCE_WR(ctx, 0x14D04/4, 0x2);
516         INSTANCE_WR(ctx, 0x14DE4/4, 0x1);
517         INSTANCE_WR(ctx, 0x14E24/4, 0x1);
518         INSTANCE_WR(ctx, 0x14E44/4, 0x1);
519         INSTANCE_WR(ctx, 0x14E64/4, 0x1);
520         INSTANCE_WR(ctx, 0x14F04/4, 0x4);
521         INSTANCE_WR(ctx, 0x14F44/4, 0x1);
522         INSTANCE_WR(ctx, 0x14F64/4, 0x15);
523         INSTANCE_WR(ctx, 0x14FE4/4, 0x4444480);
524         INSTANCE_WR(ctx, 0x15764/4, 0x8100C12);
525         INSTANCE_WR(ctx, 0x15804/4, 0x100);
526         INSTANCE_WR(ctx, 0x15864/4, 0x10001);
527         INSTANCE_WR(ctx, 0x158A4/4, 0x10001);
528         INSTANCE_WR(ctx, 0x158C4/4, 0x1);
529         INSTANCE_WR(ctx, 0x158E4/4, 0x10001);
530         INSTANCE_WR(ctx, 0x15904/4, 0x1);
531         INSTANCE_WR(ctx, 0x15924/4, 0x4);
532         INSTANCE_WR(ctx, 0x15944/4, 0x2);
533         INSTANCE_WR(ctx, 0x166C4/4, 0x4E3BFDF);
534         INSTANCE_WR(ctx, 0x166E4/4, 0x4E3BFDF);
535         INSTANCE_WR(ctx, 0x16784/4, 0xFAC6881);
536         INSTANCE_WR(ctx, 0x16904/4, 0x4E3BFDF);
537         INSTANCE_WR(ctx, 0x16924/4, 0x4E3BFDF);
538         INSTANCE_WR(ctx, 0x15948/4, 0x3FFFFF);
539         INSTANCE_WR(ctx, 0x159A8/4, 0x1FFF);
540         INSTANCE_WR(ctx, 0x15B88/4, 0x3F800000);
541         INSTANCE_WR(ctx, 0x15C68/4, 0x4);
542         INSTANCE_WR(ctx, 0x15C88/4, 0x1A);
543         INSTANCE_WR(ctx, 0x15CE8/4, 0x1);
544         INSTANCE_WR(ctx, 0x15F48/4, 0xFFFF00);
545         INSTANCE_WR(ctx, 0x16028/4, 0xF);
546         INSTANCE_WR(ctx, 0x16128/4, 0xFAC6881);
547         INSTANCE_WR(ctx, 0x16148/4, 0x11);
548         INSTANCE_WR(ctx, 0x16348/4, 0x4);
549         INSTANCE_WR(ctx, 0x163E8/4, 0x2);
550         INSTANCE_WR(ctx, 0x16408/4, 0x4000000);
551         INSTANCE_WR(ctx, 0x16428/4, 0x4000000);
552         INSTANCE_WR(ctx, 0x164A8/4, 0x5);
553         INSTANCE_WR(ctx, 0x164C8/4, 0x52);
554         INSTANCE_WR(ctx, 0x16568/4, 0x1);
555         INSTANCE_WR(ctx, 0x16788/4, 0x3F800000);
556         INSTANCE_WR(ctx, 0x167A8/4, 0x3F800000);
557         INSTANCE_WR(ctx, 0x167C8/4, 0x3F800000);
558         INSTANCE_WR(ctx, 0x167E8/4, 0x3F800000);
559         INSTANCE_WR(ctx, 0x16808/4, 0x3F800000);
560         INSTANCE_WR(ctx, 0x16828/4, 0x3F800000);
561         INSTANCE_WR(ctx, 0x16848/4, 0x3F800000);
562         INSTANCE_WR(ctx, 0x16868/4, 0x3F800000);
563         INSTANCE_WR(ctx, 0x16888/4, 0x3F800000);
564         INSTANCE_WR(ctx, 0x168A8/4, 0x3F800000);
565         INSTANCE_WR(ctx, 0x168C8/4, 0x3F800000);
566         INSTANCE_WR(ctx, 0x168E8/4, 0x3F800000);
567         INSTANCE_WR(ctx, 0x16908/4, 0x3F800000);
568         INSTANCE_WR(ctx, 0x16928/4, 0x3F800000);
569         INSTANCE_WR(ctx, 0x16948/4, 0x3F800000);
570         INSTANCE_WR(ctx, 0x16968/4, 0x3F800000);
571         INSTANCE_WR(ctx, 0x16988/4, 0x10);
572         INSTANCE_WR(ctx, 0x16E68/4, 0x8100C12);
573         INSTANCE_WR(ctx, 0x16E88/4, 0x5);
574         INSTANCE_WR(ctx, 0x16EE8/4, 0x1);
575         INSTANCE_WR(ctx, 0x16F28/4, 0xFFFF);
576         INSTANCE_WR(ctx, 0x16F48/4, 0xFFFF);
577         INSTANCE_WR(ctx, 0x16F68/4, 0xFFFF);
578         INSTANCE_WR(ctx, 0x16F88/4, 0xFFFF);
579         INSTANCE_WR(ctx, 0x16FA8/4, 0x3);
580         INSTANCE_WR(ctx, 0x173A8/4, 0xFFFF00);
581         INSTANCE_WR(ctx, 0x173C8/4, 0x1A);
582         INSTANCE_WR(ctx, 0x17408/4, 0x3);
583         INSTANCE_WR(ctx, 0x178E8/4, 0x102);
584         INSTANCE_WR(ctx, 0x17928/4, 0x4);
585         INSTANCE_WR(ctx, 0x17948/4, 0x4);
586         INSTANCE_WR(ctx, 0x17968/4, 0x4);
587         INSTANCE_WR(ctx, 0x17988/4, 0x4);
588         INSTANCE_WR(ctx, 0x179A8/4, 0x4);
589         INSTANCE_WR(ctx, 0x179C8/4, 0x4);
590         INSTANCE_WR(ctx, 0x17A08/4, 0x7FF);
591         INSTANCE_WR(ctx, 0x17A48/4, 0x102);
592         INSTANCE_WR(ctx, 0x17B88/4, 0x4);
593         INSTANCE_WR(ctx, 0x17BA8/4, 0x4);
594         INSTANCE_WR(ctx, 0x17BC8/4, 0x4);
595         INSTANCE_WR(ctx, 0x17BE8/4, 0x4);
596         INSTANCE_WR(ctx, 0x18228/4, 0x80C14);
597         INSTANCE_WR(ctx, 0x18288/4, 0x804);
598         INSTANCE_WR(ctx, 0x182C8/4, 0x4);
599         INSTANCE_WR(ctx, 0x182E8/4, 0x4);
600         INSTANCE_WR(ctx, 0x18308/4, 0x8100C12);
601         INSTANCE_WR(ctx, 0x18348/4, 0x4);
602         INSTANCE_WR(ctx, 0x18368/4, 0x4);
603         INSTANCE_WR(ctx, 0x183A8/4, 0x10);
604         INSTANCE_WR(ctx, 0x18448/4, 0x804);
605         INSTANCE_WR(ctx, 0x18468/4, 0x1);
606         INSTANCE_WR(ctx, 0x18488/4, 0x1A);
607         INSTANCE_WR(ctx, 0x184A8/4, 0x7F);
608         INSTANCE_WR(ctx, 0x184E8/4, 0x1);
609         INSTANCE_WR(ctx, 0x18508/4, 0x80C14);
610         INSTANCE_WR(ctx, 0x18548/4, 0x8100C12);
611         INSTANCE_WR(ctx, 0x18568/4, 0x4);
612         INSTANCE_WR(ctx, 0x18588/4, 0x4);
613         INSTANCE_WR(ctx, 0x185C8/4, 0x10);
614         INSTANCE_WR(ctx, 0x18648/4, 0x1);
615         INSTANCE_WR(ctx, 0x18668/4, 0x8100C12);
616         INSTANCE_WR(ctx, 0x18748/4, 0x7FF);
617         INSTANCE_WR(ctx, 0x18768/4, 0x80C14);
618         INSTANCE_WR(ctx, 0x18E88/4, 0x1);
619         INSTANCE_WR(ctx, 0x18EE8/4, 0x10);
620         INSTANCE_WR(ctx, 0x19608/4, 0x88);
621         INSTANCE_WR(ctx, 0x19628/4, 0x88);
622         INSTANCE_WR(ctx, 0x19688/4, 0x4);
623         INSTANCE_WR(ctx, 0x19968/4, 0x26);
624         INSTANCE_WR(ctx, 0x199C8/4, 0x3F800000);
625         INSTANCE_WR(ctx, 0x19A48/4, 0x1A);
626         INSTANCE_WR(ctx, 0x19A68/4, 0x10);
627         INSTANCE_WR(ctx, 0x19F88/4, 0x52);
628         INSTANCE_WR(ctx, 0x19FC8/4, 0x26);
629         INSTANCE_WR(ctx, 0x1A008/4, 0x4);
630         INSTANCE_WR(ctx, 0x1A028/4, 0x4);
631         INSTANCE_WR(ctx, 0x1A068/4, 0x1A);
632         INSTANCE_WR(ctx, 0x1A0C8/4, 0xFFFF00);
633         INSTANCE_WR(ctx, 0x1A108/4, 0x4);
634         INSTANCE_WR(ctx, 0x1A128/4, 0x4);
635         INSTANCE_WR(ctx, 0x1A168/4, 0x80);
636         INSTANCE_WR(ctx, 0x1A188/4, 0x4);
637         INSTANCE_WR(ctx, 0x1A1A8/4, 0x80C14);
638         INSTANCE_WR(ctx, 0x1A1E8/4, 0x7FF);
639         INSTANCE_WR(ctx, 0x24A48/4, 0x4);
640         INSTANCE_WR(ctx, 0x24A68/4, 0x4);
641         INSTANCE_WR(ctx, 0x24AA8/4, 0x80);
642         INSTANCE_WR(ctx, 0x24AC8/4, 0x4);
643         INSTANCE_WR(ctx, 0x24AE8/4, 0x1);
644         INSTANCE_WR(ctx, 0x24B28/4, 0x27);
645         INSTANCE_WR(ctx, 0x24B68/4, 0x26);
646         INSTANCE_WR(ctx, 0x24BE8/4, 0x4000000);
647         INSTANCE_WR(ctx, 0x24C08/4, 0x4000000);
648         INSTANCE_WR(ctx, 0x24C28/4, 0x4000000);
649         INSTANCE_WR(ctx, 0x24C48/4, 0x4000000);
650         INSTANCE_WR(ctx, 0x24C68/4, 0x4000000);
651         INSTANCE_WR(ctx, 0x24C88/4, 0x4000000);
652         INSTANCE_WR(ctx, 0x24CA8/4, 0x4000000);
653         INSTANCE_WR(ctx, 0x24CC8/4, 0x4000000);
654         INSTANCE_WR(ctx, 0x24CE8/4, 0x4000000);
655         INSTANCE_WR(ctx, 0x24D08/4, 0x4000000);
656         INSTANCE_WR(ctx, 0x24D28/4, 0x4000000);
657         INSTANCE_WR(ctx, 0x24D48/4, 0x4000000);
658         INSTANCE_WR(ctx, 0x24D68/4, 0x4000000);
659         INSTANCE_WR(ctx, 0x24D88/4, 0x4000000);
660         INSTANCE_WR(ctx, 0x24DA8/4, 0x4000000);
661         INSTANCE_WR(ctx, 0x24DC8/4, 0x4000000);
662         INSTANCE_WR(ctx, 0x25268/4, 0x4E3BFDF);
663         INSTANCE_WR(ctx, 0x25288/4, 0x4E3BFDF);
664         INSTANCE_WR(ctx, 0x252E8/4, 0x1FE21);
665         INSTANCE_WR(ctx, 0xB0C/4, 0x2);
666         INSTANCE_WR(ctx, 0xB4C/4, 0x1FFE67);
667         INSTANCE_WR(ctx, 0xCEC/4, 0x1);
668         INSTANCE_WR(ctx, 0xD0C/4, 0x10);
669         INSTANCE_WR(ctx, 0xD6C/4, 0x1);
670         INSTANCE_WR(ctx, 0xE0C/4, 0x4);
671         INSTANCE_WR(ctx, 0xE2C/4, 0x400);
672         INSTANCE_WR(ctx, 0xE4C/4, 0x300);
673         INSTANCE_WR(ctx, 0xE6C/4, 0x1001);
674         INSTANCE_WR(ctx, 0xE8C/4, 0x15);
675         INSTANCE_WR(ctx, 0xF4C/4, 0x2);
676         INSTANCE_WR(ctx, 0x106C/4, 0x1);
677         INSTANCE_WR(ctx, 0x108C/4, 0x10);
678         INSTANCE_WR(ctx, 0x10CC/4, 0x1);
679         INSTANCE_WR(ctx, 0x134C/4, 0x10);
680         INSTANCE_WR(ctx, 0x156C/4, 0x3F800000);
681         INSTANCE_WR(ctx, 0x158C/4, 0x3F800000);
682         INSTANCE_WR(ctx, 0x15AC/4, 0x3F800000);
683         INSTANCE_WR(ctx, 0x15CC/4, 0x3F800000);
684         INSTANCE_WR(ctx, 0x15EC/4, 0x3F800000);
685         INSTANCE_WR(ctx, 0x160C/4, 0x3F800000);
686         INSTANCE_WR(ctx, 0x162C/4, 0x3F800000);
687         INSTANCE_WR(ctx, 0x164C/4, 0x3F800000);
688         INSTANCE_WR(ctx, 0x166C/4, 0x3F800000);
689         INSTANCE_WR(ctx, 0x168C/4, 0x3F800000);
690         INSTANCE_WR(ctx, 0x16AC/4, 0x3F800000);
691         INSTANCE_WR(ctx, 0x16CC/4, 0x3F800000);
692         INSTANCE_WR(ctx, 0x16EC/4, 0x3F800000);
693         INSTANCE_WR(ctx, 0x170C/4, 0x3F800000);
694         INSTANCE_WR(ctx, 0x172C/4, 0x3F800000);
695         INSTANCE_WR(ctx, 0x174C/4, 0x3F800000);
696         INSTANCE_WR(ctx, 0x1A8C/4, 0x10);
697         INSTANCE_WR(ctx, 0x1ACC/4, 0x3F);
698         INSTANCE_WR(ctx, 0x1BAC/4, 0x1);
699         INSTANCE_WR(ctx, 0x1BEC/4, 0x1);
700         INSTANCE_WR(ctx, 0x1C2C/4, 0x1);
701         INSTANCE_WR(ctx, 0x1DCC/4, 0x11);
702         INSTANCE_WR(ctx, 0x1ECC/4, 0xF);
703         INSTANCE_WR(ctx, 0x1FCC/4, 0x11);
704         INSTANCE_WR(ctx, 0x20AC/4, 0x1);
705         INSTANCE_WR(ctx, 0x20CC/4, 0x1);
706         INSTANCE_WR(ctx, 0x20EC/4, 0x1);
707         INSTANCE_WR(ctx, 0x210C/4, 0x2);
708         INSTANCE_WR(ctx, 0x212C/4, 0x1);
709         INSTANCE_WR(ctx, 0x214C/4, 0x2);
710         INSTANCE_WR(ctx, 0x216C/4, 0x1);
711         INSTANCE_WR(ctx, 0x21AC/4, 0x1FFE67);
712         INSTANCE_WR(ctx, 0x21EC/4, 0xFAC6881);
713         INSTANCE_WR(ctx, 0x24AC/4, 0x1);
714         INSTANCE_WR(ctx, 0x24CC/4, 0x2);
715         INSTANCE_WR(ctx, 0x24EC/4, 0x1);
716         INSTANCE_WR(ctx, 0x250C/4, 0x1);
717         INSTANCE_WR(ctx, 0x252C/4, 0x2);
718         INSTANCE_WR(ctx, 0x254C/4, 0x1);
719         INSTANCE_WR(ctx, 0x256C/4, 0x1);
720         INSTANCE_WR(ctx, 0x25EC/4, 0x11);
721         INSTANCE_WR(ctx, 0x260C/4, 0x1);
722         INSTANCE_WR(ctx, 0x328C/4, 0x2);
723         INSTANCE_WR(ctx, 0x32CC/4, 0x1FFE67);
724         INSTANCE_WR(ctx, 0x346C/4, 0x1);
725         INSTANCE_WR(ctx, 0x348C/4, 0x10);
726         INSTANCE_WR(ctx, 0x34EC/4, 0x1);
727         INSTANCE_WR(ctx, 0x358C/4, 0x4);
728         INSTANCE_WR(ctx, 0x35AC/4, 0x400);
729         INSTANCE_WR(ctx, 0x35CC/4, 0x300);
730         INSTANCE_WR(ctx, 0x35EC/4, 0x1001);
731         INSTANCE_WR(ctx, 0x360C/4, 0x15);
732         INSTANCE_WR(ctx, 0x36CC/4, 0x2);
733         INSTANCE_WR(ctx, 0x37EC/4, 0x1);
734         INSTANCE_WR(ctx, 0x380C/4, 0x10);
735         INSTANCE_WR(ctx, 0x384C/4, 0x1);
736         INSTANCE_WR(ctx, 0x3ACC/4, 0x10);
737         INSTANCE_WR(ctx, 0x3CEC/4, 0x3F800000);
738         INSTANCE_WR(ctx, 0x3D0C/4, 0x3F800000);
739         INSTANCE_WR(ctx, 0x3D2C/4, 0x3F800000);
740         INSTANCE_WR(ctx, 0x3D4C/4, 0x3F800000);
741         INSTANCE_WR(ctx, 0x3D6C/4, 0x3F800000);
742         INSTANCE_WR(ctx, 0x3D8C/4, 0x3F800000);
743         INSTANCE_WR(ctx, 0x3DAC/4, 0x3F800000);
744         INSTANCE_WR(ctx, 0x3DCC/4, 0x3F800000);
745         INSTANCE_WR(ctx, 0x3DEC/4, 0x3F800000);
746         INSTANCE_WR(ctx, 0x3E0C/4, 0x3F800000);
747         INSTANCE_WR(ctx, 0x3E2C/4, 0x3F800000);
748         INSTANCE_WR(ctx, 0x3E4C/4, 0x3F800000);
749         INSTANCE_WR(ctx, 0x3E6C/4, 0x3F800000);
750         INSTANCE_WR(ctx, 0x3E8C/4, 0x3F800000);
751         INSTANCE_WR(ctx, 0x3EAC/4, 0x3F800000);
752         INSTANCE_WR(ctx, 0x3ECC/4, 0x3F800000);
753         INSTANCE_WR(ctx, 0x420C/4, 0x10);
754         INSTANCE_WR(ctx, 0x424C/4, 0x3F);
755         INSTANCE_WR(ctx, 0x432C/4, 0x1);
756         INSTANCE_WR(ctx, 0x436C/4, 0x1);
757         INSTANCE_WR(ctx, 0x43AC/4, 0x1);
758         INSTANCE_WR(ctx, 0x454C/4, 0x11);
759         INSTANCE_WR(ctx, 0x464C/4, 0xF);
760         INSTANCE_WR(ctx, 0x474C/4, 0x11);
761         INSTANCE_WR(ctx, 0x482C/4, 0x1);
762         INSTANCE_WR(ctx, 0x484C/4, 0x1);
763         INSTANCE_WR(ctx, 0x486C/4, 0x1);
764         INSTANCE_WR(ctx, 0x488C/4, 0x2);
765         INSTANCE_WR(ctx, 0x48AC/4, 0x1);
766         INSTANCE_WR(ctx, 0x48CC/4, 0x2);
767         INSTANCE_WR(ctx, 0x48EC/4, 0x1);
768         INSTANCE_WR(ctx, 0x492C/4, 0x1FFE67);
769         INSTANCE_WR(ctx, 0x496C/4, 0xFAC6881);
770         INSTANCE_WR(ctx, 0x4C2C/4, 0x1);
771         INSTANCE_WR(ctx, 0x4C4C/4, 0x2);
772         INSTANCE_WR(ctx, 0x4C6C/4, 0x1);
773         INSTANCE_WR(ctx, 0x4C8C/4, 0x1);
774         INSTANCE_WR(ctx, 0x4CAC/4, 0x2);
775         INSTANCE_WR(ctx, 0x4CCC/4, 0x1);
776         INSTANCE_WR(ctx, 0x4CEC/4, 0x1);
777         INSTANCE_WR(ctx, 0x4D6C/4, 0x11);
778         INSTANCE_WR(ctx, 0x4D8C/4, 0x1);
779         INSTANCE_WR(ctx, 0xA30/4, 0x4);
780         INSTANCE_WR(ctx, 0xCF0/4, 0x4);
781         INSTANCE_WR(ctx, 0xD10/4, 0x4);
782         INSTANCE_WR(ctx, 0xD30/4, 0x608080);
783         INSTANCE_WR(ctx, 0xDD0/4, 0x4);
784         INSTANCE_WR(ctx, 0xE30/4, 0x4);
785         INSTANCE_WR(ctx, 0xE50/4, 0x4);
786         INSTANCE_WR(ctx, 0xE70/4, 0x80);
787         INSTANCE_WR(ctx, 0xE90/4, 0x1E00);
788         INSTANCE_WR(ctx, 0xEB0/4, 0x4);
789         INSTANCE_WR(ctx, 0x1350/4, 0x4);
790         INSTANCE_WR(ctx, 0x1370/4, 0x80);
791         INSTANCE_WR(ctx, 0x1390/4, 0x4);
792         INSTANCE_WR(ctx, 0x13B0/4, 0x3020100);
793         INSTANCE_WR(ctx, 0x13D0/4, 0x3);
794         INSTANCE_WR(ctx, 0x13F0/4, 0x1E00);
795         INSTANCE_WR(ctx, 0x1410/4, 0x4);
796         INSTANCE_WR(ctx, 0x14B0/4, 0x4);
797         INSTANCE_WR(ctx, 0x14D0/4, 0x3);
798         INSTANCE_WR(ctx, 0x1550/4, 0x4);
799         INSTANCE_WR(ctx, 0x159F0/4, 0x4);
800         INSTANCE_WR(ctx, 0x15A10/4, 0x3);
801         INSTANCE_WR(ctx, 0x15C50/4, 0xF);
802         INSTANCE_WR(ctx, 0x15DD0/4, 0x4);
803         INSTANCE_WR(ctx, 0x15DF0/4, 0xFFFF);
804         INSTANCE_WR(ctx, 0x15E10/4, 0xFFFF);
805         INSTANCE_WR(ctx, 0x15E30/4, 0xFFFF);
806         INSTANCE_WR(ctx, 0x15E50/4, 0xFFFF);
807         INSTANCE_WR(ctx, 0x15F70/4, 0x1);
808         INSTANCE_WR(ctx, 0x15FF0/4, 0x1);
809         INSTANCE_WR(ctx, 0x160B0/4, 0x1);
810         INSTANCE_WR(ctx, 0x16250/4, 0x1);
811         INSTANCE_WR(ctx, 0x16270/4, 0x1);
812         INSTANCE_WR(ctx, 0x16290/4, 0x2);
813         INSTANCE_WR(ctx, 0x162B0/4, 0x1);
814         INSTANCE_WR(ctx, 0x162D0/4, 0x1);
815         INSTANCE_WR(ctx, 0x162F0/4, 0x2);
816         INSTANCE_WR(ctx, 0x16310/4, 0x1);
817         INSTANCE_WR(ctx, 0x16350/4, 0x11);
818         INSTANCE_WR(ctx, 0x16450/4, 0xFAC6881);
819         INSTANCE_WR(ctx, 0x164B0/4, 0x4);
820         INSTANCE_WR(ctx, 0x16530/4, 0x11);
821         INSTANCE_WR(ctx, 0x16550/4, 0x1);
822         INSTANCE_WR(ctx, 0x16590/4, 0xCF);
823         INSTANCE_WR(ctx, 0x165B0/4, 0xCF);
824         INSTANCE_WR(ctx, 0x165D0/4, 0xCF);
825         INSTANCE_WR(ctx, 0x16730/4, 0x1);
826         INSTANCE_WR(ctx, 0x16750/4, 0x1);
827         INSTANCE_WR(ctx, 0x16770/4, 0x2);
828         INSTANCE_WR(ctx, 0x16790/4, 0x1);
829         INSTANCE_WR(ctx, 0x167B0/4, 0x1);
830         INSTANCE_WR(ctx, 0x167D0/4, 0x2);
831         INSTANCE_WR(ctx, 0x167F0/4, 0x1);
832         INSTANCE_WR(ctx, 0x16830/4, 0x1);
833         INSTANCE_WR(ctx, 0x16850/4, 0x1);
834         INSTANCE_WR(ctx, 0x16870/4, 0x1);
835         INSTANCE_WR(ctx, 0x16890/4, 0x1);
836         INSTANCE_WR(ctx, 0x168B0/4, 0x1);
837         INSTANCE_WR(ctx, 0x168D0/4, 0x1);
838         INSTANCE_WR(ctx, 0x168F0/4, 0x1);
839         INSTANCE_WR(ctx, 0x16910/4, 0x1);
840         INSTANCE_WR(ctx, 0x16930/4, 0x11);
841         INSTANCE_WR(ctx, 0x16A30/4, 0xFAC6881);
842         INSTANCE_WR(ctx, 0x16A50/4, 0xF);
843         INSTANCE_WR(ctx, 0x16B50/4, 0x1FFE67);
844         INSTANCE_WR(ctx, 0x16BB0/4, 0x11);
845         INSTANCE_WR(ctx, 0x16BD0/4, 0x1);
846         INSTANCE_WR(ctx, 0x16C50/4, 0x4);
847         INSTANCE_WR(ctx, 0x16D10/4, 0x1);
848         INSTANCE_WR(ctx, 0x16DB0/4, 0x11);
849         INSTANCE_WR(ctx, 0x16EB0/4, 0xFAC6881);
850         INSTANCE_WR(ctx, 0x16F30/4, 0x11);
851         INSTANCE_WR(ctx, 0x16F50/4, 0x1);
852         INSTANCE_WR(ctx, 0x16F90/4, 0x1);
853         INSTANCE_WR(ctx, 0x16FD0/4, 0x1);
854         INSTANCE_WR(ctx, 0x17010/4, 0x7FF);
855         INSTANCE_WR(ctx, 0x17050/4, 0x1);
856         INSTANCE_WR(ctx, 0x17090/4, 0x1);
857         INSTANCE_WR(ctx, 0x175F0/4, 0x8);
858         INSTANCE_WR(ctx, 0x17610/4, 0x8);
859         INSTANCE_WR(ctx, 0x17630/4, 0x8);
860         INSTANCE_WR(ctx, 0x17650/4, 0x8);
861         INSTANCE_WR(ctx, 0x17670/4, 0x8);
862         INSTANCE_WR(ctx, 0x17690/4, 0x8);
863         INSTANCE_WR(ctx, 0x176B0/4, 0x8);
864         INSTANCE_WR(ctx, 0x176D0/4, 0x8);
865         INSTANCE_WR(ctx, 0x176F0/4, 0x11);
866         INSTANCE_WR(ctx, 0x177F0/4, 0xFAC6881);
867         INSTANCE_WR(ctx, 0x17810/4, 0x400);
868         INSTANCE_WR(ctx, 0x17830/4, 0x400);
869         INSTANCE_WR(ctx, 0x17850/4, 0x400);
870         INSTANCE_WR(ctx, 0x17870/4, 0x400);
871         INSTANCE_WR(ctx, 0x17890/4, 0x400);
872         INSTANCE_WR(ctx, 0x178B0/4, 0x400);
873         INSTANCE_WR(ctx, 0x178D0/4, 0x400);
874         INSTANCE_WR(ctx, 0x178F0/4, 0x400);
875         INSTANCE_WR(ctx, 0x17910/4, 0x300);
876         INSTANCE_WR(ctx, 0x17930/4, 0x300);
877         INSTANCE_WR(ctx, 0x17950/4, 0x300);
878         INSTANCE_WR(ctx, 0x17970/4, 0x300);
879         INSTANCE_WR(ctx, 0x17990/4, 0x300);
880         INSTANCE_WR(ctx, 0x179B0/4, 0x300);
881         INSTANCE_WR(ctx, 0x179D0/4, 0x300);
882         INSTANCE_WR(ctx, 0x179F0/4, 0x300);
883         INSTANCE_WR(ctx, 0x17A10/4, 0x1);
884         INSTANCE_WR(ctx, 0x17A30/4, 0xF);
885         INSTANCE_WR(ctx, 0x17B30/4, 0x20);
886         INSTANCE_WR(ctx, 0x17B50/4, 0x11);
887         INSTANCE_WR(ctx, 0x17B70/4, 0x100);
888         INSTANCE_WR(ctx, 0x17BB0/4, 0x1);
889         INSTANCE_WR(ctx, 0x17C10/4, 0x40);
890         INSTANCE_WR(ctx, 0x17C30/4, 0x100);
891         INSTANCE_WR(ctx, 0x17C70/4, 0x3);
892         INSTANCE_WR(ctx, 0x17D10/4, 0x1FFE67);
893         INSTANCE_WR(ctx, 0x17D90/4, 0x2);
894         INSTANCE_WR(ctx, 0x17DB0/4, 0xFAC6881);
895         INSTANCE_WR(ctx, 0x17EF0/4, 0x1);
896         INSTANCE_WR(ctx, 0x17F90/4, 0x4);
897         INSTANCE_WR(ctx, 0x17FD0/4, 0x1);
898         INSTANCE_WR(ctx, 0x17FF0/4, 0x400);
899         INSTANCE_WR(ctx, 0x18010/4, 0x300);
900         INSTANCE_WR(ctx, 0x18030/4, 0x1001);
901         INSTANCE_WR(ctx, 0x180B0/4, 0x11);
902         INSTANCE_WR(ctx, 0x181B0/4, 0xFAC6881);
903         INSTANCE_WR(ctx, 0x181D0/4, 0xF);
904         INSTANCE_WR(ctx, 0x184D0/4, 0x1FFE67);
905         INSTANCE_WR(ctx, 0x18550/4, 0x11);
906         INSTANCE_WR(ctx, 0x185B0/4, 0x4);
907         INSTANCE_WR(ctx, 0x185F0/4, 0x1);
908         INSTANCE_WR(ctx, 0x18610/4, 0x1);
909         INSTANCE_WR(ctx, 0x18690/4, 0x1);
910         INSTANCE_WR(ctx, 0x18730/4, 0x1);
911         INSTANCE_WR(ctx, 0x18770/4, 0x1);
912         INSTANCE_WR(ctx, 0x187F0/4, 0x2A712488);
913         INSTANCE_WR(ctx, 0x18830/4, 0x4085C000);
914         INSTANCE_WR(ctx, 0x18850/4, 0x40);
915         INSTANCE_WR(ctx, 0x18870/4, 0x100);
916         INSTANCE_WR(ctx, 0x18890/4, 0x10100);
917         INSTANCE_WR(ctx, 0x188B0/4, 0x2800000);
918         INSTANCE_WR(ctx, 0x18B10/4, 0x4E3BFDF);
919         INSTANCE_WR(ctx, 0x18B30/4, 0x4E3BFDF);
920         INSTANCE_WR(ctx, 0x18B50/4, 0x1);
921         INSTANCE_WR(ctx, 0x18B90/4, 0xFFFF00);
922         INSTANCE_WR(ctx, 0x18BB0/4, 0x1);
923         INSTANCE_WR(ctx, 0x18C10/4, 0xFFFF00);
924         INSTANCE_WR(ctx, 0x18D30/4, 0x1);
925         INSTANCE_WR(ctx, 0x18D70/4, 0x1);
926         INSTANCE_WR(ctx, 0x18D90/4, 0x30201000);
927         INSTANCE_WR(ctx, 0x18DB0/4, 0x70605040);
928         INSTANCE_WR(ctx, 0x18DD0/4, 0xB8A89888);
929         INSTANCE_WR(ctx, 0x18DF0/4, 0xF8E8D8C8);
930         INSTANCE_WR(ctx, 0x18E30/4, 0x1A);
931 }
932
933
934 static void
935 nv84_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref)
936 {
937         struct drm_nouveau_private *dev_priv = dev->dev_private;
938         struct nouveau_gpuobj *ctx = ref->gpuobj;
939
940         INSTANCE_WR(ctx, 0x00000/4, 0x00000001);
941         INSTANCE_WR(ctx, 0x0010c/4, 0x00000030);
942         INSTANCE_WR(ctx, 0x00130/4, 0x00000002);
943         INSTANCE_WR(ctx, 0x001d4/4, 0x00000003);
944         INSTANCE_WR(ctx, 0x001d8/4, 0x00001000);
945         INSTANCE_WR(ctx, 0x00218/4, 0x0000fe0c);
946         INSTANCE_WR(ctx, 0x0022c/4, 0x00001000);
947         INSTANCE_WR(ctx, 0x00258/4, 0x00000187);
948         INSTANCE_WR(ctx, 0x0026c/4, 0x00001018);
949         INSTANCE_WR(ctx, 0x00270/4, 0x000000ff);
950         INSTANCE_WR(ctx, 0x002ac/4, 0x00000004);
951         INSTANCE_WR(ctx, 0x002b0/4, 0x044d00df);
952         INSTANCE_WR(ctx, 0x002b8/4, 0x00000600);
953         INSTANCE_WR(ctx, 0x002d0/4, 0x01000000);
954         INSTANCE_WR(ctx, 0x002d4/4, 0x000000ff);
955         INSTANCE_WR(ctx, 0x002dc/4, 0x00000400);
956         INSTANCE_WR(ctx, 0x002f4/4, 0x00000001);
957         INSTANCE_WR(ctx, 0x002f8/4, 0x000e0080);
958         INSTANCE_WR(ctx, 0x002fc/4, 0x00000004);
959         INSTANCE_WR(ctx, 0x00318/4, 0x00000002);
960         INSTANCE_WR(ctx, 0x0031c/4, 0x00000001);
961         INSTANCE_WR(ctx, 0x00328/4, 0x00000001);
962         INSTANCE_WR(ctx, 0x0032c/4, 0x00000100);
963         INSTANCE_WR(ctx, 0x00344/4, 0x00000002);
964         INSTANCE_WR(ctx, 0x00348/4, 0x00000001);
965         INSTANCE_WR(ctx, 0x0034c/4, 0x00000001);
966         INSTANCE_WR(ctx, 0x0035c/4, 0x00000001);
967         INSTANCE_WR(ctx, 0x00360/4, 0x003fffff);
968         INSTANCE_WR(ctx, 0x00364/4, 0x00001fff);
969         INSTANCE_WR(ctx, 0x0036c/4, 0x00000001);
970         INSTANCE_WR(ctx, 0x00370/4, 0x00000001);
971         INSTANCE_WR(ctx, 0x00378/4, 0x00000001);
972         INSTANCE_WR(ctx, 0x0037c/4, 0x00000001);
973         INSTANCE_WR(ctx, 0x00380/4, 0x00000001);
974         INSTANCE_WR(ctx, 0x00384/4, 0x00000004);
975         INSTANCE_WR(ctx, 0x00388/4, 0x00000001);
976         INSTANCE_WR(ctx, 0x0038c/4, 0x00000001);
977         INSTANCE_WR(ctx, 0x00390/4, 0x00000001);
978         INSTANCE_WR(ctx, 0x00394/4, 0x00000007);
979         INSTANCE_WR(ctx, 0x00398/4, 0x00000001);
980         INSTANCE_WR(ctx, 0x0039c/4, 0x00000007);
981         INSTANCE_WR(ctx, 0x003a0/4, 0x00000001);
982         INSTANCE_WR(ctx, 0x003a4/4, 0x00000001);
983         INSTANCE_WR(ctx, 0x003a8/4, 0x00000001);
984         INSTANCE_WR(ctx, 0x003bc/4, 0x00000001);
985         INSTANCE_WR(ctx, 0x003c0/4, 0x00000100);
986         INSTANCE_WR(ctx, 0x003c8/4, 0x00000001);
987         INSTANCE_WR(ctx, 0x003d4/4, 0x00000100);
988         INSTANCE_WR(ctx, 0x003d8/4, 0x00000001);
989         INSTANCE_WR(ctx, 0x003dc/4, 0x00000100);
990         INSTANCE_WR(ctx, 0x003e4/4, 0x00000001);
991         INSTANCE_WR(ctx, 0x003f0/4, 0x00000100);
992         INSTANCE_WR(ctx, 0x00404/4, 0x00000004);
993         INSTANCE_WR(ctx, 0x00408/4, 0x00000070);
994         INSTANCE_WR(ctx, 0x0040c/4, 0x00000080);
995         INSTANCE_WR(ctx, 0x00420/4, 0x0000000c);
996         INSTANCE_WR(ctx, 0x00428/4, 0x00000008);
997         INSTANCE_WR(ctx, 0x0042c/4, 0x00000014);
998         INSTANCE_WR(ctx, 0x00434/4, 0x00000029);
999         INSTANCE_WR(ctx, 0x00438/4, 0x00000027);
1000         INSTANCE_WR(ctx, 0x0043c/4, 0x00000026);
1001         INSTANCE_WR(ctx, 0x00440/4, 0x00000008);
1002         INSTANCE_WR(ctx, 0x00444/4, 0x00000004);
1003         INSTANCE_WR(ctx, 0x00448/4, 0x00000027);
1004         INSTANCE_WR(ctx, 0x00454/4, 0x00000001);
1005         INSTANCE_WR(ctx, 0x00458/4, 0x00000002);
1006         INSTANCE_WR(ctx, 0x0045c/4, 0x00000003);
1007         INSTANCE_WR(ctx, 0x00460/4, 0x00000004);
1008         INSTANCE_WR(ctx, 0x00464/4, 0x00000005);
1009         INSTANCE_WR(ctx, 0x00468/4, 0x00000006);
1010         INSTANCE_WR(ctx, 0x0046c/4, 0x00000007);
1011         INSTANCE_WR(ctx, 0x00470/4, 0x00000001);
1012         INSTANCE_WR(ctx, 0x004b4/4, 0x000000cf);
1013         INSTANCE_WR(ctx, 0x004e4/4, 0x00000080);
1014         INSTANCE_WR(ctx, 0x004e8/4, 0x00000004);
1015         INSTANCE_WR(ctx, 0x004ec/4, 0x00000004);
1016         INSTANCE_WR(ctx, 0x004f0/4, 0x00000003);
1017         INSTANCE_WR(ctx, 0x004f4/4, 0x00000001);
1018         INSTANCE_WR(ctx, 0x00500/4, 0x00000012);
1019         INSTANCE_WR(ctx, 0x00504/4, 0x00000010);
1020         INSTANCE_WR(ctx, 0x00508/4, 0x0000000c);
1021         INSTANCE_WR(ctx, 0x0050c/4, 0x00000001);
1022         INSTANCE_WR(ctx, 0x0051c/4, 0x00000004);
1023         INSTANCE_WR(ctx, 0x00520/4, 0x00000002);
1024         INSTANCE_WR(ctx, 0x00524/4, 0x00000004);
1025         INSTANCE_WR(ctx, 0x00530/4, 0x003fffff);
1026         INSTANCE_WR(ctx, 0x00534/4, 0x00001fff);
1027         INSTANCE_WR(ctx, 0x0055c/4, 0x00000004);
1028         INSTANCE_WR(ctx, 0x00560/4, 0x00000014);
1029         INSTANCE_WR(ctx, 0x00564/4, 0x00000001);
1030         INSTANCE_WR(ctx, 0x00570/4, 0x00000002);
1031         INSTANCE_WR(ctx, 0x0057c/4, 0x00000001);
1032         INSTANCE_WR(ctx, 0x00584/4, 0x00000002);
1033         INSTANCE_WR(ctx, 0x00588/4, 0x00001000);
1034         INSTANCE_WR(ctx, 0x0058c/4, 0x00000e00);
1035         INSTANCE_WR(ctx, 0x00590/4, 0x00001000);
1036         INSTANCE_WR(ctx, 0x00594/4, 0x00001e00);
1037         INSTANCE_WR(ctx, 0x0059c/4, 0x00000001);
1038         INSTANCE_WR(ctx, 0x005a0/4, 0x00000001);
1039         INSTANCE_WR(ctx, 0x005a4/4, 0x00000001);
1040         INSTANCE_WR(ctx, 0x005a8/4, 0x00000001);
1041         INSTANCE_WR(ctx, 0x005ac/4, 0x00000001);
1042         INSTANCE_WR(ctx, 0x005bc/4, 0x00000200);
1043         INSTANCE_WR(ctx, 0x005c4/4, 0x00000001);
1044         INSTANCE_WR(ctx, 0x005c8/4, 0x00000070);
1045         INSTANCE_WR(ctx, 0x005cc/4, 0x00000080);
1046         INSTANCE_WR(ctx, 0x005d8/4, 0x00000001);
1047         INSTANCE_WR(ctx, 0x005dc/4, 0x00000070);
1048         INSTANCE_WR(ctx, 0x005e0/4, 0x00000080);
1049         INSTANCE_WR(ctx, 0x005f0/4, 0x00000001);
1050         INSTANCE_WR(ctx, 0x005f4/4, 0x000000cf);
1051         INSTANCE_WR(ctx, 0x005fc/4, 0x00000001);
1052         INSTANCE_WR(ctx, 0x0060c/4, 0x000000cf);
1053         INSTANCE_WR(ctx, 0x00614/4, 0x00000002);
1054         INSTANCE_WR(ctx, 0x0061c/4, 0x00000001);
1055         INSTANCE_WR(ctx, 0x00624/4, 0x00000001);
1056         INSTANCE_WR(ctx, 0x0062c/4, 0x000000cf);
1057         INSTANCE_WR(ctx, 0x00630/4, 0x000000cf);
1058         INSTANCE_WR(ctx, 0x00634/4, 0x00000001);
1059         INSTANCE_WR(ctx, 0x0063c/4, 0x00000f80);
1060         INSTANCE_WR(ctx, 0x00684/4, 0x007f0080);
1061         INSTANCE_WR(ctx, 0x006c0/4, 0x007f0080);
1062
1063         INSTANCE_WR(ctx, 0x006e4/4, 0x3b74f821);
1064         INSTANCE_WR(ctx, 0x006e8/4, 0x89058001);
1065         INSTANCE_WR(ctx, 0x006f0/4, 0x00001000);
1066         INSTANCE_WR(ctx, 0x006f4/4, 0x0000001f);
1067         INSTANCE_WR(ctx, 0x006f8/4, 0x027c10fa);
1068         INSTANCE_WR(ctx, 0x006fc/4, 0x400000c0);
1069         INSTANCE_WR(ctx, 0x00700/4, 0xb7892080);
1070
1071         INSTANCE_WR(ctx, 0x0070c/4, 0x3b74f821);
1072         INSTANCE_WR(ctx, 0x00710/4, 0x89058001);
1073         INSTANCE_WR(ctx, 0x00718/4, 0x00001000);
1074         INSTANCE_WR(ctx, 0x0071c/4, 0x0000001f);
1075         INSTANCE_WR(ctx, 0x00720/4, 0x027c10fa);
1076         INSTANCE_WR(ctx, 0x00724/4, 0x400000c0);
1077         INSTANCE_WR(ctx, 0x00728/4, 0xb7892080);
1078
1079         INSTANCE_WR(ctx, 0x00734/4, 0x3b74f821);
1080         INSTANCE_WR(ctx, 0x00738/4, 0x89058001);
1081         INSTANCE_WR(ctx, 0x00740/4, 0x00001000);
1082         INSTANCE_WR(ctx, 0x00744/4, 0x0000001f);
1083         INSTANCE_WR(ctx, 0x00748/4, 0x027c10fa);
1084         INSTANCE_WR(ctx, 0x0074c/4, 0x400000c0);
1085         INSTANCE_WR(ctx, 0x00750/4, 0xb7892080);
1086
1087         INSTANCE_WR(ctx, 0x0075c/4, 0x3b74f821);
1088         INSTANCE_WR(ctx, 0x00760/4, 0x89058001);
1089         INSTANCE_WR(ctx, 0x00768/4, 0x00001000);
1090         INSTANCE_WR(ctx, 0x0076c/4, 0x0000001f);
1091         INSTANCE_WR(ctx, 0x00770/4, 0x027c10fa);
1092         INSTANCE_WR(ctx, 0x00774/4, 0x400000c0);
1093         INSTANCE_WR(ctx, 0x00778/4, 0xb7892080);
1094
1095         INSTANCE_WR(ctx, 0x00784/4, 0x00010040);
1096         INSTANCE_WR(ctx, 0x0078c/4, 0x00000022);
1097         INSTANCE_WR(ctx, 0x00798/4, 0x00010040);
1098         INSTANCE_WR(ctx, 0x0079c/4, 0x00000022);
1099
1100         INSTANCE_WR(ctx, 0x007b4/4, 0x01800000);
1101         INSTANCE_WR(ctx, 0x007b8/4, 0x00160000);
1102         INSTANCE_WR(ctx, 0x007bc/4, 0x01800000);
1103         INSTANCE_WR(ctx, 0x007cc/4, 0x0003ffff);
1104         INSTANCE_WR(ctx, 0x007d0/4, 0x00880000);
1105         INSTANCE_WR(ctx, 0x007f4/4, 0x00010401);
1106         INSTANCE_WR(ctx, 0x007fc/4, 0x00000078);
1107         INSTANCE_WR(ctx, 0x00804/4, 0x000000bf);
1108         INSTANCE_WR(ctx, 0x0080c/4, 0x00001210);
1109         INSTANCE_WR(ctx, 0x00810/4, 0x08000080);
1110         INSTANCE_WR(ctx, 0x00834/4, 0x01800000);
1111         INSTANCE_WR(ctx, 0x00838/4, 0x00160000);
1112         INSTANCE_WR(ctx, 0x0083c/4, 0x01800000);
1113         INSTANCE_WR(ctx, 0x0084c/4, 0x0003ffff);
1114         INSTANCE_WR(ctx, 0x00850/4, 0x00880000);
1115         INSTANCE_WR(ctx, 0x00874/4, 0x00010401);
1116         INSTANCE_WR(ctx, 0x0087c/4, 0x00000078);
1117         INSTANCE_WR(ctx, 0x00884/4, 0x000000bf);
1118         INSTANCE_WR(ctx, 0x0088c/4, 0x00001210);
1119         INSTANCE_WR(ctx, 0x00890/4, 0x08000080);
1120         INSTANCE_WR(ctx, 0x008b8/4, 0x00027070);
1121         INSTANCE_WR(ctx, 0x008c4/4, 0x03ffffff);
1122         INSTANCE_WR(ctx, 0x008dc/4, 0x00120407);
1123         INSTANCE_WR(ctx, 0x008e0/4, 0x05091507);
1124         INSTANCE_WR(ctx, 0x008e4/4, 0x05100202);
1125         INSTANCE_WR(ctx, 0x008e8/4, 0x00030201);
1126         INSTANCE_WR(ctx, 0x00904/4, 0x00000040);
1127         INSTANCE_WR(ctx, 0x00908/4, 0x0d0c0b0a);
1128         INSTANCE_WR(ctx, 0x0090c/4, 0x00141210);
1129         INSTANCE_WR(ctx, 0x00910/4, 0x000001f0);
1130         INSTANCE_WR(ctx, 0x00914/4, 0x00000001);
1131         INSTANCE_WR(ctx, 0x00918/4, 0x00000003);
1132         INSTANCE_WR(ctx, 0x00924/4, 0x00039e00);
1133         INSTANCE_WR(ctx, 0x00928/4, 0x00000100);
1134         INSTANCE_WR(ctx, 0x0092c/4, 0x00003800);
1135         INSTANCE_WR(ctx, 0x00930/4, 0x00404040);
1136         INSTANCE_WR(ctx, 0x00934/4, 0x0000ff0a);
1137         INSTANCE_WR(ctx, 0x0093c/4, 0x0077f005);
1138         INSTANCE_WR(ctx, 0x00940/4, 0x003f7fff);
1139
1140         INSTANCE_WR(ctx, 0x00950/4, 0x01800000);
1141         INSTANCE_WR(ctx, 0x00954/4, 0x00160000);
1142         INSTANCE_WR(ctx, 0x00958/4, 0x01800000);
1143         INSTANCE_WR(ctx, 0x00968/4, 0x0003ffff);
1144         INSTANCE_WR(ctx, 0x0096c/4, 0x00880000);
1145         INSTANCE_WR(ctx, 0x00990/4, 0x00010401);
1146         INSTANCE_WR(ctx, 0x00998/4, 0x00000078);
1147         INSTANCE_WR(ctx, 0x009a0/4, 0x000000bf);
1148         INSTANCE_WR(ctx, 0x009a8/4, 0x00001210);
1149         INSTANCE_WR(ctx, 0x009ac/4, 0x08000080);
1150         INSTANCE_WR(ctx, 0x009d0/4, 0x01800000);
1151         INSTANCE_WR(ctx, 0x009d4/4, 0x00160000);
1152         INSTANCE_WR(ctx, 0x009d8/4, 0x01800000);
1153         INSTANCE_WR(ctx, 0x009e8/4, 0x0003ffff);
1154         INSTANCE_WR(ctx, 0x009ec/4, 0x00880000);
1155         INSTANCE_WR(ctx, 0x00a10/4, 0x00010401);
1156         INSTANCE_WR(ctx, 0x00a18/4, 0x00000078);
1157         INSTANCE_WR(ctx, 0x00a20/4, 0x000000bf);
1158         INSTANCE_WR(ctx, 0x00a28/4, 0x00001210);
1159         INSTANCE_WR(ctx, 0x00a2c/4, 0x08000080);
1160         INSTANCE_WR(ctx, 0x00a54/4, 0x00027070);
1161         INSTANCE_WR(ctx, 0x00a60/4, 0x03ffffff);
1162         INSTANCE_WR(ctx, 0x00a78/4, 0x00120407);
1163         INSTANCE_WR(ctx, 0x00a7c/4, 0x05091507);
1164         INSTANCE_WR(ctx, 0x00a80/4, 0x05100202);
1165         INSTANCE_WR(ctx, 0x00a84/4, 0x00030201);
1166         INSTANCE_WR(ctx, 0x00aa0/4, 0x00000040);
1167         INSTANCE_WR(ctx, 0x00aa4/4, 0x0d0c0b0a);
1168         INSTANCE_WR(ctx, 0x00aa8/4, 0x00141210);
1169         INSTANCE_WR(ctx, 0x00aac/4, 0x000001f0);
1170         INSTANCE_WR(ctx, 0x00ab0/4, 0x00000001);
1171         INSTANCE_WR(ctx, 0x00ab4/4, 0x00000003);
1172         INSTANCE_WR(ctx, 0x00ac0/4, 0x00039e00);
1173         INSTANCE_WR(ctx, 0x00ac4/4, 0x00000100);
1174         INSTANCE_WR(ctx, 0x00ac8/4, 0x00003800);
1175         INSTANCE_WR(ctx, 0x00acc/4, 0x00404040);
1176         INSTANCE_WR(ctx, 0x00ad0/4, 0x0000ff0a);
1177         INSTANCE_WR(ctx, 0x00ad8/4, 0x0077f005);
1178         INSTANCE_WR(ctx, 0x00adc/4, 0x003f7fff);
1179
1180         INSTANCE_WR(ctx, 0x00aec/4, 0x01800000);
1181         INSTANCE_WR(ctx, 0x00af0/4, 0x00160000);
1182         INSTANCE_WR(ctx, 0x00af4/4, 0x01800000);
1183         INSTANCE_WR(ctx, 0x00b04/4, 0x0003ffff);
1184         INSTANCE_WR(ctx, 0x00b08/4, 0x00880000);
1185         INSTANCE_WR(ctx, 0x00b2c/4, 0x00010401);
1186         INSTANCE_WR(ctx, 0x00b34/4, 0x00000078);
1187         INSTANCE_WR(ctx, 0x00b3c/4, 0x000000bf);
1188         INSTANCE_WR(ctx, 0x00b44/4, 0x00001210);
1189         INSTANCE_WR(ctx, 0x00b48/4, 0x08000080);
1190         INSTANCE_WR(ctx, 0x00b6c/4, 0x01800000);
1191         INSTANCE_WR(ctx, 0x00b70/4, 0x00160000);
1192         INSTANCE_WR(ctx, 0x00b74/4, 0x01800000);
1193         INSTANCE_WR(ctx, 0x00b84/4, 0x0003ffff);
1194         INSTANCE_WR(ctx, 0x00b88/4, 0x00880000);
1195         INSTANCE_WR(ctx, 0x00bac/4, 0x00010401);
1196         INSTANCE_WR(ctx, 0x00bb4/4, 0x00000078);
1197         INSTANCE_WR(ctx, 0x00bbc/4, 0x000000bf);
1198         INSTANCE_WR(ctx, 0x00bc4/4, 0x00001210);
1199         INSTANCE_WR(ctx, 0x00bc8/4, 0x08000080);
1200         INSTANCE_WR(ctx, 0x00bf0/4, 0x00027070);
1201         INSTANCE_WR(ctx, 0x00bfc/4, 0x03ffffff);
1202         INSTANCE_WR(ctx, 0x00c14/4, 0x00120407);
1203         INSTANCE_WR(ctx, 0x00c18/4, 0x05091507);
1204         INSTANCE_WR(ctx, 0x00c1c/4, 0x05100202);
1205         INSTANCE_WR(ctx, 0x00c20/4, 0x00030201);
1206         INSTANCE_WR(ctx, 0x00c3c/4, 0x00000040);
1207         INSTANCE_WR(ctx, 0x00c40/4, 0x0d0c0b0a);
1208         INSTANCE_WR(ctx, 0x00c44/4, 0x00141210);
1209         INSTANCE_WR(ctx, 0x00c48/4, 0x000001f0);
1210         INSTANCE_WR(ctx, 0x00c4c/4, 0x00000001);
1211         INSTANCE_WR(ctx, 0x00c50/4, 0x00000003);
1212         INSTANCE_WR(ctx, 0x00c5c/4, 0x00039e00);
1213         INSTANCE_WR(ctx, 0x00c60/4, 0x00000100);
1214         INSTANCE_WR(ctx, 0x00c64/4, 0x00003800);
1215         INSTANCE_WR(ctx, 0x00c68/4, 0x00404040);
1216         INSTANCE_WR(ctx, 0x00c6c/4, 0x0000ff0a);
1217         INSTANCE_WR(ctx, 0x00c74/4, 0x0077f005);
1218         INSTANCE_WR(ctx, 0x00c78/4, 0x003f7fff);
1219
1220         INSTANCE_WR(ctx, 0x00c88/4, 0x01800000);
1221         INSTANCE_WR(ctx, 0x00c8c/4, 0x00160000);
1222         INSTANCE_WR(ctx, 0x00c90/4, 0x01800000);
1223         INSTANCE_WR(ctx, 0x00ca0/4, 0x0003ffff);
1224         INSTANCE_WR(ctx, 0x00ca4/4, 0x00880000);
1225         INSTANCE_WR(ctx, 0x00cc8/4, 0x00010401);
1226         INSTANCE_WR(ctx, 0x00cd0/4, 0x00000078);
1227         INSTANCE_WR(ctx, 0x00cd8/4, 0x000000bf);
1228         INSTANCE_WR(ctx, 0x00ce0/4, 0x00001210);
1229         INSTANCE_WR(ctx, 0x00ce4/4, 0x08000080);
1230         INSTANCE_WR(ctx, 0x00d08/4, 0x01800000);
1231         INSTANCE_WR(ctx, 0x00d0c/4, 0x00160000);
1232         INSTANCE_WR(ctx, 0x00d10/4, 0x01800000);
1233         INSTANCE_WR(ctx, 0x00d20/4, 0x0003ffff);
1234         INSTANCE_WR(ctx, 0x00d24/4, 0x00880000);
1235         INSTANCE_WR(ctx, 0x00d48/4, 0x00010401);
1236         INSTANCE_WR(ctx, 0x00d50/4, 0x00000078);
1237         INSTANCE_WR(ctx, 0x00d58/4, 0x000000bf);
1238         INSTANCE_WR(ctx, 0x00d60/4, 0x00001210);
1239         INSTANCE_WR(ctx, 0x00d64/4, 0x08000080);
1240         INSTANCE_WR(ctx, 0x00d8c/4, 0x00027070);
1241         INSTANCE_WR(ctx, 0x00d98/4, 0x03ffffff);
1242         INSTANCE_WR(ctx, 0x00db0/4, 0x00120407);
1243         INSTANCE_WR(ctx, 0x00db4/4, 0x05091507);
1244         INSTANCE_WR(ctx, 0x00db8/4, 0x05100202);
1245         INSTANCE_WR(ctx, 0x00dbc/4, 0x00030201);
1246         INSTANCE_WR(ctx, 0x00dd8/4, 0x00000040);
1247         INSTANCE_WR(ctx, 0x00ddc/4, 0x0d0c0b0a);
1248         INSTANCE_WR(ctx, 0x00de0/4, 0x00141210);
1249         INSTANCE_WR(ctx, 0x00de4/4, 0x000001f0);
1250         INSTANCE_WR(ctx, 0x00de8/4, 0x00000001);
1251         INSTANCE_WR(ctx, 0x00dec/4, 0x00000003);
1252         INSTANCE_WR(ctx, 0x00df8/4, 0x00039e00);
1253         INSTANCE_WR(ctx, 0x00dfc/4, 0x00000100);
1254         INSTANCE_WR(ctx, 0x00e00/4, 0x00003800);
1255         INSTANCE_WR(ctx, 0x00e04/4, 0x00404040);
1256         INSTANCE_WR(ctx, 0x00e08/4, 0x0000ff0a);
1257         INSTANCE_WR(ctx, 0x00e10/4, 0x0077f005);
1258         INSTANCE_WR(ctx, 0x00e14/4, 0x003f7fff);
1259
1260         INSTANCE_WR(ctx, 0x00e24/4, 0x01800000);
1261         INSTANCE_WR(ctx, 0x00e28/4, 0x00160000);
1262         INSTANCE_WR(ctx, 0x00e2c/4, 0x01800000);
1263         INSTANCE_WR(ctx, 0x00e3c/4, 0x0003ffff);
1264         INSTANCE_WR(ctx, 0x00e40/4, 0x00880000);
1265         INSTANCE_WR(ctx, 0x00e64/4, 0x00010401);
1266         INSTANCE_WR(ctx, 0x00e6c/4, 0x00000078);
1267         INSTANCE_WR(ctx, 0x00e74/4, 0x000000bf);
1268         INSTANCE_WR(ctx, 0x00e7c/4, 0x00001210);
1269         INSTANCE_WR(ctx, 0x00e80/4, 0x08000080);
1270         INSTANCE_WR(ctx, 0x00ea4/4, 0x01800000);
1271         INSTANCE_WR(ctx, 0x00ea8/4, 0x00160000);
1272         INSTANCE_WR(ctx, 0x00eac/4, 0x01800000);
1273         INSTANCE_WR(ctx, 0x00ebc/4, 0x0003ffff);
1274         INSTANCE_WR(ctx, 0x00ec0/4, 0x00880000);
1275         INSTANCE_WR(ctx, 0x00ee4/4, 0x00010401);
1276         INSTANCE_WR(ctx, 0x00eec/4, 0x00000078);
1277         INSTANCE_WR(ctx, 0x00ef4/4, 0x000000bf);
1278         INSTANCE_WR(ctx, 0x00efc/4, 0x00001210);
1279         INSTANCE_WR(ctx, 0x00f00/4, 0x08000080);
1280         INSTANCE_WR(ctx, 0x00f28/4, 0x00027070);
1281         INSTANCE_WR(ctx, 0x00f34/4, 0x03ffffff);
1282         INSTANCE_WR(ctx, 0x00f4c/4, 0x00120407);
1283         INSTANCE_WR(ctx, 0x00f50/4, 0x05091507);
1284         INSTANCE_WR(ctx, 0x00f54/4, 0x05100202);
1285         INSTANCE_WR(ctx, 0x00f58/4, 0x00030201);
1286         INSTANCE_WR(ctx, 0x00f74/4, 0x00000040);
1287         INSTANCE_WR(ctx, 0x00f78/4, 0x0d0c0b0a);
1288         INSTANCE_WR(ctx, 0x00f7c/4, 0x00141210);
1289         INSTANCE_WR(ctx, 0x00f80/4, 0x000001f0);
1290         INSTANCE_WR(ctx, 0x00f84/4, 0x00000001);
1291         INSTANCE_WR(ctx, 0x00f88/4, 0x00000003);
1292         INSTANCE_WR(ctx, 0x00f94/4, 0x00039e00);
1293         INSTANCE_WR(ctx, 0x00f98/4, 0x00000100);
1294         INSTANCE_WR(ctx, 0x00f9c/4, 0x00003800);
1295         INSTANCE_WR(ctx, 0x00fa0/4, 0x00404040);
1296         INSTANCE_WR(ctx, 0x00fa4/4, 0x0000ff0a);
1297         INSTANCE_WR(ctx, 0x00fac/4, 0x0077f005);
1298         INSTANCE_WR(ctx, 0x00fb0/4, 0x003f7fff);
1299
1300         INSTANCE_WR(ctx, 0x00fc0/4, 0x01800000);
1301         INSTANCE_WR(ctx, 0x00fc4/4, 0x00160000);
1302         INSTANCE_WR(ctx, 0x00fc8/4, 0x01800000);
1303         INSTANCE_WR(ctx, 0x00fd8/4, 0x0003ffff);
1304         INSTANCE_WR(ctx, 0x00fdc/4, 0x00880000);
1305         INSTANCE_WR(ctx, 0x01000/4, 0x00010401);
1306         INSTANCE_WR(ctx, 0x01008/4, 0x00000078);
1307         INSTANCE_WR(ctx, 0x01010/4, 0x000000bf);
1308         INSTANCE_WR(ctx, 0x01018/4, 0x00001210);
1309         INSTANCE_WR(ctx, 0x0101c/4, 0x08000080);
1310         INSTANCE_WR(ctx, 0x01040/4, 0x01800000);
1311         INSTANCE_WR(ctx, 0x01044/4, 0x00160000);
1312         INSTANCE_WR(ctx, 0x01048/4, 0x01800000);
1313         INSTANCE_WR(ctx, 0x01058/4, 0x0003ffff);
1314         INSTANCE_WR(ctx, 0x0105c/4, 0x00880000);
1315         INSTANCE_WR(ctx, 0x01080/4, 0x00010401);
1316         INSTANCE_WR(ctx, 0x01088/4, 0x00000078);
1317         INSTANCE_WR(ctx, 0x01090/4, 0x000000bf);
1318         INSTANCE_WR(ctx, 0x01098/4, 0x00001210);
1319         INSTANCE_WR(ctx, 0x0109c/4, 0x08000080);
1320         INSTANCE_WR(ctx, 0x010c4/4, 0x00027070);
1321         INSTANCE_WR(ctx, 0x010d0/4, 0x03ffffff);
1322         INSTANCE_WR(ctx, 0x010e8/4, 0x00120407);
1323         INSTANCE_WR(ctx, 0x010ec/4, 0x05091507);
1324         INSTANCE_WR(ctx, 0x010f0/4, 0x05100202);
1325         INSTANCE_WR(ctx, 0x010f4/4, 0x00030201);
1326         INSTANCE_WR(ctx, 0x01110/4, 0x00000040);
1327         INSTANCE_WR(ctx, 0x01114/4, 0x0d0c0b0a);
1328         INSTANCE_WR(ctx, 0x01118/4, 0x00141210);
1329         INSTANCE_WR(ctx, 0x0111c/4, 0x000001f0);
1330         INSTANCE_WR(ctx, 0x01120/4, 0x00000001);
1331         INSTANCE_WR(ctx, 0x01124/4, 0x00000003);
1332         INSTANCE_WR(ctx, 0x01130/4, 0x00039e00);
1333         INSTANCE_WR(ctx, 0x01134/4, 0x00000100);
1334         INSTANCE_WR(ctx, 0x01138/4, 0x00003800);
1335         INSTANCE_WR(ctx, 0x0113c/4, 0x00404040);
1336         INSTANCE_WR(ctx, 0x01140/4, 0x0000ff0a);
1337         INSTANCE_WR(ctx, 0x01148/4, 0x0077f005);
1338         INSTANCE_WR(ctx, 0x0114c/4, 0x003f7fff);
1339
1340         INSTANCE_WR(ctx, 0x01230/4, 0x00000004);
1341         INSTANCE_WR(ctx, 0x01284/4, 0x0000000f);
1342         INSTANCE_WR(ctx, 0x0130c/4, 0x00000002);
1343         INSTANCE_WR(ctx, 0x01324/4, 0x00000020);
1344         INSTANCE_WR(ctx, 0x0134c/4, 0x001ffe67);
1345         INSTANCE_WR(ctx, 0x014ec/4, 0x00000001);
1346         INSTANCE_WR(ctx, 0x014f0/4, 0x00000004);
1347         INSTANCE_WR(ctx, 0x01504/4, 0x0000001a);
1348         INSTANCE_WR(ctx, 0x0150c/4, 0x00000010);
1349         INSTANCE_WR(ctx, 0x01510/4, 0x00000004);
1350         INSTANCE_WR(ctx, 0x01530/4, 0x00608080);
1351         INSTANCE_WR(ctx, 0x0156c/4, 0x00000001);
1352         INSTANCE_WR(ctx, 0x015d0/4, 0x00000004);
1353         INSTANCE_WR(ctx, 0x01630/4, 0x00000004);
1354         INSTANCE_WR(ctx, 0x0164c/4, 0x00000002);
1355         INSTANCE_WR(ctx, 0x01650/4, 0x00000004);
1356         INSTANCE_WR(ctx, 0x01670/4, 0x00000080);
1357         INSTANCE_WR(ctx, 0x01690/4, 0x00000004);
1358         INSTANCE_WR(ctx, 0x016c4/4, 0x00000004);
1359         INSTANCE_WR(ctx, 0x016e4/4, 0x00000004);
1360         INSTANCE_WR(ctx, 0x01724/4, 0x00000004);
1361         INSTANCE_WR(ctx, 0x01744/4, 0x00000008);
1362         INSTANCE_WR(ctx, 0x0176c/4, 0x00000001);
1363         INSTANCE_WR(ctx, 0x01784/4, 0x000007ff);
1364         INSTANCE_WR(ctx, 0x0178c/4, 0x00000010);
1365         INSTANCE_WR(ctx, 0x017cc/4, 0x00000001);
1366         INSTANCE_WR(ctx, 0x01924/4, 0x0000000f);
1367         INSTANCE_WR(ctx, 0x01a4c/4, 0x00000010);
1368         INSTANCE_WR(ctx, 0x01b30/4, 0x00000004);
1369         INSTANCE_WR(ctx, 0x01b50/4, 0x00000080);
1370         INSTANCE_WR(ctx, 0x01b70/4, 0x00000004);
1371         INSTANCE_WR(ctx, 0x01b90/4, 0x03020100);
1372         INSTANCE_WR(ctx, 0x01bb0/4, 0x00000003);
1373         INSTANCE_WR(ctx, 0x01bd0/4, 0x00000004);
1374         INSTANCE_WR(ctx, 0x01c6c/4, 0x3f800000);
1375         INSTANCE_WR(ctx, 0x01c70/4, 0x00000004);
1376         INSTANCE_WR(ctx, 0x01c8c/4, 0x3f800000);
1377         INSTANCE_WR(ctx, 0x01c90/4, 0x00000003);
1378         INSTANCE_WR(ctx, 0x01cac/4, 0x3f800000);
1379         INSTANCE_WR(ctx, 0x01ccc/4, 0x3f800000);
1380         INSTANCE_WR(ctx, 0x01cec/4, 0x3f800000);
1381         INSTANCE_WR(ctx, 0x01d0c/4, 0x3f800000);
1382         INSTANCE_WR(ctx, 0x01d10/4, 0x00000004);
1383         INSTANCE_WR(ctx, 0x01d2c/4, 0x3f800000);
1384         INSTANCE_WR(ctx, 0x01d4c/4, 0x3f800000);
1385         INSTANCE_WR(ctx, 0x01d6c/4, 0x3f800000);
1386         INSTANCE_WR(ctx, 0x01d8c/4, 0x3f800000);
1387         INSTANCE_WR(ctx, 0x01dac/4, 0x3f800000);
1388         INSTANCE_WR(ctx, 0x01dcc/4, 0x3f800000);
1389         INSTANCE_WR(ctx, 0x01dec/4, 0x3f800000);
1390         INSTANCE_WR(ctx, 0x01e0c/4, 0x3f800000);
1391         INSTANCE_WR(ctx, 0x01e2c/4, 0x3f800000);
1392         INSTANCE_WR(ctx, 0x01e4c/4, 0x3f800000);
1393         INSTANCE_WR(ctx, 0x0218c/4, 0x00000010);
1394         INSTANCE_WR(ctx, 0x021cc/4, 0x0000003f);
1395         INSTANCE_WR(ctx, 0x022ac/4, 0x00000001);
1396         INSTANCE_WR(ctx, 0x022ec/4, 0x00000001);
1397         INSTANCE_WR(ctx, 0x0232c/4, 0x00000001);
1398         INSTANCE_WR(ctx, 0x024cc/4, 0x00000011);
1399         INSTANCE_WR(ctx, 0x025cc/4, 0x0000000f);
1400         INSTANCE_WR(ctx, 0x026cc/4, 0x00000011);
1401         INSTANCE_WR(ctx, 0x027ac/4, 0x00000001);
1402         INSTANCE_WR(ctx, 0x027cc/4, 0x00000001);
1403         INSTANCE_WR(ctx, 0x027ec/4, 0x00000001);
1404         INSTANCE_WR(ctx, 0x0280c/4, 0x00000002);
1405         INSTANCE_WR(ctx, 0x0282c/4, 0x00000001);
1406         INSTANCE_WR(ctx, 0x0284c/4, 0x00000002);
1407         INSTANCE_WR(ctx, 0x0286c/4, 0x00000001);
1408         INSTANCE_WR(ctx, 0x028ac/4, 0x001ffe67);
1409         INSTANCE_WR(ctx, 0x028ec/4, 0x0fac6881);
1410         INSTANCE_WR(ctx, 0x02bac/4, 0x00000001);
1411         INSTANCE_WR(ctx, 0x02bcc/4, 0x00000002);
1412         INSTANCE_WR(ctx, 0x02bec/4, 0x00000001);
1413         INSTANCE_WR(ctx, 0x02c0c/4, 0x00000001);
1414         INSTANCE_WR(ctx, 0x02c2c/4, 0x00000002);
1415         INSTANCE_WR(ctx, 0x02c4c/4, 0x00000001);
1416         INSTANCE_WR(ctx, 0x02c6c/4, 0x00000001);
1417         INSTANCE_WR(ctx, 0x02cec/4, 0x00000011);
1418         INSTANCE_WR(ctx, 0x02d0c/4, 0x00000001);
1419         INSTANCE_WR(ctx, 0x0398c/4, 0x00000002);
1420         INSTANCE_WR(ctx, 0x039cc/4, 0x001ffe67);
1421         INSTANCE_WR(ctx, 0x03b6c/4, 0x00000001);
1422         INSTANCE_WR(ctx, 0x03b8c/4, 0x00000010);
1423         INSTANCE_WR(ctx, 0x03bec/4, 0x00000001);
1424         INSTANCE_WR(ctx, 0x03ccc/4, 0x00000002);
1425         INSTANCE_WR(ctx, 0x03dec/4, 0x00000001);
1426         INSTANCE_WR(ctx, 0x03e04/4, 0x0000000f);
1427         INSTANCE_WR(ctx, 0x03e0c/4, 0x00000010);
1428         INSTANCE_WR(ctx, 0x03e44/4, 0x00000001);
1429         INSTANCE_WR(ctx, 0x03e4c/4, 0x00000001);
1430         INSTANCE_WR(ctx, 0x040cc/4, 0x00000010);
1431         INSTANCE_WR(ctx, 0x042ec/4, 0x3f800000);
1432         INSTANCE_WR(ctx, 0x0430c/4, 0x3f800000);
1433         INSTANCE_WR(ctx, 0x0432c/4, 0x3f800000);
1434         INSTANCE_WR(ctx, 0x0434c/4, 0x3f800000);
1435         INSTANCE_WR(ctx, 0x0436c/4, 0x3f800000);
1436         INSTANCE_WR(ctx, 0x0438c/4, 0x3f800000);
1437         INSTANCE_WR(ctx, 0x043ac/4, 0x3f800000);
1438         INSTANCE_WR(ctx, 0x043cc/4, 0x3f800000);
1439         INSTANCE_WR(ctx, 0x043ec/4, 0x3f800000);
1440         INSTANCE_WR(ctx, 0x0440c/4, 0x3f800000);
1441         INSTANCE_WR(ctx, 0x0442c/4, 0x3f800000);
1442         INSTANCE_WR(ctx, 0x0444c/4, 0x3f800000);
1443         INSTANCE_WR(ctx, 0x0446c/4, 0x3f800000);
1444         INSTANCE_WR(ctx, 0x0448c/4, 0x3f800000);
1445         INSTANCE_WR(ctx, 0x044ac/4, 0x3f800000);
1446         INSTANCE_WR(ctx, 0x044cc/4, 0x3f800000);
1447         INSTANCE_WR(ctx, 0x0480c/4, 0x00000010);
1448         INSTANCE_WR(ctx, 0x0484c/4, 0x0000003f);
1449         INSTANCE_WR(ctx, 0x0492c/4, 0x00000001);
1450         INSTANCE_WR(ctx, 0x0496c/4, 0x00000001);
1451         INSTANCE_WR(ctx, 0x049a4/4, 0x0000000f);
1452         INSTANCE_WR(ctx, 0x049ac/4, 0x00000001);
1453         INSTANCE_WR(ctx, 0x04b4c/4, 0x00000011);
1454         INSTANCE_WR(ctx, 0x04c4c/4, 0x0000000f);
1455         INSTANCE_WR(ctx, 0x04d4c/4, 0x00000011);
1456         INSTANCE_WR(ctx, 0x04e2c/4, 0x00000001);
1457         INSTANCE_WR(ctx, 0x04e4c/4, 0x00000001);
1458         INSTANCE_WR(ctx, 0x04e6c/4, 0x00000001);
1459         INSTANCE_WR(ctx, 0x04e8c/4, 0x00000002);
1460         INSTANCE_WR(ctx, 0x04eac/4, 0x00000001);
1461         INSTANCE_WR(ctx, 0x04ecc/4, 0x00000002);
1462         INSTANCE_WR(ctx, 0x04eec/4, 0x00000001);
1463         INSTANCE_WR(ctx, 0x04f2c/4, 0x001ffe67);
1464         INSTANCE_WR(ctx, 0x04f6c/4, 0x0fac6881);
1465         INSTANCE_WR(ctx, 0x0522c/4, 0x00000001);
1466         INSTANCE_WR(ctx, 0x0524c/4, 0x00000002);
1467         INSTANCE_WR(ctx, 0x0526c/4, 0x00000001);
1468         INSTANCE_WR(ctx, 0x0528c/4, 0x00000001);
1469         INSTANCE_WR(ctx, 0x052ac/4, 0x00000002);
1470         INSTANCE_WR(ctx, 0x052cc/4, 0x00000001);
1471         INSTANCE_WR(ctx, 0x052ec/4, 0x00000001);
1472         INSTANCE_WR(ctx, 0x0536c/4, 0x00000011);
1473         INSTANCE_WR(ctx, 0x0538c/4, 0x00000001);
1474         INSTANCE_WR(ctx, 0x083a0/4, 0x00000021);
1475         INSTANCE_WR(ctx, 0x083c0/4, 0x00000001);
1476         INSTANCE_WR(ctx, 0x083e0/4, 0x00000002);
1477         INSTANCE_WR(ctx, 0x08400/4, 0x00000100);
1478         INSTANCE_WR(ctx, 0x08420/4, 0x00000100);
1479         INSTANCE_WR(ctx, 0x08440/4, 0x00000001);
1480         INSTANCE_WR(ctx, 0x084a0/4, 0x00000001);
1481         INSTANCE_WR(ctx, 0x084c0/4, 0x00000002);
1482         INSTANCE_WR(ctx, 0x084e0/4, 0x00000100);
1483         INSTANCE_WR(ctx, 0x08500/4, 0x00000100);
1484         INSTANCE_WR(ctx, 0x08520/4, 0x00000001);
1485         INSTANCE_WR(ctx, 0x11e40/4, 0x00000004);
1486         INSTANCE_WR(ctx, 0x11e60/4, 0x00000004);
1487         INSTANCE_WR(ctx, 0x15044/4, 0x0000000f);
1488         INSTANCE_WR(ctx, 0x152e4/4, 0x00000001);
1489         INSTANCE_WR(ctx, 0x15304/4, 0x00000100);
1490         INSTANCE_WR(ctx, 0x15324/4, 0x00000100);
1491         INSTANCE_WR(ctx, 0x15344/4, 0x00000011);
1492         INSTANCE_WR(ctx, 0x15384/4, 0x00000008);
1493         INSTANCE_WR(ctx, 0x15444/4, 0x00000001);
1494         INSTANCE_WR(ctx, 0x15484/4, 0x00000001);
1495         INSTANCE_WR(ctx, 0x154a4/4, 0x00000001);
1496         INSTANCE_WR(ctx, 0x154c4/4, 0x00000001);
1497         INSTANCE_WR(ctx, 0x154e4/4, 0x000000cf);
1498         INSTANCE_WR(ctx, 0x15504/4, 0x00000002);
1499         INSTANCE_WR(ctx, 0x155e4/4, 0x00000001);
1500         INSTANCE_WR(ctx, 0x15624/4, 0x00000001);
1501         INSTANCE_WR(ctx, 0x15644/4, 0x00000001);
1502         INSTANCE_WR(ctx, 0x15664/4, 0x00000001);
1503         INSTANCE_WR(ctx, 0x15704/4, 0x00000004);
1504         INSTANCE_WR(ctx, 0x15744/4, 0x00000001);
1505         INSTANCE_WR(ctx, 0x15764/4, 0x00000015);
1506         INSTANCE_WR(ctx, 0x157e4/4, 0x04444480);
1507         INSTANCE_WR(ctx, 0x15f64/4, 0x08100c12);
1508         INSTANCE_WR(ctx, 0x16004/4, 0x00000100);
1509         INSTANCE_WR(ctx, 0x16064/4, 0x00010001);
1510         INSTANCE_WR(ctx, 0x160a4/4, 0x00010001);
1511         INSTANCE_WR(ctx, 0x160c4/4, 0x00000001);
1512         INSTANCE_WR(ctx, 0x160e4/4, 0x00010001);
1513         INSTANCE_WR(ctx, 0x16104/4, 0x00000001);
1514         INSTANCE_WR(ctx, 0x16124/4, 0x00000004);
1515         INSTANCE_WR(ctx, 0x16144/4, 0x00000002);
1516         INSTANCE_WR(ctx, 0x161b0/4, 0x00000004);
1517         INSTANCE_WR(ctx, 0x161c8/4, 0x003fffff);
1518         INSTANCE_WR(ctx, 0x161d0/4, 0x00000003);
1519         INSTANCE_WR(ctx, 0x16228/4, 0x00001fff);
1520         INSTANCE_WR(ctx, 0x16408/4, 0x3f800000);
1521         INSTANCE_WR(ctx, 0x16410/4, 0x0000000f);
1522         INSTANCE_WR(ctx, 0x164e8/4, 0x00000004);
1523         INSTANCE_WR(ctx, 0x16508/4, 0x0000001a);
1524         INSTANCE_WR(ctx, 0x16568/4, 0x00000001);
1525         INSTANCE_WR(ctx, 0x16590/4, 0x00000004);
1526         INSTANCE_WR(ctx, 0x165b0/4, 0x0000ffff);
1527         INSTANCE_WR(ctx, 0x165d0/4, 0x0000ffff);
1528         INSTANCE_WR(ctx, 0x165f0/4, 0x0000ffff);
1529         INSTANCE_WR(ctx, 0x16610/4, 0x0000ffff);
1530         INSTANCE_WR(ctx, 0x16730/4, 0x00000001);
1531         INSTANCE_WR(ctx, 0x167b0/4, 0x00000001);
1532         INSTANCE_WR(ctx, 0x167c8/4, 0x00ffff00);
1533         INSTANCE_WR(ctx, 0x16870/4, 0x00000001);
1534         INSTANCE_WR(ctx, 0x168a8/4, 0x0000000f);
1535         INSTANCE_WR(ctx, 0x169a8/4, 0x0fac6881);
1536         INSTANCE_WR(ctx, 0x169c8/4, 0x00000011);
1537         INSTANCE_WR(ctx, 0x16a10/4, 0x00000001);
1538         INSTANCE_WR(ctx, 0x16a30/4, 0x00000001);
1539         INSTANCE_WR(ctx, 0x16a50/4, 0x00000002);
1540         INSTANCE_WR(ctx, 0x16a70/4, 0x00000001);
1541         INSTANCE_WR(ctx, 0x16a90/4, 0x00000001);
1542         INSTANCE_WR(ctx, 0x16ab0/4, 0x00000002);
1543         INSTANCE_WR(ctx, 0x16ad0/4, 0x00000001);
1544         INSTANCE_WR(ctx, 0x16b10/4, 0x00000011);
1545         INSTANCE_WR(ctx, 0x16bc8/4, 0x00000004);
1546         INSTANCE_WR(ctx, 0x16c10/4, 0x0fac6881);
1547         INSTANCE_WR(ctx, 0x16c68/4, 0x00000002);
1548         INSTANCE_WR(ctx, 0x16c70/4, 0x00000004);
1549         INSTANCE_WR(ctx, 0x16c88/4, 0x04000000);
1550         INSTANCE_WR(ctx, 0x16ca8/4, 0x04000000);
1551         INSTANCE_WR(ctx, 0x16cf0/4, 0x00000011);
1552         INSTANCE_WR(ctx, 0x16d10/4, 0x00000001);
1553         INSTANCE_WR(ctx, 0x16d28/4, 0x00000005);
1554         INSTANCE_WR(ctx, 0x16d48/4, 0x00000052);
1555         INSTANCE_WR(ctx, 0x16d50/4, 0x000000cf);
1556         INSTANCE_WR(ctx, 0x16d70/4, 0x000000cf);
1557         INSTANCE_WR(ctx, 0x16d90/4, 0x000000cf);
1558         INSTANCE_WR(ctx, 0x16de8/4, 0x00000001);
1559         INSTANCE_WR(ctx, 0x16ef0/4, 0x00000001);
1560         INSTANCE_WR(ctx, 0x16f10/4, 0x00000001);
1561         INSTANCE_WR(ctx, 0x16f30/4, 0x00000002);
1562         INSTANCE_WR(ctx, 0x16f50/4, 0x00000001);
1563         INSTANCE_WR(ctx, 0x16f70/4, 0x00000001);
1564         INSTANCE_WR(ctx, 0x16f90/4, 0x00000002);
1565         INSTANCE_WR(ctx, 0x16fb0/4, 0x00000001);
1566         INSTANCE_WR(ctx, 0x16ff0/4, 0x00000001);
1567         INSTANCE_WR(ctx, 0x17008/4, 0x3f800000);
1568         INSTANCE_WR(ctx, 0x17010/4, 0x00000001);
1569         INSTANCE_WR(ctx, 0x17028/4, 0x3f800000);
1570         INSTANCE_WR(ctx, 0x17030/4, 0x00000001);
1571         INSTANCE_WR(ctx, 0x17048/4, 0x3f800000);
1572         INSTANCE_WR(ctx, 0x17050/4, 0x00000001);
1573         INSTANCE_WR(ctx, 0x17068/4, 0x3f800000);
1574         INSTANCE_WR(ctx, 0x17070/4, 0x00000001);
1575         INSTANCE_WR(ctx, 0x17088/4, 0x3f800000);
1576         INSTANCE_WR(ctx, 0x17090/4, 0x00000001);
1577         INSTANCE_WR(ctx, 0x170a8/4, 0x3f800000);
1578         INSTANCE_WR(ctx, 0x170b0/4, 0x00000001);
1579         INSTANCE_WR(ctx, 0x170c8/4, 0x3f800000);
1580         INSTANCE_WR(ctx, 0x170d0/4, 0x00000001);
1581         INSTANCE_WR(ctx, 0x170e8/4, 0x3f800000);
1582         INSTANCE_WR(ctx, 0x170f0/4, 0x00000011);
1583         INSTANCE_WR(ctx, 0x17108/4, 0x3f800000);
1584         INSTANCE_WR(ctx, 0x17128/4, 0x3f800000);
1585         INSTANCE_WR(ctx, 0x17148/4, 0x3f800000);
1586         INSTANCE_WR(ctx, 0x17168/4, 0x3f800000);
1587         INSTANCE_WR(ctx, 0x17188/4, 0x3f800000);
1588         INSTANCE_WR(ctx, 0x171a8/4, 0x3f800000);
1589         INSTANCE_WR(ctx, 0x171c8/4, 0x3f800000);
1590         INSTANCE_WR(ctx, 0x171e8/4, 0x3f800000);
1591         INSTANCE_WR(ctx, 0x171f0/4, 0x0fac6881);
1592         INSTANCE_WR(ctx, 0x17208/4, 0x00000010);
1593         INSTANCE_WR(ctx, 0x17210/4, 0x0000000f);
1594         INSTANCE_WR(ctx, 0x17310/4, 0x001ffe67);
1595         INSTANCE_WR(ctx, 0x17370/4, 0x00000011);
1596         INSTANCE_WR(ctx, 0x17390/4, 0x00000001);
1597         INSTANCE_WR(ctx, 0x17410/4, 0x00000004);
1598         INSTANCE_WR(ctx, 0x174d0/4, 0x00000001);
1599         INSTANCE_WR(ctx, 0x17570/4, 0x00000011);
1600         INSTANCE_WR(ctx, 0x17670/4, 0x0fac6881);
1601         INSTANCE_WR(ctx, 0x176e8/4, 0x08100c12);
1602         INSTANCE_WR(ctx, 0x176f0/4, 0x00000011);
1603         INSTANCE_WR(ctx, 0x17708/4, 0x00000005);
1604         INSTANCE_WR(ctx, 0x17710/4, 0x00000001);
1605         INSTANCE_WR(ctx, 0x17750/4, 0x00000001);
1606         INSTANCE_WR(ctx, 0x17768/4, 0x00000001);
1607         INSTANCE_WR(ctx, 0x17790/4, 0x00000001);
1608         INSTANCE_WR(ctx, 0x177a8/4, 0x0000ffff);
1609         INSTANCE_WR(ctx, 0x177c8/4, 0x0000ffff);
1610         INSTANCE_WR(ctx, 0x177d0/4, 0x000007ff);
1611         INSTANCE_WR(ctx, 0x177e8/4, 0x0000ffff);
1612         INSTANCE_WR(ctx, 0x17808/4, 0x0000ffff);
1613         INSTANCE_WR(ctx, 0x17810/4, 0x00000001);
1614         INSTANCE_WR(ctx, 0x17828/4, 0x00000003);
1615         INSTANCE_WR(ctx, 0x17850/4, 0x00000001);
1616         INSTANCE_WR(ctx, 0x17bc4/4, 0x04e3bfdf);
1617         INSTANCE_WR(ctx, 0x17be4/4, 0x04e3bfdf);
1618         INSTANCE_WR(ctx, 0x17c28/4, 0x00ffff00);
1619         INSTANCE_WR(ctx, 0x17c48/4, 0x0000001a);
1620         INSTANCE_WR(ctx, 0x17c84/4, 0x0fac6881);
1621         INSTANCE_WR(ctx, 0x17c88/4, 0x00000003);
1622         INSTANCE_WR(ctx, 0x17db0/4, 0x00000008);
1623         INSTANCE_WR(ctx, 0x17dd0/4, 0x00000008);
1624         INSTANCE_WR(ctx, 0x17df0/4, 0x00000008);
1625         INSTANCE_WR(ctx, 0x17e04/4, 0x04e3bfdf);
1626         INSTANCE_WR(ctx, 0x17e10/4, 0x00000008);
1627         INSTANCE_WR(ctx, 0x17e24/4, 0x04e3bfdf);
1628         INSTANCE_WR(ctx, 0x17e30/4, 0x00000008);
1629         INSTANCE_WR(ctx, 0x17e50/4, 0x00000008);
1630         INSTANCE_WR(ctx, 0x17e70/4, 0x00000008);
1631         INSTANCE_WR(ctx, 0x17e90/4, 0x00000008);
1632         INSTANCE_WR(ctx, 0x17eb0/4, 0x00000011);
1633         INSTANCE_WR(ctx, 0x17fb0/4, 0x0fac6881);
1634         INSTANCE_WR(ctx, 0x17fd0/4, 0x00000400);
1635         INSTANCE_WR(ctx, 0x17ff0/4, 0x00000400);
1636         INSTANCE_WR(ctx, 0x18010/4, 0x00000400);
1637         INSTANCE_WR(ctx, 0x18030/4, 0x00000400);
1638         INSTANCE_WR(ctx, 0x18050/4, 0x00000400);
1639         INSTANCE_WR(ctx, 0x18070/4, 0x00000400);
1640         INSTANCE_WR(ctx, 0x18090/4, 0x00000400);
1641         INSTANCE_WR(ctx, 0x180b0/4, 0x00000400);
1642         INSTANCE_WR(ctx, 0x180d0/4, 0x00000300);
1643         INSTANCE_WR(ctx, 0x180f0/4, 0x00000300);
1644         INSTANCE_WR(ctx, 0x18110/4, 0x00000300);
1645         INSTANCE_WR(ctx, 0x18130/4, 0x00000300);
1646         INSTANCE_WR(ctx, 0x18150/4, 0x00000300);
1647         INSTANCE_WR(ctx, 0x18168/4, 0x00000102);
1648         INSTANCE_WR(ctx, 0x18170/4, 0x00000300);
1649         INSTANCE_WR(ctx, 0x18190/4, 0x00000300);
1650         INSTANCE_WR(ctx, 0x181a8/4, 0x00000004);
1651         INSTANCE_WR(ctx, 0x181b0/4, 0x00000300);
1652         INSTANCE_WR(ctx, 0x181c8/4, 0x00000004);
1653         INSTANCE_WR(ctx, 0x181d0/4, 0x00000001);
1654         INSTANCE_WR(ctx, 0x181e8/4, 0x00000004);
1655         INSTANCE_WR(ctx, 0x181f0/4, 0x0000000f);
1656         INSTANCE_WR(ctx, 0x18208/4, 0x00000004);
1657         INSTANCE_WR(ctx, 0x18228/4, 0x00000004);
1658         INSTANCE_WR(ctx, 0x18248/4, 0x00000004);
1659         INSTANCE_WR(ctx, 0x18288/4, 0x000007ff);
1660         INSTANCE_WR(ctx, 0x182c8/4, 0x00000102);
1661         INSTANCE_WR(ctx, 0x182f0/4, 0x00000020);
1662         INSTANCE_WR(ctx, 0x18310/4, 0x00000011);
1663         INSTANCE_WR(ctx, 0x18330/4, 0x00000100);
1664         INSTANCE_WR(ctx, 0x18370/4, 0x00000001);
1665         INSTANCE_WR(ctx, 0x183d0/4, 0x00000040);
1666         INSTANCE_WR(ctx, 0x183f0/4, 0x00000100);
1667         INSTANCE_WR(ctx, 0x18408/4, 0x00000004);
1668         INSTANCE_WR(ctx, 0x18428/4, 0x00000004);
1669         INSTANCE_WR(ctx, 0x18430/4, 0x00000003);
1670         INSTANCE_WR(ctx, 0x18448/4, 0x00000004);
1671         INSTANCE_WR(ctx, 0x18468/4, 0x00000004);
1672         INSTANCE_WR(ctx, 0x184d0/4, 0x001ffe67);
1673         INSTANCE_WR(ctx, 0x18550/4, 0x00000002);
1674         INSTANCE_WR(ctx, 0x18570/4, 0x0fac6881);
1675         INSTANCE_WR(ctx, 0x186b0/4, 0x00000001);
1676         INSTANCE_WR(ctx, 0x18750/4, 0x00000004);
1677         INSTANCE_WR(ctx, 0x18790/4, 0x00000001);
1678         INSTANCE_WR(ctx, 0x187b0/4, 0x00000400);
1679         INSTANCE_WR(ctx, 0x187d0/4, 0x00000300);
1680         INSTANCE_WR(ctx, 0x187f0/4, 0x00001001);
1681         INSTANCE_WR(ctx, 0x18870/4, 0x00000011);
1682         INSTANCE_WR(ctx, 0x18970/4, 0x0fac6881);
1683         INSTANCE_WR(ctx, 0x18990/4, 0x0000000f);
1684         INSTANCE_WR(ctx, 0x18aa8/4, 0x00080c14);
1685         INSTANCE_WR(ctx, 0x18b08/4, 0x00000804);
1686         INSTANCE_WR(ctx, 0x18b48/4, 0x00000004);
1687         INSTANCE_WR(ctx, 0x18b68/4, 0x00000004);
1688         INSTANCE_WR(ctx, 0x18b88/4, 0x08100c12);
1689         INSTANCE_WR(ctx, 0x18bc8/4, 0x00000004);
1690         INSTANCE_WR(ctx, 0x18be8/4, 0x00000004);
1691         INSTANCE_WR(ctx, 0x18c28/4, 0x00000010);
1692         INSTANCE_WR(ctx, 0x18c90/4, 0x001ffe67);
1693         INSTANCE_WR(ctx, 0x18cc8/4, 0x00000804);
1694         INSTANCE_WR(ctx, 0x18ce8/4, 0x00000001);
1695         INSTANCE_WR(ctx, 0x18d08/4, 0x0000001a);
1696         INSTANCE_WR(ctx, 0x18d10/4, 0x00000011);
1697         INSTANCE_WR(ctx, 0x18d28/4, 0x0000007f);
1698         INSTANCE_WR(ctx, 0x18d68/4, 0x00000001);
1699         INSTANCE_WR(ctx, 0x18d70/4, 0x00000004);
1700         INSTANCE_WR(ctx, 0x18d88/4, 0x00080c14);
1701         INSTANCE_WR(ctx, 0x18db0/4, 0x00000001);
1702         INSTANCE_WR(ctx, 0x18dc8/4, 0x08100c12);
1703         INSTANCE_WR(ctx, 0x18dd0/4, 0x00000001);
1704         INSTANCE_WR(ctx, 0x18de8/4, 0x00000004);
1705         INSTANCE_WR(ctx, 0x18e08/4, 0x00000004);
1706         INSTANCE_WR(ctx, 0x18e48/4, 0x00000010);
1707         INSTANCE_WR(ctx, 0x18e50/4, 0x00000001);
1708         INSTANCE_WR(ctx, 0x18ec8/4, 0x00000001);
1709         INSTANCE_WR(ctx, 0x18ee8/4, 0x08100c12);
1710         INSTANCE_WR(ctx, 0x18ef0/4, 0x00000001);
1711         INSTANCE_WR(ctx, 0x18f30/4, 0x00000001);
1712         INSTANCE_WR(ctx, 0x18fb0/4, 0x2a712488);
1713         INSTANCE_WR(ctx, 0x18fc8/4, 0x000007ff);
1714         INSTANCE_WR(ctx, 0x18fe8/4, 0x00080c14);
1715         INSTANCE_WR(ctx, 0x18ff0/4, 0x4085c000);
1716         INSTANCE_WR(ctx, 0x19010/4, 0x00000040);
1717         INSTANCE_WR(ctx, 0x19030/4, 0x00000100);
1718         INSTANCE_WR(ctx, 0x19050/4, 0x00010100);
1719         INSTANCE_WR(ctx, 0x19070/4, 0x02800000);
1720         INSTANCE_WR(ctx, 0x192d0/4, 0x04e3bfdf);
1721         INSTANCE_WR(ctx, 0x192f0/4, 0x04e3bfdf);
1722         INSTANCE_WR(ctx, 0x19310/4, 0x00000001);
1723         INSTANCE_WR(ctx, 0x19350/4, 0x00ffff00);
1724         INSTANCE_WR(ctx, 0x19370/4, 0x00000001);
1725         INSTANCE_WR(ctx, 0x193d0/4, 0x00ffff00);
1726         INSTANCE_WR(ctx, 0x194f0/4, 0x00000001);
1727         INSTANCE_WR(ctx, 0x19530/4, 0x00000001);
1728         INSTANCE_WR(ctx, 0x19550/4, 0x30201000);
1729         INSTANCE_WR(ctx, 0x19570/4, 0x70605040);
1730         INSTANCE_WR(ctx, 0x19590/4, 0xb8a89888);
1731         INSTANCE_WR(ctx, 0x195b0/4, 0xf8e8d8c8);
1732         INSTANCE_WR(ctx, 0x195f0/4, 0x0000001a);
1733         INSTANCE_WR(ctx, 0x19630/4, 0x00000004);
1734         INSTANCE_WR(ctx, 0x19708/4, 0x00000001);
1735         INSTANCE_WR(ctx, 0x19768/4, 0x00000010);
1736         INSTANCE_WR(ctx, 0x198f0/4, 0x00000004);
1737         INSTANCE_WR(ctx, 0x19910/4, 0x00000004);
1738         INSTANCE_WR(ctx, 0x19930/4, 0x00608080);
1739         INSTANCE_WR(ctx, 0x199d0/4, 0x00000004);
1740         INSTANCE_WR(ctx, 0x19a30/4, 0x00000004);
1741         INSTANCE_WR(ctx, 0x19a50/4, 0x00000004);
1742         INSTANCE_WR(ctx, 0x19a70/4, 0x00000080);
1743         INSTANCE_WR(ctx, 0x19a90/4, 0x00000004);
1744         INSTANCE_WR(ctx, 0x19e88/4, 0x00000088);
1745         INSTANCE_WR(ctx, 0x19ea8/4, 0x00000088);
1746         INSTANCE_WR(ctx, 0x19f08/4, 0x00000004);
1747         INSTANCE_WR(ctx, 0x19f30/4, 0x00000004);
1748         INSTANCE_WR(ctx, 0x19f50/4, 0x00000080);
1749         INSTANCE_WR(ctx, 0x19f70/4, 0x00000004);
1750         INSTANCE_WR(ctx, 0x19f90/4, 0x03020100);
1751         INSTANCE_WR(ctx, 0x19fb0/4, 0x00000003);
1752         INSTANCE_WR(ctx, 0x19fd0/4, 0x00000004);
1753         INSTANCE_WR(ctx, 0x1a070/4, 0x00000004);
1754         INSTANCE_WR(ctx, 0x1a090/4, 0x00000003);
1755         INSTANCE_WR(ctx, 0x1a110/4, 0x00000004);
1756         INSTANCE_WR(ctx, 0x1a1e8/4, 0x00000026);
1757         INSTANCE_WR(ctx, 0x1a248/4, 0x3f800000);
1758         INSTANCE_WR(ctx, 0x1a2c8/4, 0x0000001a);
1759         INSTANCE_WR(ctx, 0x1a2e8/4, 0x00000010);
1760         INSTANCE_WR(ctx, 0x1a808/4, 0x00000052);
1761         INSTANCE_WR(ctx, 0x1a848/4, 0x00000026);
1762         INSTANCE_WR(ctx, 0x1a888/4, 0x00000004);
1763         INSTANCE_WR(ctx, 0x1a8a8/4, 0x00000004);
1764         INSTANCE_WR(ctx, 0x1a8e8/4, 0x0000001a);
1765         INSTANCE_WR(ctx, 0x1a948/4, 0x00ffff00);
1766         INSTANCE_WR(ctx, 0x1a988/4, 0x00000004);
1767         INSTANCE_WR(ctx, 0x1a9a8/4, 0x00000004);
1768         INSTANCE_WR(ctx, 0x1a9e8/4, 0x00000080);
1769         INSTANCE_WR(ctx, 0x1aa08/4, 0x00000004);
1770         INSTANCE_WR(ctx, 0x1aa28/4, 0x00080c14);
1771         INSTANCE_WR(ctx, 0x1aa68/4, 0x000007ff);
1772         INSTANCE_WR(ctx, 0x2d2c8/4, 0x00000004);
1773         INSTANCE_WR(ctx, 0x2d2e8/4, 0x00000004);
1774         INSTANCE_WR(ctx, 0x2d328/4, 0x00000080);
1775         INSTANCE_WR(ctx, 0x2d348/4, 0x00000004);
1776         INSTANCE_WR(ctx, 0x2d368/4, 0x00000001);
1777         INSTANCE_WR(ctx, 0x2d3a8/4, 0x00000027);
1778         INSTANCE_WR(ctx, 0x2d3e8/4, 0x00000026);
1779         INSTANCE_WR(ctx, 0x2d468/4, 0x04000000);
1780         INSTANCE_WR(ctx, 0x2d488/4, 0x04000000);
1781         INSTANCE_WR(ctx, 0x2d4a8/4, 0x04000000);
1782         INSTANCE_WR(ctx, 0x2d4c8/4, 0x04000000);
1783         INSTANCE_WR(ctx, 0x2d4e8/4, 0x04000000);
1784         INSTANCE_WR(ctx, 0x2d508/4, 0x04000000);
1785         INSTANCE_WR(ctx, 0x2d528/4, 0x04000000);
1786         INSTANCE_WR(ctx, 0x2d548/4, 0x04000000);
1787         INSTANCE_WR(ctx, 0x2d568/4, 0x04000000);
1788         INSTANCE_WR(ctx, 0x2d588/4, 0x04000000);
1789         INSTANCE_WR(ctx, 0x2d5a8/4, 0x04000000);
1790         INSTANCE_WR(ctx, 0x2d5c8/4, 0x04000000);
1791         INSTANCE_WR(ctx, 0x2d5e8/4, 0x04000000);
1792         INSTANCE_WR(ctx, 0x2d608/4, 0x04000000);
1793         INSTANCE_WR(ctx, 0x2d628/4, 0x04000000);
1794         INSTANCE_WR(ctx, 0x2d648/4, 0x04000000);
1795         INSTANCE_WR(ctx, 0x2dae8/4, 0x04e3bfdf);
1796         INSTANCE_WR(ctx, 0x2db08/4, 0x04e3bfdf);
1797         INSTANCE_WR(ctx, 0x2db68/4, 0x0001fe21);
1798         INSTANCE_WR(ctx, 0x2e5b0/4, 0x00000004);
1799         INSTANCE_WR(ctx, 0x2e5d0/4, 0x00000003);
1800         INSTANCE_WR(ctx, 0x2e810/4, 0x0000000f);
1801         INSTANCE_WR(ctx, 0x2e990/4, 0x00000004);
1802         INSTANCE_WR(ctx, 0x2e9b0/4, 0x0000ffff);
1803         INSTANCE_WR(ctx, 0x2e9d0/4, 0x0000ffff);
1804         INSTANCE_WR(ctx, 0x2e9f0/4, 0x0000ffff);
1805         INSTANCE_WR(ctx, 0x2ea10/4, 0x0000ffff);
1806         INSTANCE_WR(ctx, 0x2eb30/4, 0x00000001);
1807         INSTANCE_WR(ctx, 0x2ebb0/4, 0x00000001);
1808         INSTANCE_WR(ctx, 0x2ec70/4, 0x00000001);
1809         INSTANCE_WR(ctx, 0x2ee10/4, 0x00000001);
1810         INSTANCE_WR(ctx, 0x2ee30/4, 0x00000001);
1811         INSTANCE_WR(ctx, 0x2ee50/4, 0x00000002);
1812         INSTANCE_WR(ctx, 0x2ee70/4, 0x00000001);
1813         INSTANCE_WR(ctx, 0x2ee90/4, 0x00000001);
1814         INSTANCE_WR(ctx, 0x2eeb0/4, 0x00000002);
1815         INSTANCE_WR(ctx, 0x2eed0/4, 0x00000001);
1816         INSTANCE_WR(ctx, 0x2ef10/4, 0x00000011);
1817         INSTANCE_WR(ctx, 0x2f010/4, 0x0fac6881);
1818         INSTANCE_WR(ctx, 0x2f070/4, 0x00000004);
1819         INSTANCE_WR(ctx, 0x2f0f0/4, 0x00000011);
1820         INSTANCE_WR(ctx, 0x2f110/4, 0x00000001);
1821         INSTANCE_WR(ctx, 0x2f150/4, 0x000000cf);
1822         INSTANCE_WR(ctx, 0x2f170/4, 0x000000cf);
1823         INSTANCE_WR(ctx, 0x2f190/4, 0x000000cf);
1824         INSTANCE_WR(ctx, 0x2f2f0/4, 0x00000001);
1825         INSTANCE_WR(ctx, 0x2f310/4, 0x00000001);
1826         INSTANCE_WR(ctx, 0x2f330/4, 0x00000002);
1827         INSTANCE_WR(ctx, 0x2f350/4, 0x00000001);
1828         INSTANCE_WR(ctx, 0x2f370/4, 0x00000001);
1829         INSTANCE_WR(ctx, 0x2f390/4, 0x00000002);
1830         INSTANCE_WR(ctx, 0x2f3b0/4, 0x00000001);
1831         INSTANCE_WR(ctx, 0x2f3f0/4, 0x00000001);
1832         INSTANCE_WR(ctx, 0x2f410/4, 0x00000001);
1833         INSTANCE_WR(ctx, 0x2f430/4, 0x00000001);
1834         INSTANCE_WR(ctx, 0x2f450/4, 0x00000001);
1835         INSTANCE_WR(ctx, 0x2f470/4, 0x00000001);
1836         INSTANCE_WR(ctx, 0x2f490/4, 0x00000001);
1837         INSTANCE_WR(ctx, 0x2f4b0/4, 0x00000001);
1838         INSTANCE_WR(ctx, 0x2f4d0/4, 0x00000001);
1839         INSTANCE_WR(ctx, 0x2f4f0/4, 0x00000011);
1840         INSTANCE_WR(ctx, 0x2f5f0/4, 0x0fac6881);
1841         INSTANCE_WR(ctx, 0x2f610/4, 0x0000000f);
1842         INSTANCE_WR(ctx, 0x2f710/4, 0x001ffe67);
1843         INSTANCE_WR(ctx, 0x2f770/4, 0x00000011);
1844         INSTANCE_WR(ctx, 0x2f790/4, 0x00000001);
1845         INSTANCE_WR(ctx, 0x2f810/4, 0x00000004);
1846         INSTANCE_WR(ctx, 0x2f8d0/4, 0x00000001);
1847         INSTANCE_WR(ctx, 0x2f970/4, 0x00000011);
1848         INSTANCE_WR(ctx, 0x2fa70/4, 0x0fac6881);
1849         INSTANCE_WR(ctx, 0x2faf0/4, 0x00000011);
1850         INSTANCE_WR(ctx, 0x2fb10/4, 0x00000001);
1851         INSTANCE_WR(ctx, 0x2fb50/4, 0x00000001);
1852         INSTANCE_WR(ctx, 0x2fb90/4, 0x00000001);
1853         INSTANCE_WR(ctx, 0x2fbd0/4, 0x000007ff);
1854         INSTANCE_WR(ctx, 0x2fc10/4, 0x00000001);
1855         INSTANCE_WR(ctx, 0x2fc50/4, 0x00000001);
1856         INSTANCE_WR(ctx, 0x301b0/4, 0x00000008);
1857         INSTANCE_WR(ctx, 0x301d0/4, 0x00000008);
1858         INSTANCE_WR(ctx, 0x301f0/4, 0x00000008);
1859         INSTANCE_WR(ctx, 0x30210/4, 0x00000008);
1860         INSTANCE_WR(ctx, 0x30230/4, 0x00000008);
1861         INSTANCE_WR(ctx, 0x30250/4, 0x00000008);
1862         INSTANCE_WR(ctx, 0x30270/4, 0x00000008);
1863         INSTANCE_WR(ctx, 0x30290/4, 0x00000008);
1864         INSTANCE_WR(ctx, 0x302b0/4, 0x00000011);
1865         INSTANCE_WR(ctx, 0x303b0/4, 0x0fac6881);
1866         INSTANCE_WR(ctx, 0x303d0/4, 0x00000400);
1867         INSTANCE_WR(ctx, 0x303f0/4, 0x00000400);
1868         INSTANCE_WR(ctx, 0x30410/4, 0x00000400);
1869         INSTANCE_WR(ctx, 0x30430/4, 0x00000400);
1870         INSTANCE_WR(ctx, 0x30450/4, 0x00000400);
1871         INSTANCE_WR(ctx, 0x30470/4, 0x00000400);
1872         INSTANCE_WR(ctx, 0x30490/4, 0x00000400);
1873         INSTANCE_WR(ctx, 0x304b0/4, 0x00000400);
1874         INSTANCE_WR(ctx, 0x304d0/4, 0x00000300);
1875         INSTANCE_WR(ctx, 0x304f0/4, 0x00000300);
1876         INSTANCE_WR(ctx, 0x30510/4, 0x00000300);
1877         INSTANCE_WR(ctx, 0x30530/4, 0x00000300);
1878         INSTANCE_WR(ctx, 0x30550/4, 0x00000300);
1879         INSTANCE_WR(ctx, 0x30570/4, 0x00000300);
1880         INSTANCE_WR(ctx, 0x30590/4, 0x00000300);
1881         INSTANCE_WR(ctx, 0x305b0/4, 0x00000300);
1882         INSTANCE_WR(ctx, 0x305d0/4, 0x00000001);
1883         INSTANCE_WR(ctx, 0x305f0/4, 0x0000000f);
1884         INSTANCE_WR(ctx, 0x306f0/4, 0x00000020);
1885         INSTANCE_WR(ctx, 0x30710/4, 0x00000011);
1886         INSTANCE_WR(ctx, 0x30730/4, 0x00000100);
1887         INSTANCE_WR(ctx, 0x30770/4, 0x00000001);
1888         INSTANCE_WR(ctx, 0x307d0/4, 0x00000040);
1889         INSTANCE_WR(ctx, 0x307f0/4, 0x00000100);
1890         INSTANCE_WR(ctx, 0x30830/4, 0x00000003);
1891         INSTANCE_WR(ctx, 0x308d0/4, 0x001ffe67);
1892         INSTANCE_WR(ctx, 0x30950/4, 0x00000002);
1893         INSTANCE_WR(ctx, 0x30970/4, 0x0fac6881);
1894         INSTANCE_WR(ctx, 0x30ab0/4, 0x00000001);
1895         INSTANCE_WR(ctx, 0x30b50/4, 0x00000004);
1896         INSTANCE_WR(ctx, 0x30b90/4, 0x00000001);
1897         INSTANCE_WR(ctx, 0x30bb0/4, 0x00000400);
1898         INSTANCE_WR(ctx, 0x30bd0/4, 0x00000300);
1899         INSTANCE_WR(ctx, 0x30bf0/4, 0x00001001);
1900         INSTANCE_WR(ctx, 0x30c70/4, 0x00000011);
1901         INSTANCE_WR(ctx, 0x30d70/4, 0x0fac6881);
1902         INSTANCE_WR(ctx, 0x30d90/4, 0x0000000f);
1903         INSTANCE_WR(ctx, 0x31090/4, 0x001ffe67);
1904         INSTANCE_WR(ctx, 0x31110/4, 0x00000011);
1905         INSTANCE_WR(ctx, 0x31170/4, 0x00000004);
1906         INSTANCE_WR(ctx, 0x311b0/4, 0x00000001);
1907         INSTANCE_WR(ctx, 0x311d0/4, 0x00000001);
1908         INSTANCE_WR(ctx, 0x31250/4, 0x00000001);
1909         INSTANCE_WR(ctx, 0x312f0/4, 0x00000001);
1910         INSTANCE_WR(ctx, 0x31330/4, 0x00000001);
1911         INSTANCE_WR(ctx, 0x313b0/4, 0x2a712488);
1912         INSTANCE_WR(ctx, 0x313f0/4, 0x4085c000);
1913         INSTANCE_WR(ctx, 0x31410/4, 0x00000040);
1914         INSTANCE_WR(ctx, 0x31430/4, 0x00000100);
1915         INSTANCE_WR(ctx, 0x31450/4, 0x00010100);
1916         INSTANCE_WR(ctx, 0x31470/4, 0x02800000);
1917         INSTANCE_WR(ctx, 0x316d0/4, 0x04e3bfdf);
1918         INSTANCE_WR(ctx, 0x316f0/4, 0x04e3bfdf);
1919         INSTANCE_WR(ctx, 0x31710/4, 0x00000001);
1920         INSTANCE_WR(ctx, 0x31750/4, 0x00ffff00);
1921         INSTANCE_WR(ctx, 0x31770/4, 0x00000001);
1922         INSTANCE_WR(ctx, 0x317d0/4, 0x00ffff00);
1923         INSTANCE_WR(ctx, 0x318f0/4, 0x00000001);
1924         INSTANCE_WR(ctx, 0x31930/4, 0x00000001);
1925         INSTANCE_WR(ctx, 0x31950/4, 0x30201000);
1926         INSTANCE_WR(ctx, 0x31970/4, 0x70605040);
1927         INSTANCE_WR(ctx, 0x31990/4, 0xb8a89888);
1928         INSTANCE_WR(ctx, 0x319b0/4, 0xf8e8d8c8);
1929         INSTANCE_WR(ctx, 0x319f0/4, 0x0000001a);
1930         INSTANCE_WR(ctx, 0x4a7e0/4, 0x00000004);
1931         INSTANCE_WR(ctx, 0x4a800/4, 0x00000004);
1932         INSTANCE_WR(ctx, 0x4a820/4, 0x08100c12);
1933         INSTANCE_WR(ctx, 0x4a840/4, 0x00000003);
1934         INSTANCE_WR(ctx, 0x4a880/4, 0x08100c12);
1935         INSTANCE_WR(ctx, 0x4a8c0/4, 0x00080c14);
1936         INSTANCE_WR(ctx, 0x4a8e0/4, 0x00000001);
1937         INSTANCE_WR(ctx, 0x4a900/4, 0x00080c14);
1938         INSTANCE_WR(ctx, 0x4a960/4, 0x08100c12);
1939         INSTANCE_WR(ctx, 0x4a980/4, 0x00000027);
1940         INSTANCE_WR(ctx, 0x4a9e0/4, 0x00000001);
1941         INSTANCE_WR(ctx, 0x52220/4, 0x00000001);
1942         INSTANCE_WR(ctx, 0x52500/4, 0x08100c12);
1943         INSTANCE_WR(ctx, 0x526a0/4, 0x04000000);
1944         INSTANCE_WR(ctx, 0x526c0/4, 0x04000000);
1945         INSTANCE_WR(ctx, 0x52700/4, 0x00000080);
1946         INSTANCE_WR(ctx, 0x52780/4, 0x00000080);
1947         INSTANCE_WR(ctx, 0x527c0/4, 0x0000003f);
1948         INSTANCE_WR(ctx, 0x52920/4, 0x00000002);
1949         INSTANCE_WR(ctx, 0x52940/4, 0x04000000);
1950         INSTANCE_WR(ctx, 0x52960/4, 0x04000000);
1951         INSTANCE_WR(ctx, 0x52a80/4, 0x00000004);
1952         INSTANCE_WR(ctx, 0x52b00/4, 0x00000004);
1953         INSTANCE_WR(ctx, 0x52d40/4, 0x00000001);
1954         INSTANCE_WR(ctx, 0x52d60/4, 0x00001001);
1955         INSTANCE_WR(ctx, 0x52d80/4, 0x0000ffff);
1956         INSTANCE_WR(ctx, 0x52da0/4, 0x0000ffff);
1957         INSTANCE_WR(ctx, 0x52dc0/4, 0x0000ffff);
1958         INSTANCE_WR(ctx, 0x52de0/4, 0x0000ffff);
1959         INSTANCE_WR(ctx, 0x53200/4, 0x3f800000);
1960         INSTANCE_WR(ctx, 0x53220/4, 0x3f800000);
1961         INSTANCE_WR(ctx, 0x53240/4, 0x3f800000);
1962         INSTANCE_WR(ctx, 0x53260/4, 0x3f800000);
1963         INSTANCE_WR(ctx, 0x53280/4, 0x3f800000);
1964         INSTANCE_WR(ctx, 0x532a0/4, 0x3f800000);
1965         INSTANCE_WR(ctx, 0x532c0/4, 0x3f800000);
1966         INSTANCE_WR(ctx, 0x532e0/4, 0x3f800000);
1967         INSTANCE_WR(ctx, 0x53300/4, 0x3f800000);
1968         INSTANCE_WR(ctx, 0x53320/4, 0x3f800000);
1969         INSTANCE_WR(ctx, 0x53340/4, 0x3f800000);
1970         INSTANCE_WR(ctx, 0x53360/4, 0x3f800000);
1971         INSTANCE_WR(ctx, 0x53380/4, 0x3f800000);
1972         INSTANCE_WR(ctx, 0x533a0/4, 0x3f800000);
1973         INSTANCE_WR(ctx, 0x533c0/4, 0x3f800000);
1974         INSTANCE_WR(ctx, 0x533e0/4, 0x3f800000);
1975         INSTANCE_WR(ctx, 0x53400/4, 0x00000010);
1976         INSTANCE_WR(ctx, 0x53460/4, 0x00000003);
1977         INSTANCE_WR(ctx, 0x53500/4, 0x08100c12);
1978         INSTANCE_WR(ctx, 0x53524/4, 0x00000080);
1979         INSTANCE_WR(ctx, 0x53540/4, 0x00000080);
1980         INSTANCE_WR(ctx, 0x53544/4, 0x80007004);
1981         INSTANCE_WR(ctx, 0x53560/4, 0x80007004);
1982         INSTANCE_WR(ctx, 0x53564/4, 0x04000400);
1983         INSTANCE_WR(ctx, 0x53580/4, 0x04000400);
1984         INSTANCE_WR(ctx, 0x53584/4, 0x00001000);
1985         INSTANCE_WR(ctx, 0x535a0/4, 0x00001000);
1986         INSTANCE_WR(ctx, 0x535e4/4, 0x00000001);
1987         INSTANCE_WR(ctx, 0x53600/4, 0x00000001);
1988         INSTANCE_WR(ctx, 0x53644/4, 0x00000001);
1989         INSTANCE_WR(ctx, 0x53660/4, 0x00000001);
1990         INSTANCE_WR(ctx, 0x53684/4, 0x00000004);
1991         INSTANCE_WR(ctx, 0x536a0/4, 0x00000004);
1992         INSTANCE_WR(ctx, 0x536a4/4, 0x00000002);
1993         INSTANCE_WR(ctx, 0x536c0/4, 0x00000002);
1994         INSTANCE_WR(ctx, 0x53824/4, 0x00000080);
1995         INSTANCE_WR(ctx, 0x53840/4, 0x00000080);
1996         INSTANCE_WR(ctx, 0x53844/4, 0x80007004);
1997         INSTANCE_WR(ctx, 0x53860/4, 0x80007004);
1998         INSTANCE_WR(ctx, 0x53864/4, 0x04000400);
1999         INSTANCE_WR(ctx, 0x53880/4, 0x04000400);
2000         INSTANCE_WR(ctx, 0x53884/4, 0x00001000);
2001         INSTANCE_WR(ctx, 0x538a0/4, 0x00001000);
2002         INSTANCE_WR(ctx, 0x538e4/4, 0x00000001);
2003         INSTANCE_WR(ctx, 0x53900/4, 0x00000001);
2004         INSTANCE_WR(ctx, 0x53944/4, 0x00000001);
2005         INSTANCE_WR(ctx, 0x53960/4, 0x00000001);
2006         INSTANCE_WR(ctx, 0x53984/4, 0x00000004);
2007         INSTANCE_WR(ctx, 0x539a0/4, 0x00000004);
2008         INSTANCE_WR(ctx, 0x539a4/4, 0x00000002);
2009         INSTANCE_WR(ctx, 0x539c0/4, 0x00000002);
2010         INSTANCE_WR(ctx, 0x53b04/4, 0x08100c12);
2011         INSTANCE_WR(ctx, 0x53b20/4, 0x08100c12);
2012         INSTANCE_WR(ctx, 0x53be4/4, 0x0000ffff);
2013         INSTANCE_WR(ctx, 0x53c00/4, 0x0000ffff);
2014         INSTANCE_WR(ctx, 0x53c04/4, 0x0000ffff);
2015         INSTANCE_WR(ctx, 0x53c20/4, 0x0000ffff);
2016         INSTANCE_WR(ctx, 0x53c24/4, 0x0000ffff);
2017         INSTANCE_WR(ctx, 0x53c40/4, 0x0000ffff);
2018         INSTANCE_WR(ctx, 0x53c44/4, 0x0000ffff);
2019         INSTANCE_WR(ctx, 0x53c60/4, 0x0000ffff);
2020         INSTANCE_WR(ctx, 0x53c64/4, 0x00000001);
2021         INSTANCE_WR(ctx, 0x53c80/4, 0x00000001);
2022         INSTANCE_WR(ctx, 0x53c84/4, 0x00010001);
2023         INSTANCE_WR(ctx, 0x53ca0/4, 0x00010001);
2024         INSTANCE_WR(ctx, 0x53ca4/4, 0x00010001);
2025         INSTANCE_WR(ctx, 0x53cc0/4, 0x00010001);
2026         INSTANCE_WR(ctx, 0x53cc4/4, 0x00000001);
2027         INSTANCE_WR(ctx, 0x53ce0/4, 0x00000001);
2028         INSTANCE_WR(ctx, 0x53d04/4, 0x0001fe21);
2029         INSTANCE_WR(ctx, 0x53d20/4, 0x0001fe21);
2030         INSTANCE_WR(ctx, 0x53dc4/4, 0x08100c12);
2031         INSTANCE_WR(ctx, 0x53de0/4, 0x08100c12);
2032         INSTANCE_WR(ctx, 0x53de4/4, 0x00000004);
2033         INSTANCE_WR(ctx, 0x53e00/4, 0x00000004);
2034         INSTANCE_WR(ctx, 0x53e24/4, 0x00000002);
2035         INSTANCE_WR(ctx, 0x53e40/4, 0x00000002);
2036         INSTANCE_WR(ctx, 0x53e44/4, 0x00000011);
2037         INSTANCE_WR(ctx, 0x53e60/4, 0x00000011);
2038         INSTANCE_WR(ctx, 0x53f64/4, 0x0fac6881);
2039         INSTANCE_WR(ctx, 0x53f80/4, 0x0fac6881);
2040         INSTANCE_WR(ctx, 0x54004/4, 0x00000004);
2041         INSTANCE_WR(ctx, 0x54020/4, 0x00000004);
2042         INSTANCE_WR(ctx, 0x54144/4, 0x00000002);
2043         INSTANCE_WR(ctx, 0x54160/4, 0x00000002);
2044         INSTANCE_WR(ctx, 0x54164/4, 0x00000001);
2045         INSTANCE_WR(ctx, 0x54180/4, 0x00000001);
2046         INSTANCE_WR(ctx, 0x54184/4, 0x00000001);
2047         INSTANCE_WR(ctx, 0x541a0/4, 0x00000001);
2048         INSTANCE_WR(ctx, 0x541a4/4, 0x00000002);
2049         INSTANCE_WR(ctx, 0x541c0/4, 0x00000002);
2050         INSTANCE_WR(ctx, 0x541c4/4, 0x00000001);
2051         INSTANCE_WR(ctx, 0x541e0/4, 0x00000001);
2052         INSTANCE_WR(ctx, 0x541e4/4, 0x00000001);
2053         INSTANCE_WR(ctx, 0x54200/4, 0x00000001);
2054         INSTANCE_WR(ctx, 0x54204/4, 0x00000001);
2055         INSTANCE_WR(ctx, 0x54220/4, 0x00000001);
2056         INSTANCE_WR(ctx, 0x54244/4, 0x00000004);
2057         INSTANCE_WR(ctx, 0x54260/4, 0x00000004);
2058         INSTANCE_WR(ctx, 0x5b6a4/4, 0x00000011);
2059         INSTANCE_WR(ctx, 0x5b6c0/4, 0x00000011);
2060         INSTANCE_WR(ctx, 0x5b6e4/4, 0x00000001);
2061         INSTANCE_WR(ctx, 0x5b700/4, 0x00000001);
2062 }
2063
2064 int
2065 nv50_graph_create_context(struct nouveau_channel *chan)
2066 {
2067         struct drm_device *dev = chan->dev;
2068         struct drm_nouveau_private *dev_priv = dev->dev_private;
2069         struct nouveau_gpuobj *ramin = chan->ramin->gpuobj;
2070         struct nouveau_engine *engine = &dev_priv->Engine;
2071         int grctx_size = 0x60000, hdr;
2072         int ret;
2073
2074         DRM_DEBUG("ch%d\n", chan->id);
2075
2076         ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, grctx_size, 0x1000,
2077                                      NVOBJ_FLAG_ZERO_ALLOC |
2078                                      NVOBJ_FLAG_ZERO_FREE, &chan->ramin_grctx);
2079         if (ret)
2080                 return ret;
2081
2082         hdr = IS_G80 ? 0x200 : 0x20;
2083         INSTANCE_WR(ramin, (hdr + 0x00)/4, 0x00190002);
2084         INSTANCE_WR(ramin, (hdr + 0x04)/4, chan->ramin_grctx->instance +
2085                                            grctx_size - 1);
2086         INSTANCE_WR(ramin, (hdr + 0x08)/4, chan->ramin_grctx->instance);
2087         INSTANCE_WR(ramin, (hdr + 0x0c)/4, 0);
2088         INSTANCE_WR(ramin, (hdr + 0x10)/4, 0);
2089         INSTANCE_WR(ramin, (hdr + 0x14)/4, 0x00010000);
2090
2091         INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x00000/4,
2092                     chan->ramin->instance >> 12);
2093         INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x0011c/4, 0x00000002);
2094
2095         switch (dev_priv->chipset) {
2096         case 0x84:
2097                 nv84_graph_init_ctxvals(dev, chan->ramin_grctx);
2098                 break;
2099         case 0x86:
2100                 nv86_graph_init_ctxvals(dev, chan->ramin_grctx);
2101                 break;
2102         default:
2103                 /* This is complete crack, it accidently used to make at
2104                  * least some G8x cards work partially somehow, though there's
2105                  * no good reason why - and it stopped working as the rest
2106                  * of the code got off the drugs..
2107                  */
2108                 ret = engine->graph.load_context(chan);
2109                 if (ret) {
2110                         DRM_ERROR("Error hacking up context: %d\n", ret);
2111                         return ret;
2112                 }
2113                 break;
2114         }
2115
2116         return 0;
2117 }
2118
2119 void
2120 nv50_graph_destroy_context(struct nouveau_channel *chan)
2121 {
2122         struct drm_device *dev = chan->dev;
2123         struct drm_nouveau_private *dev_priv = dev->dev_private;
2124         int i, hdr;
2125
2126         DRM_DEBUG("ch%d\n", chan->id);
2127
2128         hdr = IS_G80 ? 0x200 : 0x20;
2129         for (i=hdr; i<hdr+24; i+=4)
2130                 INSTANCE_WR(chan->ramin->gpuobj, i/4, 0);
2131
2132         nouveau_gpuobj_ref_del(dev, &chan->ramin_grctx);
2133 }
2134
2135 static int
2136 nv50_graph_transfer_context(struct drm_device *dev, uint32_t inst, int save)
2137 {
2138         struct drm_nouveau_private *dev_priv = dev->dev_private;
2139         uint32_t old_cp, tv = 20000;
2140         int i;
2141
2142         DRM_DEBUG("inst=0x%08x, save=%d\n", inst, save);
2143
2144         old_cp = NV_READ(NV20_PGRAPH_CHANNEL_CTX_POINTER);
2145         NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
2146         NV_WRITE(0x400824, NV_READ(0x400824) |
2147                  (save ? NV40_PGRAPH_CTXCTL_0310_XFER_SAVE :
2148                          NV40_PGRAPH_CTXCTL_0310_XFER_LOAD));
2149         NV_WRITE(NV40_PGRAPH_CTXCTL_0304, NV40_PGRAPH_CTXCTL_0304_XFER_CTX);
2150
2151         for (i = 0; i < tv; i++) {
2152                 if (NV_READ(NV40_PGRAPH_CTXCTL_030C) == 0)
2153                         break;
2154         }
2155         NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
2156
2157         if (i == tv) {
2158                 DRM_ERROR("failed: inst=0x%08x save=%d\n", inst, save);
2159                 DRM_ERROR("0x40030C = 0x%08x\n",
2160                           NV_READ(NV40_PGRAPH_CTXCTL_030C));
2161                 return -EBUSY;
2162         }
2163
2164         return 0;
2165 }
2166
2167 int
2168 nv50_graph_load_context(struct nouveau_channel *chan)
2169 {
2170         struct drm_device *dev = chan->dev;
2171         struct drm_nouveau_private *dev_priv = dev->dev_private;
2172         uint32_t inst = chan->ramin->instance >> 12;
2173         int ret; (void)ret;
2174
2175         DRM_DEBUG("ch%d\n", chan->id);
2176
2177 #if 0
2178         if ((ret = nv50_graph_transfer_context(dev, inst, 0)))
2179                 return ret;
2180 #endif
2181
2182         NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
2183         NV_WRITE(0x400320, 4);
2184         NV_WRITE(NV40_PGRAPH_CTXCTL_CUR, inst | (1<<31));
2185
2186         return 0;
2187 }
2188
2189 int
2190 nv50_graph_save_context(struct nouveau_channel *chan)
2191 {
2192         struct drm_device *dev = chan->dev;
2193         uint32_t inst = chan->ramin->instance >> 12;
2194
2195         DRM_DEBUG("ch%d\n", chan->id);
2196
2197         return nv50_graph_transfer_context(dev, inst, 1);
2198 }