2 * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
24 #include <ppc/chud/chud_spr.h>
26 #include <mach/kern_return.h>
30 .globl EXT(chudxnu_mfsrr0_64)
31 EXT(chudxnu_mfsrr0_64):
32 mfspr r5,chud_ppc_srr0
37 .globl EXT(chudxnu_mfsrr1_64)
38 EXT(chudxnu_mfsrr1_64):
39 mfspr r5,chud_ppc_srr1
44 .globl EXT(chudxnu_mfdar_64)
45 EXT(chudxnu_mfdar_64):
51 .globl EXT(chudxnu_mfsdr1_64)
52 EXT(chudxnu_mfsdr1_64):
53 mfspr r5,chud_ppc_sdr1
58 .globl EXT(chudxnu_mfsprg0_64)
59 EXT(chudxnu_mfsprg0_64):
60 mfspr r5,chud_ppc_sprg0
65 .globl EXT(chudxnu_mfsprg1_64)
66 EXT(chudxnu_mfsprg1_64):
67 mfspr r5,chud_ppc_sprg1
72 .globl EXT(chudxnu_mfsprg2_64)
73 EXT(chudxnu_mfsprg2_64):
74 mfspr r5,chud_ppc_sprg2
79 .globl EXT(chudxnu_mfsprg3_64)
80 EXT(chudxnu_mfsprg3_64):
81 mfspr r5,chud_ppc_sprg3
86 .globl EXT(chudxnu_mfasr_64)
87 EXT(chudxnu_mfasr_64):
88 mfspr r5,chud_ppc64_asr
93 .globl EXT(chudxnu_mfdabr_64)
94 EXT(chudxnu_mfdabr_64):
95 mfspr r5,chud_ppc_dabr
100 .globl EXT(chudxnu_mfhid0_64)
101 EXT(chudxnu_mfhid0_64):
102 mfspr r5,chud_970_hid0
107 .globl EXT(chudxnu_mfhid1_64)
108 EXT(chudxnu_mfhid1_64):
109 mfspr r5,chud_970_hid1
114 .globl EXT(chudxnu_mfhid4_64)
115 EXT(chudxnu_mfhid4_64):
116 mfspr r5,chud_970_hid4
121 .globl EXT(chudxnu_mfhid5_64)
122 EXT(chudxnu_mfhid5_64):
123 mfspr r5,chud_970_hid5
128 .globl EXT(chudxnu_mfmmcr0_64)
129 EXT(chudxnu_mfmmcr0_64):
130 mfspr r5,chud_970_mmcr0
135 .globl EXT(chudxnu_mfmmcr1_64)
136 EXT(chudxnu_mfmmcr1_64):
137 mfspr r5,chud_970_mmcr1
142 .globl EXT(chudxnu_mfmmcra_64)
143 EXT(chudxnu_mfmmcra_64):
144 mfspr r5,chud_970_mmcra
149 .globl EXT(chudxnu_mfsiar_64)
150 EXT(chudxnu_mfsiar_64):
151 mfspr r5,chud_970_siar
156 .globl EXT(chudxnu_mfsdar_64)
157 EXT(chudxnu_mfsdar_64):
158 mfspr r5,chud_970_sdar
163 .globl EXT(chudxnu_mfimc_64)
164 EXT(chudxnu_mfimc_64):
165 mfspr r5,chud_970_imc
170 .globl EXT(chudxnu_mfrmor_64)
171 EXT(chudxnu_mfrmor_64):
172 mfspr r5,chud_970_rmor
177 .globl EXT(chudxnu_mfhrmor_64)
178 EXT(chudxnu_mfhrmor_64):
179 mfspr r5,chud_970_hrmor
184 .globl EXT(chudxnu_mfhior_64)
185 EXT(chudxnu_mfhior_64):
186 mfspr r5,chud_970_hior
191 .globl EXT(chudxnu_mflpidr_64)
192 EXT(chudxnu_mflpidr_64):
193 mfspr r5,chud_970_lpidr
198 .globl EXT(chudxnu_mflpcr_64)
199 EXT(chudxnu_mflpcr_64):
200 mfspr r5,chud_970_lpcr
205 .globl EXT(chudxnu_mfdabrx_64)
206 EXT(chudxnu_mfdabrx_64):
207 mfspr r5,chud_970_dabrx
212 .globl EXT(chudxnu_mfhsprg0_64)
213 EXT(chudxnu_mfhsprg0_64):
214 mfspr r5,chud_970_hsprg0
219 .globl EXT(chudxnu_mfhsprg1_64)
220 EXT(chudxnu_mfhsprg1_64):
221 mfspr r5,chud_970_hsprg1
226 .globl EXT(chudxnu_mfhsrr0_64)
227 EXT(chudxnu_mfhsrr0_64):
228 mfspr r5,chud_970_hsrr0
233 .globl EXT(chudxnu_mfhsrr1_64)
234 EXT(chudxnu_mfhsrr1_64):
235 mfspr r5,chud_970_hsrr1
240 .globl EXT(chudxnu_mfhdec_64)
241 EXT(chudxnu_mfhdec_64):
242 mfspr r5,chud_970_hdec
247 .globl EXT(chudxnu_mftrig0_64)
248 EXT(chudxnu_mftrig0_64):
249 mfspr r5,chud_970_trig0
254 .globl EXT(chudxnu_mftrig1_64)
255 EXT(chudxnu_mftrig1_64):
256 mfspr r5,chud_970_trig1
261 .globl EXT(chudxnu_mftrig2_64)
262 EXT(chudxnu_mftrig2_64):
263 mfspr r5,chud_970_trig2
268 .globl EXT(chudxnu_mfaccr_64)
269 EXT(chudxnu_mfaccr_64):
270 mfspr r5,chud_ppc64_accr
275 .globl EXT(chudxnu_mfscomc_64)
276 EXT(chudxnu_mfscomc_64):
277 mfspr r5,chud_970_scomc
282 .globl EXT(chudxnu_mfscomd_64)
283 EXT(chudxnu_mfscomd_64):
284 mfspr r5,chud_970_scomd
289 .globl EXT(chudxnu_mtsrr0_64)
290 EXT(chudxnu_mtsrr0_64):
292 mtspr chud_ppc_srr0,r5
296 .globl EXT(chudxnu_mtsrr1_64)
297 EXT(chudxnu_mtsrr1_64):
299 mtspr chud_ppc_srr1,r5
303 .globl EXT(chudxnu_mtdar_64)
304 EXT(chudxnu_mtdar_64):
306 mtspr chud_ppc_dar,r5
310 .globl EXT(chudxnu_mtsdr1_64)
311 EXT(chudxnu_mtsdr1_64):
313 mtspr chud_ppc_sdr1,r5
317 .globl EXT(chudxnu_mtsprg0_64)
318 EXT(chudxnu_mtsprg0_64):
320 mtspr chud_ppc_sprg0,r5
324 .globl EXT(chudxnu_mtsprg1_64)
325 EXT(chudxnu_mtsprg1_64):
327 mtspr chud_ppc_sprg1,r5
331 .globl EXT(chudxnu_mtsprg2_64)
332 EXT(chudxnu_mtsprg2_64):
334 mtspr chud_ppc_sprg2,r5
338 .globl EXT(chudxnu_mtsprg3_64)
339 EXT(chudxnu_mtsprg3_64):
341 mtspr chud_ppc_sprg3,r5
345 .globl EXT(chudxnu_mtasr_64)
346 EXT(chudxnu_mtasr_64):
348 mtspr chud_ppc64_asr,r5
352 .globl EXT(chudxnu_mtdabr_64)
353 EXT(chudxnu_mtdabr_64):
355 mtspr chud_ppc_dabr,r5
359 .globl EXT(chudxnu_mthid0_64)
360 EXT(chudxnu_mthid0_64):
363 mtspr chud_970_hid0,r5
364 mfspr r5,chud_970_hid0 /* syncronization requirements */
365 mfspr r5,chud_970_hid0
366 mfspr r5,chud_970_hid0
367 mfspr r5,chud_970_hid0
368 mfspr r5,chud_970_hid0
369 mfspr r5,chud_970_hid0
373 .globl EXT(chudxnu_mthid1_64)
374 EXT(chudxnu_mthid1_64):
376 mtspr chud_970_hid1,r5 /* tell you twice */
377 mtspr chud_970_hid1,r5
382 .globl EXT(chudxnu_mthid4_64)
383 EXT(chudxnu_mthid4_64):
385 sync /* syncronization requirements */
386 mtspr chud_970_hid4,r5
391 .globl EXT(chudxnu_mthid5_64)
392 EXT(chudxnu_mthid5_64):
394 mtspr chud_970_hid5,r5
398 .globl EXT(chudxnu_mtmmcr0_64)
399 EXT(chudxnu_mtmmcr0_64):
401 mtspr chud_970_mmcr0,r5
405 .globl EXT(chudxnu_mtmmcr1_64)
406 EXT(chudxnu_mtmmcr1_64):
408 mtspr chud_970_mmcr1,r5
412 .globl EXT(chudxnu_mtmmcra_64)
413 EXT(chudxnu_mtmmcra_64):
415 mtspr chud_970_mmcra,r5
419 .globl EXT(chudxnu_mtsiar_64)
420 EXT(chudxnu_mtsiar_64):
422 mtspr chud_970_siar,r5
426 .globl EXT(chudxnu_mtsdar_64)
427 EXT(chudxnu_mtsdar_64):
429 mtspr chud_970_sdar,r5
433 .globl EXT(chudxnu_mtimc_64)
434 EXT(chudxnu_mtimc_64):
436 mtspr chud_970_imc,r5
440 .globl EXT(chudxnu_mtrmor_64)
441 EXT(chudxnu_mtrmor_64):
443 mtspr chud_970_rmor,r5
447 .globl EXT(chudxnu_mthrmor_64)
448 EXT(chudxnu_mthrmor_64):
450 mtspr chud_970_hrmor,r5
454 .globl EXT(chudxnu_mthior_64)
455 EXT(chudxnu_mthior_64):
457 mtspr chud_970_hior,r5
461 .globl EXT(chudxnu_mtlpidr_64)
462 EXT(chudxnu_mtlpidr_64):
464 mtspr chud_970_lpidr,r5
468 .globl EXT(chudxnu_mtlpcr_64)
469 EXT(chudxnu_mtlpcr_64):
471 mtspr chud_970_lpcr,r5
475 .globl EXT(chudxnu_mtdabrx_64)
476 EXT(chudxnu_mtdabrx_64):
478 mtspr chud_970_lpcr,r5
482 .globl EXT(chudxnu_mthsprg0_64)
483 EXT(chudxnu_mthsprg0_64):
485 mtspr chud_970_hsprg0,r5
489 .globl EXT(chudxnu_mthsprg1_64)
490 EXT(chudxnu_mthsprg1_64):
492 mtspr chud_970_hsprg1,r5
496 .globl EXT(chudxnu_mthsrr0_64)
497 EXT(chudxnu_mthsrr0_64):
499 mtspr chud_970_hsrr0,r5
503 .globl EXT(chudxnu_mthsrr1_64)
504 EXT(chudxnu_mthsrr1_64):
506 mtspr chud_970_hsrr1,r5
510 .globl EXT(chudxnu_mthdec_64)
511 EXT(chudxnu_mthdec_64):
513 mtspr chud_970_hdec,r5
517 .globl EXT(chudxnu_mttrig0_64)
518 EXT(chudxnu_mttrig0_64):
520 mtspr chud_970_trig0,r5
524 .globl EXT(chudxnu_mttrig1_64)
525 EXT(chudxnu_mttrig1_64):
527 mtspr chud_970_trig1,r5
531 .globl EXT(chudxnu_mttrig2_64)
532 EXT(chudxnu_mttrig2_64):
534 mtspr chud_970_trig2,r5
538 .globl EXT(chudxnu_mtaccr_64)
539 EXT(chudxnu_mtaccr_64):
541 mtspr chud_ppc64_accr,r5
545 .globl EXT(chudxnu_mtscomc_64)
546 EXT(chudxnu_mtscomc_64):
548 mtspr chud_970_scomc,r5
552 .globl EXT(chudxnu_mtscomd_64)
553 EXT(chudxnu_mtscomd_64):
555 mtspr chud_970_scomd,r5
558 .globl EXT(chudxnu_mfmsr_64)
559 EXT(chudxnu_mfmsr_64):
565 .globl EXT(chudxnu_mtmsr_64)
566 EXT(chudxnu_mtmsr_64):