Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / mmu / diag / mmu_st_ext_ra.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: mmu_st_ext_ra.s
5* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
6* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
7*
8* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9*
10* This program is free software; you can redistribute it and/or modify
11* it under the terms of the GNU General Public License as published by
12* the Free Software Foundation; version 2 of the License.
13*
14* This program is distributed in the hope that it will be useful,
15* but WITHOUT ANY WARRANTY; without even the implied warranty of
16* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17* GNU General Public License for more details.
18*
19* You should have received a copy of the GNU General Public License
20* along with this program; if not, write to the Free Software
21* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22*
23* For the avoidance of doubt, and except that if any non-GPL license
24* choice is available it will apply instead, Sun elects to use only
25* the General Public License version 2 (GPLv2) at this time for any
26* software where a choice of GPL license versions is made
27* available with the language indicating that GPLv2 or any later version
28* may be used, or where a choice of which version of the GPL is applied is
29* otherwise unspecified.
30*
31* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
32* CA 95054 USA or visit www.sun.com if you need additional information or
33* have any questions.
34*
35*
36* ========== Copyright Header End ============================================
37*/
38#include "asi_s.h"
39
40#define CUSTOM_TRAP_0X9
41#define CUSTOM_TRAP_0X31
42#define CUSTOM_TRAP_0X2A
43#define CUSTOM_TRAP_0X2B
44
45! This diag must be run with HWTW on only
46#define THR0_Z_CTX_TSB_CONFIG_0 0xc000000001000150
47#define THR0_Z_CTX_TSB_CONFIG_1 0x8000000001010000
48#define THR0_Z_CTX_TSB_CONFIG_2 0x8000000001020110
49#define THR0_Z_CTX_TSB_CONFIG_3 0x8000000001030130
50#define THR0_NZ_CTX_TSB_CONFIG_0 0x8000000001200050
51#define THR0_NZ_CTX_TSB_CONFIG_1 0xa000000001210100
52#define THR0_NZ_CTX_TSB_CONFIG_2 0x8000000001220110
53#define THR0_NZ_CTX_TSB_CONFIG_3 0xe000000001230130
54#define THR1_Z_CTX_TSB_CONFIG_0 0x8000000001040000
55#define THR1_Z_CTX_TSB_CONFIG_1 0xa000000001050010
56#define THR1_Z_CTX_TSB_CONFIG_2 0x8000000001060130
57#define THR1_Z_CTX_TSB_CONFIG_3 0x8000000001070050
58#define THR1_NZ_CTX_TSB_CONFIG_0 0xc000000001240150
59#define THR1_NZ_CTX_TSB_CONFIG_1 0x8000000001250000
60#define THR1_NZ_CTX_TSB_CONFIG_2 0xc000000001260110
61#define THR1_NZ_CTX_TSB_CONFIG_3 0xa000000001270130
62#define THR2_Z_CTX_TSB_CONFIG_0 0x8000000001080030
63#define THR2_Z_CTX_TSB_CONFIG_1 0xa000000001090150
64#define THR2_Z_CTX_TSB_CONFIG_2 0x80000000010a0000
65#define THR2_Z_CTX_TSB_CONFIG_3 0x80000000010b0010
66#define THR2_NZ_CTX_TSB_CONFIG_0 0xc000000001280010
67#define THR2_NZ_CTX_TSB_CONFIG_1 0xe000000001290130
68#define THR2_NZ_CTX_TSB_CONFIG_2 0xc0000000012a0150
69#define THR2_NZ_CTX_TSB_CONFIG_3 0xc0000000012b0000
70#define THR3_Z_CTX_TSB_CONFIG_0 0x80000000010c0030
71#define THR3_Z_CTX_TSB_CONFIG_1 0xc0000000010d0150
72#define THR3_Z_CTX_TSB_CONFIG_2 0xa0000000010e0000
73#define THR3_Z_CTX_TSB_CONFIG_3 0x80000000010f0110
74#define THR3_NZ_CTX_TSB_CONFIG_0 0x80000000012c0000
75#define THR3_NZ_CTX_TSB_CONFIG_1 0xc0000000012d0110
76#define THR3_NZ_CTX_TSB_CONFIG_2 0xc0000000012e0030
77#define THR3_NZ_CTX_TSB_CONFIG_3 0x80000000012f0050
78#define THR4_Z_CTX_TSB_CONFIG_0 0x8000000001100110
79#define THR4_Z_CTX_TSB_CONFIG_1 0xc000000001110130
80#define THR4_Z_CTX_TSB_CONFIG_2 0xa000000001120050
81#define THR4_Z_CTX_TSB_CONFIG_3 0xc000000001130000
82#define THR4_NZ_CTX_TSB_CONFIG_0 0xc000000001300130
83#define THR4_NZ_CTX_TSB_CONFIG_1 0xc000000001310150
84#define THR4_NZ_CTX_TSB_CONFIG_2 0xa000000001320000
85#define THR4_NZ_CTX_TSB_CONFIG_3 0xc000000001330110
86#define THR5_Z_CTX_TSB_CONFIG_0 0xa000000001140100
87#define THR5_Z_CTX_TSB_CONFIG_1 0x8000000001150110
88#define THR5_Z_CTX_TSB_CONFIG_2 0x8000000001160030
89#define THR5_Z_CTX_TSB_CONFIG_3 0xe000000001170150
90#define THR5_NZ_CTX_TSB_CONFIG_0 0x8000000001340010
91#define THR5_NZ_CTX_TSB_CONFIG_1 0xc000000001350030
92#define THR5_NZ_CTX_TSB_CONFIG_2 0xc000000001360050
93#define THR5_NZ_CTX_TSB_CONFIG_3 0xc000000001370000
94#define THR6_Z_CTX_TSB_CONFIG_0 0x8000000001180150
95#define THR6_Z_CTX_TSB_CONFIG_1 0xa000000001190100
96#define THR6_Z_CTX_TSB_CONFIG_2 0xa0000000011a0010
97#define THR6_Z_CTX_TSB_CONFIG_3 0xc0000000011b0030
98#define THR6_NZ_CTX_TSB_CONFIG_0 0x8000000001380150
99#define THR6_NZ_CTX_TSB_CONFIG_1 0xa000000001390100
100#define THR6_NZ_CTX_TSB_CONFIG_2 0x80000000013a0110
101#define THR6_NZ_CTX_TSB_CONFIG_3 0xe0000000013b0030
102#define THR7_Z_CTX_TSB_CONFIG_0 0x80000000011c0030
103#define THR7_Z_CTX_TSB_CONFIG_1 0x80000000011d0150
104#define THR7_Z_CTX_TSB_CONFIG_2 0xc0000000011e0100
105#define THR7_Z_CTX_TSB_CONFIG_3 0x80000000011f0010
106#define THR7_NZ_CTX_TSB_CONFIG_0 0xa0000000013c0130
107#define THR7_NZ_CTX_TSB_CONFIG_1 0x80000000013d0150
108#define THR7_NZ_CTX_TSB_CONFIG_2 0xa0000000013e0000
109#define THR7_NZ_CTX_TSB_CONFIG_3 0xa0000000013f0110
110
111#define THR0_REAL_RANGE_0 0x8000080000000000
112#define THR0_REAL_RANGE_1 0x8000100000000000
113#define THR0_REAL_RANGE_2 0x8000200000000000
114#define THR0_REAL_RANGE_3 0x8001000000000000
115#define THR1_REAL_RANGE_0 0x8000080000000000
116#define THR1_REAL_RANGE_1 0x8000100000000000
117#define THR1_REAL_RANGE_2 0x8000200000000000
118#define THR1_REAL_RANGE_3 0x8001000000000000
119#define THR2_REAL_RANGE_0 0x8000080000000000
120#define THR2_REAL_RANGE_1 0x8000100000000000
121#define THR2_REAL_RANGE_2 0x8000200000000000
122#define THR2_REAL_RANGE_3 0x8001000000000000
123#define THR3_REAL_RANGE_0 0x8000080000000000
124#define THR3_REAL_RANGE_1 0x8000100000000000
125#define THR3_REAL_RANGE_2 0x8000200000000000
126#define THR3_REAL_RANGE_3 0x8001000000000000
127#define THR4_REAL_RANGE_0 0x8000080000000000
128#define THR4_REAL_RANGE_1 0x8000100000000000
129#define THR4_REAL_RANGE_2 0x8000200000000000
130#define THR4_REAL_RANGE_3 0x8001000000000000
131#define THR5_REAL_RANGE_0 0x8000080000000000
132#define THR5_REAL_RANGE_1 0x8000100000000000
133#define THR5_REAL_RANGE_2 0x8000200000000000
134#define THR5_REAL_RANGE_3 0x8001000000000000
135#define THR6_REAL_RANGE_0 0x8000080000000000
136#define THR6_REAL_RANGE_1 0x8000100000000000
137#define THR6_REAL_RANGE_2 0x8000200000000000
138#define THR6_REAL_RANGE_3 0x8001000000000000
139#define THR7_REAL_RANGE_0 0x8000080000000000
140#define THR7_REAL_RANGE_1 0x8000100000000000
141#define THR7_REAL_RANGE_2 0x8000200000000000
142#define THR7_REAL_RANGE_3 0x8001000000000000
143#define THR0_PHY_OFF_0 0x0000000000000000
144#define THR0_PHY_OFF_1 0x0000000400000000
145#define THR0_PHY_OFF_2 0x0000000800000000
146#define THR0_PHY_OFF_3 0x0000000c00000000
147#define THR1_PHY_OFF_0 0x0000001000000000
148#define THR1_PHY_OFF_1 0x0000001400000000
149#define THR1_PHY_OFF_2 0x0000001800000000
150#define THR1_PHY_OFF_3 0x0000001c00000000
151#define THR2_PHY_OFF_0 0x0000002000000000
152#define THR2_PHY_OFF_1 0x0000002400000000
153#define THR2_PHY_OFF_2 0x0000002800000000
154#define THR2_PHY_OFF_3 0x0000002c00000000
155#define THR3_PHY_OFF_0 0x0000003000000000
156#define THR3_PHY_OFF_1 0x0000003400000000
157#define THR3_PHY_OFF_2 0x0000003800000000
158#define THR3_PHY_OFF_3 0x0000003c00000000
159#define THR4_PHY_OFF_0 0x0000004000000000
160#define THR4_PHY_OFF_1 0x0000004400000000
161#define THR4_PHY_OFF_2 0x0000004800000000
162#define THR4_PHY_OFF_3 0x0000004c00000000
163#define THR5_PHY_OFF_0 0x0000005000000000
164#define THR5_PHY_OFF_1 0x0000005400000000
165#define THR5_PHY_OFF_2 0x0000005800000000
166#define THR5_PHY_OFF_3 0x0000005c00000000
167#define THR6_PHY_OFF_0 0x0000006000000000
168#define THR6_PHY_OFF_1 0x0000006400000000
169#define THR6_PHY_OFF_2 0x0000006800000000
170#define THR6_PHY_OFF_3 0x0000006c00000000
171#define THR7_PHY_OFF_0 0x0000007000000000
172#define THR7_PHY_OFF_1 0x0000007400000000
173#define THR7_PHY_OFF_2 0x0000007800000000
174#define THR7_PHY_OFF_3 0x0000007c00000000
175#define THR_0_PARTID 4
176#define THR_1_PARTID 5
177#define THR_2_PARTID 7
178#define THR_3_PARTID 1
179#define THR_4_PARTID 5
180#define THR_5_PARTID 2
181#define THR_6_PARTID 6
182#define THR_7_PARTID 3
183#define NUCLEUS 0x0
184#define THR0_PCONTEXT_0 0x1d1a
185#define THR0_PCONTEXT_1 0x1d3e
186#define THR0_SCONTEXT_0 0x0788
187#define THR0_SCONTEXT_1 0x1fca
188#define THR1_PCONTEXT_0 0x1957
189#define THR1_PCONTEXT_1 0x15c3
190#define THR1_SCONTEXT_0 0x12f3
191#define THR1_SCONTEXT_1 0x1e41
192#define THR2_PCONTEXT_0 0x10b9
193#define THR2_PCONTEXT_1 0x0cb4
194#define THR2_SCONTEXT_0 0x11d5
195#define THR2_SCONTEXT_1 0x07f3
196#define THR3_PCONTEXT_0 0x1f2a
197#define THR3_PCONTEXT_1 0x0cbb
198#define THR3_SCONTEXT_0 0x04ea
199#define THR3_SCONTEXT_1 0x1ec7
200#define THR4_PCONTEXT_0 0x0783
201#define THR4_PCONTEXT_1 0x03ca
202#define THR4_SCONTEXT_0 0x180f
203#define THR4_SCONTEXT_1 0x1b56
204#define THR5_PCONTEXT_0 0x117a
205#define THR5_PCONTEXT_1 0x1edc
206#define THR5_SCONTEXT_0 0x02f2
207#define THR5_SCONTEXT_1 0x10a6
208#define THR6_PCONTEXT_0 0x1743
209#define THR6_PCONTEXT_1 0x1558
210#define THR6_SCONTEXT_0 0x1706
211#define THR6_SCONTEXT_1 0x0b68
212#define THR7_PCONTEXT_0 0x193a
213#define THR7_PCONTEXT_1 0x0be2
214#define THR7_SCONTEXT_0 0x11f9
215#define THR7_SCONTEXT_1 0x1947
216#define THR0_PTRAP_TEXT_VA 0x6000002a0000
217#define THR0_PTRAP_TEXT_RA 0x0010fb0000
218#define THR0_PTRAP_TEXT_PA 0x0010fb0000
219#define THR1_PTRAP_TEXT_VA 0x640000bc0000
220#define THR1_PTRAP_TEXT_RA 0x0020a70000
221#define THR1_PTRAP_TEXT_PA 0x0020a70000
222#define THR2_PTRAP_TEXT_VA 0x680000130000
223#define THR2_PTRAP_TEXT_RA 0x0030b40000
224#define THR2_PTRAP_TEXT_PA 0x0030b40000
225#define THR3_PTRAP_TEXT_VA 0x6c00005f0000
226#define THR3_PTRAP_TEXT_RA 0x0040450000
227#define THR3_PTRAP_TEXT_PA 0x3840450000
228#define THR4_PTRAP_TEXT_VA 0x700000170000
229#define THR4_PTRAP_TEXT_RA 0x0050880000
230#define THR4_PTRAP_TEXT_PA 0x4850880000
231#define THR5_PTRAP_TEXT_VA 0x740000830000
232#define THR5_PTRAP_TEXT_RA 0x0060a30000
233#define THR5_PTRAP_TEXT_PA 0x5860a30000
234#define THR6_PTRAP_TEXT_VA 0x780000ad0000
235#define THR6_PTRAP_TEXT_RA 0x0070230000
236#define THR6_PTRAP_TEXT_PA 0x0070230000
237#define THR7_PTRAP_TEXT_VA 0x7c0000b50000
238#define THR7_PTRAP_TEXT_RA 0x0080360000
239#define THR7_PTRAP_TEXT_PA 0x0080360000
240#include "mmu_hred.s"
241/*********************************************************************/
242SECTION .Thr0_Priv_Sect TEXT_VA=0x5fa000056000
243attr_text {
244 Name = .Thr0_Priv_Sect ,
245 thr0_nz_ctx_tsb_1
246 VA = 0x5fa000056000 ,
247 RA = 0x00f01c0000 ,
248 PA = 0x0cf01c0000 ,
249 TTE_Context = 0x1d1a ,
250 TTE_V = 1 ,
251 TTE_NFO = 0 ,
252 TTE_L = 0 ,
253 TTE_Soft = 0 ,
254 TTE_IE = 0 ,
255 TTE_E = 0 ,
256 TTE_CP = 1 ,
257 TTE_CV = 0 ,
258 TTE_P = 0 ,
259 TTE_EP = 1 ,
260 TTE_W = 0 ,
261 TTE_SW1 = 0 ,
262 TTE_SW0 = 0 ,
263 TTE_RSVD1 = 0 ,
264 TTE_Size = 0 ,
265 end_label = Thr0_Priv_Sect_text_end ,
266 compressimage ,
267 }
268.text
269.global Thr0_Priv_Sect_text_begin
270Thr0_Priv_Sect_text_begin:
271 setx THR0_PTRAP_TEXT_VA, %l0, %l1
272 wrpr %l1, %g0, %tba
273 rdpr %pstate, %l2
274 setx Thr0_user_code_entry, %l0, %l1
275 jmp %l1
276 wrpr %l2, 4, %pstate
277 EXIT_BAD
278Thr0_Priv_Sect_text_end:
279/*********************************************************************/
280SECTION .Thr1_Priv_Sect TEXT_VA=0x63b0001f2000
281attr_text {
282 Name = .Thr1_Priv_Sect ,
283 thr1_nz_ctx_tsb_1
284 VA = 0x63b0001f2000 ,
285 RA = 0x01001de000 ,
286 PA = 0x01001de000 ,
287 TTE_Context = 0x1957 ,
288 TTE_V = 1 ,
289 TTE_NFO = 0 ,
290 TTE_L = 0 ,
291 TTE_Soft = 0 ,
292 TTE_IE = 0 ,
293 TTE_E = 0 ,
294 TTE_CP = 1 ,
295 TTE_CV = 0 ,
296 TTE_P = 1 ,
297 TTE_EP = 1 ,
298 TTE_W = 1 ,
299 TTE_SW1 = 0 ,
300 TTE_SW0 = 0 ,
301 TTE_RSVD1 = 0 ,
302 TTE_Size = 0 ,
303 end_label = Thr1_Priv_Sect_text_end ,
304 compressimage ,
305 }
306.text
307.global Thr1_Priv_Sect_text_begin
308Thr1_Priv_Sect_text_begin:
309 setx THR1_PTRAP_TEXT_VA, %l0, %l1
310 wrpr %l1, %g0, %tba
311 rdpr %pstate, %l2
312 setx Thr1_user_code_entry, %l0, %l1
313 jmp %l1
314 wrpr %l2, 4, %pstate
315 EXIT_BAD
316Thr1_Priv_Sect_text_end:
317/*********************************************************************/
318SECTION .Thr2_Priv_Sect TEXT_VA=0x67c000186000
319attr_text {
320 Name = .Thr2_Priv_Sect ,
321 thr2_nz_ctx_tsb_3
322 VA = 0x67c000186000 ,
323 RA = 0x0110190000 ,
324 PA = 0x0110190000 ,
325 TTE_Context = 0x10b9 ,
326 TTE_V = 1 ,
327 TTE_NFO = 0 ,
328 TTE_L = 0 ,
329 TTE_Soft = 0 ,
330 TTE_IE = 0 ,
331 TTE_E = 0 ,
332 TTE_CP = 1 ,
333 TTE_CV = 0 ,
334 TTE_P = 1 ,
335 TTE_EP = 1 ,
336 TTE_W = 0 ,
337 TTE_SW1 = 0 ,
338 TTE_SW0 = 0 ,
339 TTE_RSVD1 = 0 ,
340 TTE_Size = 0 ,
341 end_label = Thr2_Priv_Sect_text_end ,
342 compressimage ,
343 }
344.text
345.global Thr2_Priv_Sect_text_begin
346Thr2_Priv_Sect_text_begin:
347 setx THR2_PTRAP_TEXT_VA, %l0, %l1
348 wrpr %l1, %g0, %tba
349 rdpr %pstate, %l2
350 setx Thr2_user_code_entry, %l0, %l1
351 jmp %l1
352 wrpr %l2, 4, %pstate
353 EXIT_BAD
354Thr2_Priv_Sect_text_end:
355/*********************************************************************/
356SECTION .Thr3_Priv_Sect TEXT_VA=0x6bd000074000
357attr_text {
358 Name = .Thr3_Priv_Sect ,
359 thr3_nz_ctx_tsb_0
360 VA = 0x6bd000074000 ,
361 RA = 0x01200ea000 ,
362 PA = 0x01200ea000 ,
363 TTE_Context = 0x1f2a ,
364 TTE_V = 1 ,
365 TTE_NFO = 0 ,
366 TTE_L = 0 ,
367 TTE_Soft = 0 ,
368 TTE_IE = 0 ,
369 TTE_E = 0 ,
370 TTE_CP = 1 ,
371 TTE_CV = 0 ,
372 TTE_P = 1 ,
373 TTE_EP = 1 ,
374 TTE_W = 1 ,
375 TTE_SW1 = 0 ,
376 TTE_SW0 = 0 ,
377 TTE_RSVD1 = 0 ,
378 TTE_Size = 0 ,
379 end_label = Thr3_Priv_Sect_text_end ,
380 compressimage ,
381 }
382.text
383.global Thr3_Priv_Sect_text_begin
384Thr3_Priv_Sect_text_begin:
385 setx THR3_PTRAP_TEXT_VA, %l0, %l1
386 wrpr %l1, %g0, %tba
387 rdpr %pstate, %l2
388 setx Thr3_user_code_entry, %l0, %l1
389 jmp %l1
390 wrpr %l2, 4, %pstate
391 EXIT_BAD
392Thr3_Priv_Sect_text_end:
393/*********************************************************************/
394SECTION .Thr4_Priv_Sect TEXT_VA=0x6fe0001b4000
395attr_text {
396 Name = .Thr4_Priv_Sect ,
397 thr4_nz_ctx_tsb_2
398 VA = 0x6fe0001b4000 ,
399 RA = 0x01300e4000 ,
400 PA = 0x01300e4000 ,
401 TTE_Context = 0x0783 ,
402 TTE_V = 1 ,
403 TTE_NFO = 0 ,
404 TTE_L = 0 ,
405 TTE_Soft = 0 ,
406 TTE_IE = 0 ,
407 TTE_E = 0 ,
408 TTE_CP = 1 ,
409 TTE_CV = 0 ,
410 TTE_P = 0 ,
411 TTE_EP = 1 ,
412 TTE_W = 1 ,
413 TTE_SW1 = 0 ,
414 TTE_SW0 = 0 ,
415 TTE_RSVD1 = 0 ,
416 TTE_Size = 0 ,
417 end_label = Thr4_Priv_Sect_text_end ,
418 compressimage ,
419 }
420.text
421.global Thr4_Priv_Sect_text_begin
422Thr4_Priv_Sect_text_begin:
423 setx THR4_PTRAP_TEXT_VA, %l0, %l1
424 wrpr %l1, %g0, %tba
425 rdpr %pstate, %l2
426 setx Thr4_user_code_entry, %l0, %l1
427 jmp %l1
428 wrpr %l2, 4, %pstate
429 EXIT_BAD
430Thr4_Priv_Sect_text_end:
431/*********************************************************************/
432SECTION .Thr5_Priv_Sect TEXT_VA=0x73f000172000
433attr_text {
434 Name = .Thr5_Priv_Sect ,
435 thr5_nz_ctx_tsb_3
436 VA = 0x73f000172000 ,
437 RA = 0x0140128000 ,
438 PA = 0x0140128000 ,
439 TTE_Context = 0x117a ,
440 TTE_V = 1 ,
441 TTE_NFO = 0 ,
442 TTE_L = 0 ,
443 TTE_Soft = 0 ,
444 TTE_IE = 0 ,
445 TTE_E = 0 ,
446 TTE_CP = 1 ,
447 TTE_CV = 0 ,
448 TTE_P = 0 ,
449 TTE_EP = 1 ,
450 TTE_W = 0 ,
451 TTE_SW1 = 0 ,
452 TTE_SW0 = 0 ,
453 TTE_RSVD1 = 0 ,
454 TTE_Size = 0 ,
455 end_label = Thr5_Priv_Sect_text_end ,
456 compressimage ,
457 }
458.text
459.global Thr5_Priv_Sect_text_begin
460Thr5_Priv_Sect_text_begin:
461 setx THR5_PTRAP_TEXT_VA, %l0, %l1
462 wrpr %l1, %g0, %tba
463 rdpr %pstate, %l2
464 setx Thr5_user_code_entry, %l0, %l1
465 jmp %l1
466 wrpr %l2, 4, %pstate
467 EXIT_BAD
468Thr5_Priv_Sect_text_end:
469/*********************************************************************/
470SECTION .Thr6_Priv_Sect TEXT_VA=0x7710001e6000
471attr_text {
472 Name = .Thr6_Priv_Sect ,
473 thr6_nz_ctx_tsb_1
474 VA = 0x7710001e6000 ,
475 RA = 0x015018e000 ,
476 PA = 0x6d5018e000 ,
477 TTE_Context = 0x1743 ,
478 TTE_V = 1 ,
479 TTE_NFO = 0 ,
480 TTE_L = 0 ,
481 TTE_Soft = 0 ,
482 TTE_IE = 0 ,
483 TTE_E = 0 ,
484 TTE_CP = 1 ,
485 TTE_CV = 0 ,
486 TTE_P = 0 ,
487 TTE_EP = 1 ,
488 TTE_W = 0 ,
489 TTE_SW1 = 0 ,
490 TTE_SW0 = 0 ,
491 TTE_RSVD1 = 0 ,
492 TTE_Size = 0 ,
493 end_label = Thr6_Priv_Sect_text_end ,
494 compressimage ,
495 }
496.text
497.global Thr6_Priv_Sect_text_begin
498Thr6_Priv_Sect_text_begin:
499 setx THR6_PTRAP_TEXT_VA, %l0, %l1
500 wrpr %l1, %g0, %tba
501 rdpr %pstate, %l2
502 setx Thr6_user_code_entry, %l0, %l1
503 jmp %l1
504 wrpr %l2, 4, %pstate
505 EXIT_BAD
506Thr6_Priv_Sect_text_end:
507/*********************************************************************/
508SECTION .Thr7_Priv_Sect TEXT_VA=0x7b20001b2000
509attr_text {
510 Name = .Thr7_Priv_Sect ,
511 thr7_nz_ctx_tsb_2
512 VA = 0x7b20001b2000 ,
513 RA = 0x01600b0000 ,
514 PA = 0x01600b0000 ,
515 TTE_Context = 0x193a ,
516 TTE_V = 1 ,
517 TTE_NFO = 0 ,
518 TTE_L = 0 ,
519 TTE_Soft = 0 ,
520 TTE_IE = 0 ,
521 TTE_E = 0 ,
522 TTE_CP = 1 ,
523 TTE_CV = 0 ,
524 TTE_P = 1 ,
525 TTE_EP = 1 ,
526 TTE_W = 1 ,
527 TTE_SW1 = 0 ,
528 TTE_SW0 = 0 ,
529 TTE_RSVD1 = 0 ,
530 TTE_Size = 0 ,
531 end_label = Thr7_Priv_Sect_text_end ,
532 compressimage ,
533 }
534.text
535.global Thr7_Priv_Sect_text_begin
536Thr7_Priv_Sect_text_begin:
537 setx THR7_PTRAP_TEXT_VA, %l0, %l1
538 wrpr %l1, %g0, %tba
539 rdpr %pstate, %l2
540 setx Thr7_user_code_entry, %l0, %l1
541 jmp %l1
542 wrpr %l2, 4, %pstate
543 EXIT_BAD
544Thr7_Priv_Sect_text_end:
545/*********************************************************************/
546SECTION .Thr0_Ptrap_Sect TEXT_VA=THR0_PTRAP_TEXT_VA
547attr_text {
548 Name = .Thr0_Ptrap_Sect ,
549 thr0_z_ctx_tsb_2
550 VA = THR0_PTRAP_TEXT_VA ,
551 RA = THR0_PTRAP_TEXT_RA ,
552 PA = THR0_PTRAP_TEXT_PA ,
553 TTE_Context = NUCLEUS ,
554 TTE_V = 1 ,
555 TTE_NFO = 0 ,
556 TTE_L = 0 ,
557 TTE_Soft = 0 ,
558 TTE_IE = 0 ,
559 TTE_E = 0 ,
560 TTE_CP = 1 ,
561 TTE_CV = 0 ,
562 TTE_P = 1 ,
563 TTE_EP = 1 ,
564 TTE_W = 0 ,
565 TTE_SW1 = 0 ,
566 TTE_SW0 = 0 ,
567 TTE_RSVD1 = 0 ,
568 TTE_Size = 1 ,
569 end_label = Thr0_Ptrap_Sect_text_end ,
570 compressimage ,
571 }
572#include "mmu_ptrap.s"
573Thr0_Ptrap_Sect_text_end:
574/*********************************************************************/
575SECTION .Thr1_Ptrap_Sect TEXT_VA=THR1_PTRAP_TEXT_VA
576attr_text {
577 Name = .Thr1_Ptrap_Sect ,
578 thr1_z_ctx_tsb_1
579 VA = THR1_PTRAP_TEXT_VA ,
580 RA = THR1_PTRAP_TEXT_RA ,
581 PA = THR1_PTRAP_TEXT_PA ,
582 TTE_Context = NUCLEUS ,
583 TTE_V = 1 ,
584 TTE_NFO = 0 ,
585 TTE_L = 0 ,
586 TTE_Soft = 0 ,
587 TTE_IE = 0 ,
588 TTE_E = 0 ,
589 TTE_CP = 1 ,
590 TTE_CV = 0 ,
591 TTE_P = 1 ,
592 TTE_EP = 1 ,
593 TTE_W = 0 ,
594 TTE_SW1 = 0 ,
595 TTE_SW0 = 0 ,
596 TTE_RSVD1 = 0 ,
597 TTE_Size = 1 ,
598 end_label = Thr1_Ptrap_Sect_text_end ,
599 compressimage ,
600 }
601#include "mmu_ptrap.s"
602Thr1_Ptrap_Sect_text_end:
603/*********************************************************************/
604SECTION .Thr2_Ptrap_Sect TEXT_VA=THR2_PTRAP_TEXT_VA
605attr_text {
606 Name = .Thr2_Ptrap_Sect ,
607 thr2_z_ctx_tsb_3
608 VA = THR2_PTRAP_TEXT_VA ,
609 RA = THR2_PTRAP_TEXT_RA ,
610 PA = THR2_PTRAP_TEXT_PA ,
611 TTE_Context = NUCLEUS ,
612 TTE_V = 1 ,
613 TTE_NFO = 0 ,
614 TTE_L = 0 ,
615 TTE_Soft = 0 ,
616 TTE_IE = 0 ,
617 TTE_E = 0 ,
618 TTE_CP = 1 ,
619 TTE_CV = 0 ,
620 TTE_P = 1 ,
621 TTE_EP = 1 ,
622 TTE_W = 0 ,
623 TTE_SW1 = 0 ,
624 TTE_SW0 = 0 ,
625 TTE_RSVD1 = 0 ,
626 TTE_Size = 1 ,
627 end_label = Thr2_Ptrap_Sect_text_end ,
628 compressimage ,
629 }
630#include "mmu_ptrap.s"
631Thr2_Ptrap_Sect_text_end:
632/*********************************************************************/
633SECTION .Thr3_Ptrap_Sect TEXT_VA=THR3_PTRAP_TEXT_VA
634attr_text {
635 Name = .Thr3_Ptrap_Sect ,
636 thr3_z_ctx_tsb_3
637 VA = THR3_PTRAP_TEXT_VA ,
638 RA = THR3_PTRAP_TEXT_RA ,
639 PA = THR3_PTRAP_TEXT_PA ,
640 TTE_Context = NUCLEUS ,
641 TTE_V = 1 ,
642 TTE_NFO = 0 ,
643 TTE_L = 0 ,
644 TTE_Soft = 0 ,
645 TTE_IE = 0 ,
646 TTE_E = 0 ,
647 TTE_CP = 1 ,
648 TTE_CV = 0 ,
649 TTE_P = 0 ,
650 TTE_EP = 1 ,
651 TTE_W = 0 ,
652 TTE_SW1 = 0 ,
653 TTE_SW0 = 0 ,
654 TTE_RSVD1 = 0 ,
655 TTE_Size = 1 ,
656 end_label = Thr3_Ptrap_Sect_text_end ,
657 compressimage ,
658 }
659#include "mmu_ptrap.s"
660Thr3_Ptrap_Sect_text_end:
661/*********************************************************************/
662SECTION .Thr4_Ptrap_Sect TEXT_VA=THR4_PTRAP_TEXT_VA
663attr_text {
664 Name = .Thr4_Ptrap_Sect ,
665 thr4_z_ctx_tsb_0
666 VA = THR4_PTRAP_TEXT_VA ,
667 RA = THR4_PTRAP_TEXT_RA ,
668 PA = THR4_PTRAP_TEXT_PA ,
669 TTE_Context = NUCLEUS ,
670 TTE_V = 1 ,
671 TTE_NFO = 0 ,
672 TTE_L = 0 ,
673 TTE_Soft = 0 ,
674 TTE_IE = 0 ,
675 TTE_E = 0 ,
676 TTE_CP = 1 ,
677 TTE_CV = 0 ,
678 TTE_P = 0 ,
679 TTE_EP = 1 ,
680 TTE_W = 1 ,
681 TTE_SW1 = 0 ,
682 TTE_SW0 = 0 ,
683 TTE_RSVD1 = 0 ,
684 TTE_Size = 1 ,
685 end_label = Thr4_Ptrap_Sect_text_end ,
686 compressimage ,
687 }
688#include "mmu_ptrap.s"
689Thr4_Ptrap_Sect_text_end:
690/*********************************************************************/
691SECTION .Thr5_Ptrap_Sect TEXT_VA=THR5_PTRAP_TEXT_VA
692attr_text {
693 Name = .Thr5_Ptrap_Sect ,
694 thr5_z_ctx_tsb_1
695 VA = THR5_PTRAP_TEXT_VA ,
696 RA = THR5_PTRAP_TEXT_RA ,
697 PA = THR5_PTRAP_TEXT_PA ,
698 TTE_Context = NUCLEUS ,
699 TTE_V = 1 ,
700 TTE_NFO = 0 ,
701 TTE_L = 0 ,
702 TTE_Soft = 0 ,
703 TTE_IE = 0 ,
704 TTE_E = 0 ,
705 TTE_CP = 1 ,
706 TTE_CV = 0 ,
707 TTE_P = 1 ,
708 TTE_EP = 1 ,
709 TTE_W = 0 ,
710 TTE_SW1 = 0 ,
711 TTE_SW0 = 0 ,
712 TTE_RSVD1 = 0 ,
713 TTE_Size = 1 ,
714 end_label = Thr5_Ptrap_Sect_text_end ,
715 compressimage ,
716 }
717#include "mmu_ptrap.s"
718Thr5_Ptrap_Sect_text_end:
719/*********************************************************************/
720SECTION .Thr6_Ptrap_Sect TEXT_VA=THR6_PTRAP_TEXT_VA
721attr_text {
722 Name = .Thr6_Ptrap_Sect ,
723 thr6_z_ctx_tsb_2
724 VA = THR6_PTRAP_TEXT_VA ,
725 RA = THR6_PTRAP_TEXT_RA ,
726 PA = THR6_PTRAP_TEXT_PA ,
727 TTE_Context = NUCLEUS ,
728 TTE_V = 1 ,
729 TTE_NFO = 0 ,
730 TTE_L = 0 ,
731 TTE_Soft = 0 ,
732 TTE_IE = 0 ,
733 TTE_E = 0 ,
734 TTE_CP = 1 ,
735 TTE_CV = 0 ,
736 TTE_P = 1 ,
737 TTE_EP = 1 ,
738 TTE_W = 0 ,
739 TTE_SW1 = 0 ,
740 TTE_SW0 = 0 ,
741 TTE_RSVD1 = 0 ,
742 TTE_Size = 1 ,
743 end_label = Thr6_Ptrap_Sect_text_end ,
744 compressimage ,
745 }
746#include "mmu_ptrap.s"
747Thr6_Ptrap_Sect_text_end:
748/*********************************************************************/
749SECTION .Thr7_Ptrap_Sect TEXT_VA=THR7_PTRAP_TEXT_VA
750attr_text {
751 Name = .Thr7_Ptrap_Sect ,
752 thr7_z_ctx_tsb_3
753 VA = THR7_PTRAP_TEXT_VA ,
754 RA = THR7_PTRAP_TEXT_RA ,
755 PA = THR7_PTRAP_TEXT_PA ,
756 TTE_Context = NUCLEUS ,
757 TTE_V = 1 ,
758 TTE_NFO = 0 ,
759 TTE_L = 0 ,
760 TTE_Soft = 0 ,
761 TTE_IE = 0 ,
762 TTE_E = 0 ,
763 TTE_CP = 1 ,
764 TTE_CV = 0 ,
765 TTE_P = 1 ,
766 TTE_EP = 1 ,
767 TTE_W = 0 ,
768 TTE_SW1 = 0 ,
769 TTE_SW0 = 0 ,
770 TTE_RSVD1 = 0 ,
771 TTE_Size = 1 ,
772 end_label = Thr7_Ptrap_Sect_text_end ,
773 compressimage ,
774 }
775#include "mmu_ptrap.s"
776Thr7_Ptrap_Sect_text_end:
777#include "mmu_hptrap.s"
778/****************************************************************************************** */
779SECTION .HPTRAPS_CUSTOM_SECT TEXT_VA=0xa0000, DATA_VA=0xa8000
780
781attr_text {
782 Name=.HPTRAPS_CUSTOM_SECT,
783 hypervisor
784}
785
786.text
787.global custom_trap_0x9_handler
788.global custom_trap_0x31_handler
789.global custom_trap_0x2a_handler
790.global custom_trap_0x2b_handler
791
792custom_trap_0x9_handler:
793 ! This handler is called because the entry has a valid bit 0. This handler is
794 ! then responsible for setting RA[40] to be 1.
795 ! %l1 = VA
796 or %l1, %g0, %g1 ! %g1 = VA
797 or %g0, 0x48, %g2
798 ldxa [%g2] 0x54, %g2 ! %g2 = non-zero context TSB config 3
799 setx function_tsb_ptr_calc, %g3, %g4
800 jmpl %g4, %i6
801 nop
802 stxa %i7, [%g0] 0x20 ! save tsb pointer for later use
803 ldda [%i7] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
804 or %g0, 1, %g4
805 sllx %g4, 40, %g4 ! %g4 has RA[40] set
806 or %g0, 1, %g5
807 sllx %g5, 63, %g5 ! %g5 has valid bit set
808 or %g4, %g5, %g4
809 or %g7, %g4, %g7
810 stx %g6, [%i7]
811 stx %g7, [%i7 + 8]
812 retry
813
814custom_trap_0x2a_handler:
815 ! %l1 = VA
816 or %l1, %g0, %g1 ! %g1 = VA
817 or %g0, 0x48, %g2
818 ldxa [%g2] 0x54, %g2 ! %g2 = non-zero context TSB config 3
819 ldxa [%g0] 0x20, %i7 ! restore tsb pointer in %i7
820 ldda [%i7] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
821 sethi 0x0ffff, %g4
822 sllx %g4, 30, %g4 ! %g4 has the RA[55:40] mask
823 and %g7, %g4, %g5 ! %g5 has RA[55:40]
824 andn %g7, %g4, %g7 ! %g7 has RA[55:40] all clear
825 sllx %g5, 1, %g5 ! shifting bit 1 from RA[40] to RA[55]
826 and %g5, %g4, %g5 ! clear if bit 1 is outside RA[55:40]
827 or %g7, %g5, %g7
828 stx %g7, [%i7 + 8]
829 retry
830
831custom_trap_0x31_handler:
832 ! This handler is called because the entry has a valid bit 0. This handler is
833 ! then responsible for setting RA[40] to be 1.
834 ! %l1 = VA
835 or %l1, %g0, %g1 ! %g1 = VA
836 or %g0, 0x40, %g2
837 ldxa [%g2] 0x54, %g2 ! %g2 = non-zero context TSB config 2
838 setx function_tsb_ptr_calc, %g3, %g4
839 jmpl %g4, %i6
840 nop
841 stxa %i7, [%g0] 0x20 ! save tsb pointer for later use
842 ldda [%i7] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
843 or %g0, 1, %g4
844 sllx %g4, 40, %g4 ! %g4 has RA[40] set
845 or %g0, 1, %g5
846 sllx %g5, 63, %g5 ! %g5 has valid bit set
847 or %g4, %g5, %g4
848 or %g7, %g4, %g7
849 stx %g6, [%i7]
850 stx %g7, [%i7 + 8]
851 retry
852
853custom_trap_0x2b_handler:
854 ! %l1 = VA
855 or %l1, %g0, %g1 ! %g1 = VA
856 or %g0, 0x48, %g2
857 ldxa [%g2] 0x54, %g2 ! %g2 = non-zero context TSB config 3
858 ldxa [%g0] 0x20, %i7 ! restore tsb pointer in %i7
859 ldda [%i7] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
860 sethi 0x0ffff, %g4
861 sllx %g4, 30, %g4 ! %g4 has the RA[55:40] mask
862 and %g7, %g4, %g5 ! %g5 has RA[55:40]
863 andn %g7, %g4, %g7 ! %g7 has RA[55:40] all clear
864 sllx %g5, 1, %g5 ! shifting bit 1 from RA[40] to RA[55]
865 and %g5, %g4, %g5 ! clear if bit 1 is outside RA[55:40]
866 or %g7, %g5, %g7
867 stx %g7, [%i7 + 8]
868 retry
869
870attr_data {
871 Name=.HPTRAPS_CUSTOM_SECT,
872 hypervisor
873}
874
875/*********************************************************************/
876SECTION .Thr0_User_Text_4v000 TEXT_VA=0x6205a0000000
877attr_text {
878 Name = .Thr0_User_Text_4v000 ,
879 VA = 0x6205a0000000 ,/* 0x6205afffffc0 */
880 RA = 0x0170000000 ,
881 PA = 0x0170000000 ,
882 TTE_Context = 0x1d1a ,/* TEXT_PRIMARY */
883 thr0_nz_ctx_tsb_0 ,
884 TTE_V = 1 ,
885 TTE_NFO = 0 ,
886 TTE_L = 0 ,
887 TTE_Soft = 0x1b0000 ,
888 TTE_IE = 0 ,
889 TTE_E = 0 ,
890 TTE_CP = 0 ,
891 TTE_CV = 0 ,
892 TTE_P = 0 ,
893 TTE_EP = 1 ,
894 TTE_W = 0 ,
895 TTE_SW1 = 0 ,
896 TTE_SW0 = 0 ,
897 TTE_RSVD1 = 0 ,
898 TTE_Size = 5 ,
899 end_label = Thr0_User_Text_4v000_text_end ,
900 compressimage ,
901 }
902.text
903.global Thr0_user_code_entry
904Thr0_user_code_entry:
905 or %g0, 1, %i1
906 sllx %i1, 25, %i1 ! %i1 = walking 1, VA[47] is bit 25 in TTE tag
907.global Thr0_User_Text_4v000_text_begin
908Thr0_User_Text_4v000_text_begin:
909 setx Thr0_User_Text_4v001_text_begin, %l0, %l1
910 jmp %l1
911 nop
912 EXIT_BAD
913Thr0_User_Text_4v000_text_end:
914/*********************************************************************/
915SECTION .Thr0_User_Text_4v001 TEXT_VA=0x610032400000
916attr_text {
917 Name = .Thr0_User_Text_4v001 ,
918 VA = 0x610032400000 ,/* 0x6100327fffc0 */
919 RA = 0x024b000000 ,
920 PA = 0x0e4b000000 ,
921 TTE_Context = 0x1d1a ,/* TEXT_PRIMARY */
922 thr0_nz_ctx_tsb_3 ,
923 TTE_V = 0 ,
924 TTE_NFO = 0 ,
925 TTE_L = 0 ,
926 TTE_Soft = 0x1b0000 ,
927 TTE_IE = 0 ,
928 TTE_E = 0 ,
929 TTE_CP = 0 ,
930 TTE_CV = 0 ,
931 TTE_P = 0 ,
932 TTE_EP = 1 ,
933 TTE_W = 0 ,
934 TTE_SW1 = 0 ,
935 TTE_SW0 = 0 ,
936 TTE_RSVD1 = 0 ,
937 TTE_Size = 3 ,
938 end_label = Thr0_User_Text_4v001_text_end ,
939 compressimage ,
940 }
941.text
942.global Thr0_User_Text_4v001_text_begin
943Thr0_User_Text_4v001_text_begin:
944 setx Thr0_User_Data_4v100_data_begin, %l0, %l1
945 ldx [%l1], %l2
946 EXIT_GOOD
947Thr0_User_Text_4v001_text_end:
948/*********************************************************************/
949SECTION .Thr0_User_Data_4v100 DATA_VA=0x600000de0000
950attr_data {
951 Name = .Thr0_User_Data_4v100 ,
952 VA = 0x600000de0000 ,/* 0x600000deffc0 */
953 RA = 0x0010020000 ,
954 PA = 0x0010020000 ,
955 TTE_Context = 0x1d1a ,/* DATA_PRIMARY */
956 thr0_nz_ctx_tsb_2 ,
957 TTE_V = 0 ,
958 TTE_NFO = 0 ,
959 TTE_L = 1 ,
960 TTE_Soft = 0x080000 ,
961 TTE_IE = 0 ,
962 TTE_E = 0 ,
963 TTE_CP = 1 ,
964 TTE_CV = 0 ,
965 TTE_P = 0 ,
966 TTE_EP = 0 ,
967 TTE_W = 1 ,
968 TTE_SW1 = 1 ,
969 TTE_SW0 = 1 ,
970 TTE_RSVD1 = 0 ,
971 TTE_Size = 1 ,
972 end_label = Thr0_User_Data_4v100_data_end ,
973 compressimage ,
974 }
975.data
976.global Thr0_User_Data_4v100_data_begin
977Thr0_User_Data_4v100_data_begin:
978 .word 0x1234
979Thr0_User_Data_4v100_data_end:
980/*********************************************************************/
981SECTION .Thr1_User_Text_4v000 TEXT_VA=0x63b0001a2000
982attr_text {
983 Name = .Thr1_User_Text_4v000 ,
984 VA = 0x63b0001a2000 ,/* 0x63b0001a3fc0 */
985 RA = 0x01001be000 ,
986 PA = 0x01001be000 ,
987 TTE_Context = 0x1957 ,/* TEXT_PRIMARY */
988 thr1_nz_ctx_tsb_1 ,
989 TTE_V = 1 ,
990 TTE_NFO = 0 ,
991 TTE_L = 0 ,
992 TTE_Soft = 0x140000 ,
993 TTE_IE = 0 ,
994 TTE_E = 0 ,
995 TTE_CP = 0 ,
996 TTE_CV = 0 ,
997 TTE_P = 0 ,
998 TTE_EP = 1 ,
999 TTE_W = 0 ,
1000 TTE_SW1 = 0 ,
1001 TTE_SW0 = 1 ,
1002 TTE_RSVD1 = 0 ,
1003 TTE_Size = 0 ,
1004 end_label = Thr1_User_Text_4v000_text_end ,
1005 compressimage ,
1006 }
1007.text
1008.global Thr1_user_code_entry
1009Thr1_user_code_entry:
1010.global Thr1_User_Text_4v000_text_begin
1011Thr1_User_Text_4v000_text_begin:
1012 EXIT_GOOD
1013Thr1_User_Text_4v000_text_end:
1014/*********************************************************************/
1015SECTION .Thr2_User_Text_4v000 TEXT_VA=0x690033000000
1016attr_text {
1017 Name = .Thr2_User_Text_4v000 ,
1018 VA = 0x690033000000 ,/* 0x6900333fffc0 */
1019 RA = 0x0266c00000 ,
1020 PA = 0x2e66c00000 ,
1021 TTE_Context = 0x10b9 ,/* TEXT_PRIMARY */
1022 thr2_nz_ctx_tsb_1 ,
1023 TTE_V = 1 ,
1024 TTE_NFO = 0 ,
1025 TTE_L = 1 ,
1026 TTE_Soft = 0x180000 ,
1027 TTE_IE = 0 ,
1028 TTE_E = 0 ,
1029 TTE_CP = 1 ,
1030 TTE_CV = 0 ,
1031 TTE_P = 0 ,
1032 TTE_EP = 1 ,
1033 TTE_W = 0 ,
1034 TTE_SW1 = 0 ,
1035 TTE_SW0 = 0 ,
1036 TTE_RSVD1 = 0 ,
1037 TTE_Size = 3 ,
1038 end_label = Thr2_User_Text_4v000_text_end ,
1039 compressimage ,
1040 }
1041.text
1042.global Thr2_user_code_entry
1043Thr2_user_code_entry:
1044.global Thr2_User_Text_4v000_text_begin
1045Thr2_User_Text_4v000_text_begin:
1046 EXIT_GOOD
1047Thr2_User_Text_4v000_text_end:
1048/*********************************************************************/
1049SECTION .Thr3_User_Text_4v000 TEXT_VA=0x6c0000e90000
1050attr_text {
1051 Name = .Thr3_User_Text_4v000 ,
1052 VA = 0x6c0000e90000 ,/* 0x6c0000e9ffc0 */
1053 RA = 0x0040e60000 ,
1054 PA = 0x3840e60000 ,
1055 TTE_Context = 0x1f2a ,/* TEXT_PRIMARY */
1056 thr3_nz_ctx_tsb_1 ,
1057 TTE_V = 1 ,
1058 TTE_NFO = 0 ,
1059 TTE_L = 1 ,
1060 TTE_Soft = 0x1a0000 ,
1061 TTE_IE = 0 ,
1062 TTE_E = 0 ,
1063 TTE_CP = 1 ,
1064 TTE_CV = 0 ,
1065 TTE_P = 0 ,
1066 TTE_EP = 1 ,
1067 TTE_W = 0 ,
1068 TTE_SW1 = 1 ,
1069 TTE_SW0 = 0 ,
1070 TTE_RSVD1 = 0 ,
1071 TTE_Size = 1 ,
1072 end_label = Thr3_User_Text_4v000_text_end ,
1073 compressimage ,
1074 }
1075.text
1076.global Thr3_user_code_entry
1077Thr3_user_code_entry:
1078.global Thr3_User_Text_4v000_text_begin
1079Thr3_User_Text_4v000_text_begin:
1080 EXIT_GOOD
1081Thr3_User_Text_4v000_text_end:
1082/*********************************************************************/
1083SECTION .Thr4_User_Text_4v000 TEXT_VA=0x6fe00009a000
1084attr_text {
1085 Name = .Thr4_User_Text_4v000 ,
1086 VA = 0x6fe00009a000 ,/* 0x6fe00009bfc0 */
1087 RA = 0x01300f0000 ,
1088 PA = 0x01300f0000 ,
1089 TTE_Context = 0x0783 ,/* TEXT_PRIMARY */
1090 thr4_nz_ctx_tsb_2 ,
1091 TTE_V = 1 ,
1092 TTE_NFO = 0 ,
1093 TTE_L = 0 ,
1094 TTE_Soft = 0x110000 ,
1095 TTE_IE = 0 ,
1096 TTE_E = 0 ,
1097 TTE_CP = 0 ,
1098 TTE_CV = 0 ,
1099 TTE_P = 0 ,
1100 TTE_EP = 1 ,
1101 TTE_W = 0 ,
1102 TTE_SW1 = 0 ,
1103 TTE_SW0 = 0 ,
1104 TTE_RSVD1 = 0 ,
1105 TTE_Size = 0 ,
1106 end_label = Thr4_User_Text_4v000_text_end ,
1107 compressimage ,
1108 }
1109.text
1110.global Thr4_user_code_entry
1111Thr4_user_code_entry:
1112.global Thr4_User_Text_4v000_text_begin
1113Thr4_User_Text_4v000_text_begin:
1114 EXIT_GOOD
1115Thr4_User_Text_4v000_text_end:
1116/*********************************************************************/
1117SECTION .Thr5_User_Text_4v000 TEXT_VA=0x750017000000
1118attr_text {
1119 Name = .Thr5_User_Text_4v000 ,
1120 VA = 0x750017000000 ,/* 0x7500173fffc0 */
1121 RA = 0x0293000000 ,
1122 PA = 0x0293000000 ,
1123 TTE_Context = 0x117a ,/* TEXT_PRIMARY */
1124 thr5_nz_ctx_tsb_1 ,
1125 TTE_V = 1 ,
1126 TTE_NFO = 0 ,
1127 TTE_L = 0 ,
1128 TTE_Soft = 0x030000 ,
1129 TTE_IE = 0 ,
1130 TTE_E = 0 ,
1131 TTE_CP = 0 ,
1132 TTE_CV = 0 ,
1133 TTE_P = 0 ,
1134 TTE_EP = 1 ,
1135 TTE_W = 0 ,
1136 TTE_SW1 = 1 ,
1137 TTE_SW0 = 1 ,
1138 TTE_RSVD1 = 0 ,
1139 TTE_Size = 3 ,
1140 end_label = Thr5_User_Text_4v000_text_end ,
1141 compressimage ,
1142 }
1143.text
1144.global Thr5_user_code_entry
1145Thr5_user_code_entry:
1146.global Thr5_User_Text_4v000_text_begin
1147Thr5_User_Text_4v000_text_begin:
1148 EXIT_GOOD
1149Thr5_User_Text_4v000_text_end:
1150/*********************************************************************/
1151SECTION .Thr6_User_Text_4v000 TEXT_VA=0x7a0aa0000000
1152attr_text {
1153 Name = .Thr6_User_Text_4v000 ,
1154 VA = 0x7a0aa0000000 ,/* 0x7a0aafffffc0 */
1155 RA = 0x01d0000000 ,
1156 PA = 0x6dd0000000 ,
1157 TTE_Context = 0x1743 ,/* TEXT_PRIMARY */
1158 thr6_nz_ctx_tsb_0 ,
1159 TTE_V = 1 ,
1160 TTE_NFO = 0 ,
1161 TTE_L = 0 ,
1162 TTE_Soft = 0x120000 ,
1163 TTE_IE = 0 ,
1164 TTE_E = 0 ,
1165 TTE_CP = 0 ,
1166 TTE_CV = 0 ,
1167 TTE_P = 0 ,
1168 TTE_EP = 1 ,
1169 TTE_W = 0 ,
1170 TTE_SW1 = 0 ,
1171 TTE_SW0 = 1 ,
1172 TTE_RSVD1 = 0 ,
1173 TTE_Size = 5 ,
1174 end_label = Thr6_User_Text_4v000_text_end ,
1175 compressimage ,
1176 }
1177.text
1178.global Thr6_user_code_entry
1179Thr6_user_code_entry:
1180.global Thr6_User_Text_4v000_text_begin
1181Thr6_User_Text_4v000_text_begin:
1182 EXIT_GOOD
1183Thr6_User_Text_4v000_text_end:
1184/*********************************************************************/
1185SECTION .Thr7_User_Text_4v000 TEXT_VA=0x7d001ec00000
1186attr_text {
1187 Name = .Thr7_User_Text_4v000 ,
1188 VA = 0x7d001ec00000 ,/* 0x7d001effffc0 */
1189 RA = 0x02b7c00000 ,
1190 PA = 0x7eb7c00000 ,
1191 TTE_Context = 0x193a ,/* TEXT_PRIMARY */
1192 thr7_nz_ctx_tsb_0 ,
1193 TTE_V = 1 ,
1194 TTE_NFO = 0 ,
1195 TTE_L = 0 ,
1196 TTE_Soft = 0x000000 ,
1197 TTE_IE = 0 ,
1198 TTE_E = 0 ,
1199 TTE_CP = 0 ,
1200 TTE_CV = 0 ,
1201 TTE_P = 0 ,
1202 TTE_EP = 1 ,
1203 TTE_W = 0 ,
1204 TTE_SW1 = 1 ,
1205 TTE_SW0 = 0 ,
1206 TTE_RSVD1 = 0 ,
1207 TTE_Size = 3 ,
1208 end_label = Thr7_User_Text_4v000_text_end ,
1209 compressimage ,
1210 }
1211.text
1212.global Thr7_user_code_entry
1213Thr7_user_code_entry:
1214.global Thr7_User_Text_4v000_text_begin
1215Thr7_User_Text_4v000_text_begin:
1216 EXIT_GOOD
1217Thr7_User_Text_4v000_text_end: