xref: /freebsd/sys/powerpc/ps3/ps3-hvcall.S (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1/* $FreeBSD$ */
2
3#include <machine/asm.h>
4
5#define hc .long 0x44000022
6
7ASENTRY(lv1_allocate_memory)
8	mflr	%r0
9	std	%r0,16(%r1)
10	stdu	%r1,-64(%r1)
11	std	%r7,48(%r1)
12	std	%r8,56(%r1)
13	li	%r11,0
14	hc
15	extsw	%r3,%r3
16	ld	%r11,48(%r1)
17	std	%r4,0(%r11)
18	ld	%r11,56(%r1)
19	std	%r5,0(%r11)
20	ld	%r1,0(%r1)
21	ld	%r0,16(%r1)
22	mtlr	%r0
23	blr
24ASEND(lv1_allocate_memory)
25
26ASENTRY(lv1_write_htab_entry)
27	mflr	%r0
28	std	%r0,16(%r1)
29	stdu	%r1,-48(%r1)
30	li	%r11,1
31	hc
32	extsw	%r3,%r3
33	ld	%r1,0(%r1)
34	ld	%r0,16(%r1)
35	mtlr	%r0
36	blr
37ASEND(lv1_write_htab_entry)
38
39ASENTRY(lv1_construct_virtual_address_space)
40	mflr	%r0
41	std	%r0,16(%r1)
42	stdu	%r1,-64(%r1)
43	std	%r6,48(%r1)
44	std	%r7,56(%r1)
45	li	%r11,2
46	hc
47	extsw	%r3,%r3
48	ld	%r11,48(%r1)
49	std	%r4,0(%r11)
50	ld	%r11,56(%r1)
51	std	%r5,0(%r11)
52	ld	%r1,0(%r1)
53	ld	%r0,16(%r1)
54	mtlr	%r0
55	blr
56ASEND(lv1_construct_virtual_address_space)
57
58ASENTRY(lv1_get_virtual_address_space_id_of_ppe)
59	mflr	%r0
60	std	%r0,16(%r1)
61	stdu	%r1,-56(%r1)
62	std	%r4,48(%r1)
63	li	%r11,4
64	hc
65	extsw	%r3,%r3
66	ld	%r11,48(%r1)
67	std	%r4,0(%r11)
68	ld	%r1,0(%r1)
69	ld	%r0,16(%r1)
70	mtlr	%r0
71	blr
72ASEND(lv1_get_virtual_address_space_id_of_ppe)
73
74ASENTRY(lv1_query_logical_partition_address_region_info)
75	mflr	%r0
76	std	%r0,16(%r1)
77	stdu	%r1,-88(%r1)
78	std	%r4,48(%r1)
79	std	%r5,56(%r1)
80	std	%r6,64(%r1)
81	std	%r7,72(%r1)
82	std	%r8,80(%r1)
83	li	%r11,6
84	hc
85	extsw	%r3,%r3
86	ld	%r11,48(%r1)
87	std	%r4,0(%r11)
88	ld	%r11,56(%r1)
89	std	%r5,0(%r11)
90	ld	%r11,64(%r1)
91	std	%r6,0(%r11)
92	ld	%r11,72(%r1)
93	std	%r7,0(%r11)
94	ld	%r11,80(%r1)
95	std	%r8,0(%r11)
96	ld	%r1,0(%r1)
97	ld	%r0,16(%r1)
98	mtlr	%r0
99	blr
100ASEND(lv1_query_logical_partition_address_region_info)
101
102ASENTRY(lv1_select_virtual_address_space)
103	mflr	%r0
104	std	%r0,16(%r1)
105	stdu	%r1,-48(%r1)
106	li	%r11,7
107	hc
108	extsw	%r3,%r3
109	ld	%r1,0(%r1)
110	ld	%r0,16(%r1)
111	mtlr	%r0
112	blr
113ASEND(lv1_select_virtual_address_space)
114
115ASENTRY(lv1_pause)
116	mflr	%r0
117	std	%r0,16(%r1)
118	stdu	%r1,-48(%r1)
119	li	%r11,9
120	hc
121	extsw	%r3,%r3
122	ld	%r1,0(%r1)
123	ld	%r0,16(%r1)
124	mtlr	%r0
125	blr
126ASEND(lv1_pause)
127
128ASENTRY(lv1_destruct_virtual_address_space)
129	mflr	%r0
130	std	%r0,16(%r1)
131	stdu	%r1,-48(%r1)
132	li	%r11,10
133	hc
134	extsw	%r3,%r3
135	ld	%r1,0(%r1)
136	ld	%r0,16(%r1)
137	mtlr	%r0
138	blr
139ASEND(lv1_destruct_virtual_address_space)
140
141ASENTRY(lv1_configure_irq_state_bitmap)
142	mflr	%r0
143	std	%r0,16(%r1)
144	stdu	%r1,-48(%r1)
145	li	%r11,11
146	hc
147	extsw	%r3,%r3
148	ld	%r1,0(%r1)
149	ld	%r0,16(%r1)
150	mtlr	%r0
151	blr
152ASEND(lv1_configure_irq_state_bitmap)
153
154ASENTRY(lv1_connect_irq_plug_ext)
155	mflr	%r0
156	std	%r0,16(%r1)
157	stdu	%r1,-48(%r1)
158	li	%r11,12
159	hc
160	extsw	%r3,%r3
161	ld	%r1,0(%r1)
162	ld	%r0,16(%r1)
163	mtlr	%r0
164	blr
165ASEND(lv1_connect_irq_plug_ext)
166
167ASENTRY(lv1_release_memory)
168	mflr	%r0
169	std	%r0,16(%r1)
170	stdu	%r1,-48(%r1)
171	li	%r11,13
172	hc
173	extsw	%r3,%r3
174	ld	%r1,0(%r1)
175	ld	%r0,16(%r1)
176	mtlr	%r0
177	blr
178ASEND(lv1_release_memory)
179
180ASENTRY(lv1_put_iopte)
181	mflr	%r0
182	std	%r0,16(%r1)
183	stdu	%r1,-48(%r1)
184	li	%r11,15
185	hc
186	extsw	%r3,%r3
187	ld	%r1,0(%r1)
188	ld	%r0,16(%r1)
189	mtlr	%r0
190	blr
191ASEND(lv1_put_iopte)
192
193ASENTRY(lv1_disconnect_irq_plug_ext)
194	mflr	%r0
195	std	%r0,16(%r1)
196	stdu	%r1,-48(%r1)
197	li	%r11,17
198	hc
199	extsw	%r3,%r3
200	ld	%r1,0(%r1)
201	ld	%r0,16(%r1)
202	mtlr	%r0
203	blr
204ASEND(lv1_disconnect_irq_plug_ext)
205
206ASENTRY(lv1_construct_event_receive_port)
207	mflr	%r0
208	std	%r0,16(%r1)
209	stdu	%r1,-56(%r1)
210	std	%r3,48(%r1)
211	li	%r11,18
212	hc
213	extsw	%r3,%r3
214	ld	%r11,48(%r1)
215	std	%r4,0(%r11)
216	ld	%r1,0(%r1)
217	ld	%r0,16(%r1)
218	mtlr	%r0
219	blr
220ASEND(lv1_construct_event_receive_port)
221
222ASENTRY(lv1_destruct_event_receive_port)
223	mflr	%r0
224	std	%r0,16(%r1)
225	stdu	%r1,-48(%r1)
226	li	%r11,19
227	hc
228	extsw	%r3,%r3
229	ld	%r1,0(%r1)
230	ld	%r0,16(%r1)
231	mtlr	%r0
232	blr
233ASEND(lv1_destruct_event_receive_port)
234
235ASENTRY(lv1_send_event_locally)
236	mflr	%r0
237	std	%r0,16(%r1)
238	stdu	%r1,-48(%r1)
239	li	%r11,24
240	hc
241	extsw	%r3,%r3
242	ld	%r1,0(%r1)
243	ld	%r0,16(%r1)
244	mtlr	%r0
245	blr
246ASEND(lv1_send_event_locally)
247
248ASENTRY(lv1_end_of_interrupt)
249	mflr	%r0
250	std	%r0,16(%r1)
251	stdu	%r1,-48(%r1)
252	li	%r11,27
253	hc
254	extsw	%r3,%r3
255	ld	%r1,0(%r1)
256	ld	%r0,16(%r1)
257	mtlr	%r0
258	blr
259ASEND(lv1_end_of_interrupt)
260
261ASENTRY(lv1_connect_irq_plug)
262	mflr	%r0
263	std	%r0,16(%r1)
264	stdu	%r1,-48(%r1)
265	li	%r11,28
266	hc
267	extsw	%r3,%r3
268	ld	%r1,0(%r1)
269	ld	%r0,16(%r1)
270	mtlr	%r0
271	blr
272ASEND(lv1_connect_irq_plug)
273
274ASENTRY(lv1_disconnect_irq_plus)
275	mflr	%r0
276	std	%r0,16(%r1)
277	stdu	%r1,-48(%r1)
278	li	%r11,29
279	hc
280	extsw	%r3,%r3
281	ld	%r1,0(%r1)
282	ld	%r0,16(%r1)
283	mtlr	%r0
284	blr
285ASEND(lv1_disconnect_irq_plus)
286
287ASENTRY(lv1_end_of_interrupt_ext)
288	mflr	%r0
289	std	%r0,16(%r1)
290	stdu	%r1,-48(%r1)
291	li	%r11,30
292	hc
293	extsw	%r3,%r3
294	ld	%r1,0(%r1)
295	ld	%r0,16(%r1)
296	mtlr	%r0
297	blr
298ASEND(lv1_end_of_interrupt_ext)
299
300ASENTRY(lv1_did_update_interrupt_mask)
301	mflr	%r0
302	std	%r0,16(%r1)
303	stdu	%r1,-48(%r1)
304	li	%r11,31
305	hc
306	extsw	%r3,%r3
307	ld	%r1,0(%r1)
308	ld	%r0,16(%r1)
309	mtlr	%r0
310	blr
311ASEND(lv1_did_update_interrupt_mask)
312
313ASENTRY(lv1_shutdown_logical_partition)
314	mflr	%r0
315	std	%r0,16(%r1)
316	stdu	%r1,-48(%r1)
317	li	%r11,44
318	hc
319	extsw	%r3,%r3
320	ld	%r1,0(%r1)
321	ld	%r0,16(%r1)
322	mtlr	%r0
323	blr
324ASEND(lv1_shutdown_logical_partition)
325
326ASENTRY(lv1_destruct_logical_spe)
327	mflr	%r0
328	std	%r0,16(%r1)
329	stdu	%r1,-48(%r1)
330	li	%r11,54
331	hc
332	extsw	%r3,%r3
333	ld	%r1,0(%r1)
334	ld	%r0,16(%r1)
335	mtlr	%r0
336	blr
337ASEND(lv1_destruct_logical_spe)
338
339ASENTRY(lv1_construct_logical_spe)
340	mflr	%r0
341	std	%r0,16(%r1)
342	stdu	%r1,-96(%r1)
343	std	%r10,48(%r1)
344	ld	%r11,208(%r1)
345	std	%r11,56(%r1)
346	ld	%r11,216(%r1)
347	std	%r11,64(%r1)
348	ld	%r11,224(%r1)
349	std	%r11,72(%r1)
350	ld	%r11,232(%r1)
351	std	%r11,80(%r1)
352	ld	%r11,240(%r1)
353	std	%r11,88(%r1)
354	li	%r11,57
355	hc
356	extsw	%r3,%r3
357	ld	%r11,48(%r1)
358	std	%r4,0(%r11)
359	ld	%r11,56(%r1)
360	std	%r5,0(%r11)
361	ld	%r11,64(%r1)
362	std	%r6,0(%r11)
363	ld	%r11,72(%r1)
364	std	%r7,0(%r11)
365	ld	%r11,80(%r1)
366	std	%r8,0(%r11)
367	ld	%r11,88(%r1)
368	std	%r9,0(%r11)
369	ld	%r1,0(%r1)
370	ld	%r0,16(%r1)
371	mtlr	%r0
372	blr
373ASEND(lv1_construct_logical_spe)
374
375ASENTRY(lv1_set_spe_interrupt_mask)
376	mflr	%r0
377	std	%r0,16(%r1)
378	stdu	%r1,-48(%r1)
379	li	%r11,61
380	hc
381	extsw	%r3,%r3
382	ld	%r1,0(%r1)
383	ld	%r0,16(%r1)
384	mtlr	%r0
385	blr
386ASEND(lv1_set_spe_interrupt_mask)
387
388ASENTRY(lv1_disable_logical_spe)
389	mflr	%r0
390	std	%r0,16(%r1)
391	stdu	%r1,-48(%r1)
392	li	%r11,65
393	hc
394	extsw	%r3,%r3
395	ld	%r1,0(%r1)
396	ld	%r0,16(%r1)
397	mtlr	%r0
398	blr
399ASEND(lv1_disable_logical_spe)
400
401ASENTRY(lv1_clear_spe_interrupt_status)
402	mflr	%r0
403	std	%r0,16(%r1)
404	stdu	%r1,-48(%r1)
405	li	%r11,66
406	hc
407	extsw	%r3,%r3
408	ld	%r1,0(%r1)
409	ld	%r0,16(%r1)
410	mtlr	%r0
411	blr
412ASEND(lv1_clear_spe_interrupt_status)
413
414ASENTRY(lv1_get_spe_interrupt_status)
415	mflr	%r0
416	std	%r0,16(%r1)
417	stdu	%r1,-56(%r1)
418	std	%r5,48(%r1)
419	li	%r11,67
420	hc
421	extsw	%r3,%r3
422	ld	%r11,48(%r1)
423	std	%r4,0(%r11)
424	ld	%r1,0(%r1)
425	ld	%r0,16(%r1)
426	mtlr	%r0
427	blr
428ASEND(lv1_get_spe_interrupt_status)
429
430ASENTRY(lv1_get_logical_ppe_id)
431	mflr	%r0
432	std	%r0,16(%r1)
433	stdu	%r1,-56(%r1)
434	std	%r3,48(%r1)
435	li	%r11,69
436	hc
437	extsw	%r3,%r3
438	ld	%r11,48(%r1)
439	std	%r4,0(%r11)
440	ld	%r1,0(%r1)
441	ld	%r0,16(%r1)
442	mtlr	%r0
443	blr
444ASEND(lv1_get_logical_ppe_id)
445
446ASENTRY(lv1_get_logical_partition_id)
447	mflr	%r0
448	std	%r0,16(%r1)
449	stdu	%r1,-56(%r1)
450	std	%r3,48(%r1)
451	li	%r11,74
452	hc
453	extsw	%r3,%r3
454	ld	%r11,48(%r1)
455	std	%r4,0(%r11)
456	ld	%r1,0(%r1)
457	ld	%r0,16(%r1)
458	mtlr	%r0
459	blr
460ASEND(lv1_get_logical_partition_id)
461
462ASENTRY(lv1_get_spe_irq_outlet)
463	mflr	%r0
464	std	%r0,16(%r1)
465	stdu	%r1,-56(%r1)
466	std	%r5,48(%r1)
467	li	%r11,78
468	hc
469	extsw	%r3,%r3
470	ld	%r11,48(%r1)
471	std	%r4,0(%r11)
472	ld	%r1,0(%r1)
473	ld	%r0,16(%r1)
474	mtlr	%r0
475	blr
476ASEND(lv1_get_spe_irq_outlet)
477
478ASENTRY(lv1_set_spe_privilege_state_area_1_register)
479	mflr	%r0
480	std	%r0,16(%r1)
481	stdu	%r1,-48(%r1)
482	li	%r11,79
483	hc
484	extsw	%r3,%r3
485	ld	%r1,0(%r1)
486	ld	%r0,16(%r1)
487	mtlr	%r0
488	blr
489ASEND(lv1_set_spe_privilege_state_area_1_register)
490
491ASENTRY(lv1_get_repository_node_value)
492	mflr	%r0
493	std	%r0,16(%r1)
494	stdu	%r1,-64(%r1)
495	std	%r8,48(%r1)
496	std	%r9,56(%r1)
497	li	%r11,91
498	hc
499	extsw	%r3,%r3
500	ld	%r11,48(%r1)
501	std	%r4,0(%r11)
502	ld	%r11,56(%r1)
503	std	%r5,0(%r11)
504	ld	%r1,0(%r1)
505	ld	%r0,16(%r1)
506	mtlr	%r0
507	blr
508ASEND(lv1_get_repository_node_value)
509
510ASENTRY(lv1_read_htab_entries)
511	mflr	%r0
512	std	%r0,16(%r1)
513	stdu	%r1,-88(%r1)
514	std	%r5,48(%r1)
515	std	%r6,56(%r1)
516	std	%r7,64(%r1)
517	std	%r8,72(%r1)
518	std	%r9,80(%r1)
519	li	%r11,95
520	hc
521	extsw	%r3,%r3
522	ld	%r11,48(%r1)
523	std	%r4,0(%r11)
524	ld	%r11,56(%r1)
525	std	%r5,0(%r11)
526	ld	%r11,64(%r1)
527	std	%r6,0(%r11)
528	ld	%r11,72(%r1)
529	std	%r7,0(%r11)
530	ld	%r11,80(%r1)
531	std	%r8,0(%r11)
532	ld	%r1,0(%r1)
533	ld	%r0,16(%r1)
534	mtlr	%r0
535	blr
536ASEND(lv1_read_htab_entries)
537
538ASENTRY(lv1_set_dabr)
539	mflr	%r0
540	std	%r0,16(%r1)
541	stdu	%r1,-48(%r1)
542	li	%r11,96
543	hc
544	extsw	%r3,%r3
545	ld	%r1,0(%r1)
546	ld	%r0,16(%r1)
547	mtlr	%r0
548	blr
549ASEND(lv1_set_dabr)
550
551ASENTRY(lv1_allocate_io_segment)
552	mflr	%r0
553	std	%r0,16(%r1)
554	stdu	%r1,-56(%r1)
555	std	%r6,48(%r1)
556	li	%r11,116
557	hc
558	extsw	%r3,%r3
559	ld	%r11,48(%r1)
560	std	%r4,0(%r11)
561	ld	%r1,0(%r1)
562	ld	%r0,16(%r1)
563	mtlr	%r0
564	blr
565ASEND(lv1_allocate_io_segment)
566
567ASENTRY(lv1_release_io_segment)
568	mflr	%r0
569	std	%r0,16(%r1)
570	stdu	%r1,-48(%r1)
571	li	%r11,117
572	hc
573	extsw	%r3,%r3
574	ld	%r1,0(%r1)
575	ld	%r0,16(%r1)
576	mtlr	%r0
577	blr
578ASEND(lv1_release_io_segment)
579
580ASENTRY(lv1_construct_io_irq_outlet)
581	mflr	%r0
582	std	%r0,16(%r1)
583	stdu	%r1,-56(%r1)
584	std	%r4,48(%r1)
585	li	%r11,120
586	hc
587	extsw	%r3,%r3
588	ld	%r11,48(%r1)
589	std	%r4,0(%r11)
590	ld	%r1,0(%r1)
591	ld	%r0,16(%r1)
592	mtlr	%r0
593	blr
594ASEND(lv1_construct_io_irq_outlet)
595
596ASENTRY(lv1_destruct_io_irq_outlet)
597	mflr	%r0
598	std	%r0,16(%r1)
599	stdu	%r1,-48(%r1)
600	li	%r11,121
601	hc
602	extsw	%r3,%r3
603	ld	%r1,0(%r1)
604	ld	%r0,16(%r1)
605	mtlr	%r0
606	blr
607ASEND(lv1_destruct_io_irq_outlet)
608
609ASENTRY(lv1_map_htab)
610	mflr	%r0
611	std	%r0,16(%r1)
612	stdu	%r1,-56(%r1)
613	std	%r4,48(%r1)
614	li	%r11,122
615	hc
616	extsw	%r3,%r3
617	ld	%r11,48(%r1)
618	std	%r4,0(%r11)
619	ld	%r1,0(%r1)
620	ld	%r0,16(%r1)
621	mtlr	%r0
622	blr
623ASEND(lv1_map_htab)
624
625ASENTRY(lv1_unmap_htab)
626	mflr	%r0
627	std	%r0,16(%r1)
628	stdu	%r1,-48(%r1)
629	li	%r11,123
630	hc
631	extsw	%r3,%r3
632	ld	%r1,0(%r1)
633	ld	%r0,16(%r1)
634	mtlr	%r0
635	blr
636ASEND(lv1_unmap_htab)
637
638ASENTRY(lv1_get_version_info)
639	mflr	%r0
640	std	%r0,16(%r1)
641	stdu	%r1,-56(%r1)
642	std	%r3,48(%r1)
643	li	%r11,127
644	hc
645	extsw	%r3,%r3
646	ld	%r11,48(%r1)
647	std	%r4,0(%r11)
648	ld	%r1,0(%r1)
649	ld	%r0,16(%r1)
650	mtlr	%r0
651	blr
652ASEND(lv1_get_version_info)
653
654ASENTRY(lv1_insert_htab_entry)
655	mflr	%r0
656	std	%r0,16(%r1)
657	stdu	%r1,-72(%r1)
658	std	%r9,48(%r1)
659	std	%r10,56(%r1)
660	ld	%r11,184(%r1)
661	std	%r11,64(%r1)
662	li	%r11,158
663	hc
664	extsw	%r3,%r3
665	ld	%r11,48(%r1)
666	std	%r4,0(%r11)
667	ld	%r11,56(%r1)
668	std	%r5,0(%r11)
669	ld	%r11,64(%r1)
670	std	%r6,0(%r11)
671	ld	%r1,0(%r1)
672	ld	%r0,16(%r1)
673	mtlr	%r0
674	blr
675ASEND(lv1_insert_htab_entry)
676
677ASENTRY(lv1_read_virtual_uart)
678	mflr	%r0
679	std	%r0,16(%r1)
680	stdu	%r1,-56(%r1)
681	std	%r6,48(%r1)
682	li	%r11,162
683	hc
684	extsw	%r3,%r3
685	ld	%r11,48(%r1)
686	std	%r4,0(%r11)
687	ld	%r1,0(%r1)
688	ld	%r0,16(%r1)
689	mtlr	%r0
690	blr
691ASEND(lv1_read_virtual_uart)
692
693ASENTRY(lv1_write_virtual_uart)
694	mflr	%r0
695	std	%r0,16(%r1)
696	stdu	%r1,-56(%r1)
697	std	%r6,48(%r1)
698	li	%r11,163
699	hc
700	extsw	%r3,%r3
701	ld	%r11,48(%r1)
702	std	%r4,0(%r11)
703	ld	%r1,0(%r1)
704	ld	%r0,16(%r1)
705	mtlr	%r0
706	blr
707ASEND(lv1_write_virtual_uart)
708
709ASENTRY(lv1_set_virtual_uart_param)
710	mflr	%r0
711	std	%r0,16(%r1)
712	stdu	%r1,-48(%r1)
713	li	%r11,164
714	hc
715	extsw	%r3,%r3
716	ld	%r1,0(%r1)
717	ld	%r0,16(%r1)
718	mtlr	%r0
719	blr
720ASEND(lv1_set_virtual_uart_param)
721
722ASENTRY(lv1_get_virtual_uart_param)
723	mflr	%r0
724	std	%r0,16(%r1)
725	stdu	%r1,-56(%r1)
726	std	%r5,48(%r1)
727	li	%r11,165
728	hc
729	extsw	%r3,%r3
730	ld	%r11,48(%r1)
731	std	%r4,0(%r11)
732	ld	%r1,0(%r1)
733	ld	%r0,16(%r1)
734	mtlr	%r0
735	blr
736ASEND(lv1_get_virtual_uart_param)
737
738ASENTRY(lv1_configure_virtual_uart)
739	mflr	%r0
740	std	%r0,16(%r1)
741	stdu	%r1,-56(%r1)
742	std	%r4,48(%r1)
743	li	%r11,166
744	hc
745	extsw	%r3,%r3
746	ld	%r11,48(%r1)
747	std	%r4,0(%r11)
748	ld	%r1,0(%r1)
749	ld	%r0,16(%r1)
750	mtlr	%r0
751	blr
752ASEND(lv1_configure_virtual_uart)
753
754ASENTRY(lv1_open_device)
755	mflr	%r0
756	std	%r0,16(%r1)
757	stdu	%r1,-48(%r1)
758	li	%r11,170
759	hc
760	extsw	%r3,%r3
761	ld	%r1,0(%r1)
762	ld	%r0,16(%r1)
763	mtlr	%r0
764	blr
765ASEND(lv1_open_device)
766
767ASENTRY(lv1_close_device)
768	mflr	%r0
769	std	%r0,16(%r1)
770	stdu	%r1,-48(%r1)
771	li	%r11,171
772	hc
773	extsw	%r3,%r3
774	ld	%r1,0(%r1)
775	ld	%r0,16(%r1)
776	mtlr	%r0
777	blr
778ASEND(lv1_close_device)
779
780ASENTRY(lv1_map_device_mmio_region)
781	mflr	%r0
782	std	%r0,16(%r1)
783	stdu	%r1,-56(%r1)
784	std	%r8,48(%r1)
785	li	%r11,172
786	hc
787	extsw	%r3,%r3
788	ld	%r11,48(%r1)
789	std	%r4,0(%r11)
790	ld	%r1,0(%r1)
791	ld	%r0,16(%r1)
792	mtlr	%r0
793	blr
794ASEND(lv1_map_device_mmio_region)
795
796ASENTRY(lv1_unmap_device_mmio_region)
797	mflr	%r0
798	std	%r0,16(%r1)
799	stdu	%r1,-48(%r1)
800	li	%r11,173
801	hc
802	extsw	%r3,%r3
803	ld	%r1,0(%r1)
804	ld	%r0,16(%r1)
805	mtlr	%r0
806	blr
807ASEND(lv1_unmap_device_mmio_region)
808
809ASENTRY(lv1_allocate_device_dma_region)
810	mflr	%r0
811	std	%r0,16(%r1)
812	stdu	%r1,-56(%r1)
813	std	%r8,48(%r1)
814	li	%r11,174
815	hc
816	extsw	%r3,%r3
817	ld	%r11,48(%r1)
818	std	%r4,0(%r11)
819	ld	%r1,0(%r1)
820	ld	%r0,16(%r1)
821	mtlr	%r0
822	blr
823ASEND(lv1_allocate_device_dma_region)
824
825ASENTRY(lv1_free_device_dma_region)
826	mflr	%r0
827	std	%r0,16(%r1)
828	stdu	%r1,-48(%r1)
829	li	%r11,175
830	hc
831	extsw	%r3,%r3
832	ld	%r1,0(%r1)
833	ld	%r0,16(%r1)
834	mtlr	%r0
835	blr
836ASEND(lv1_free_device_dma_region)
837
838ASENTRY(lv1_map_device_dma_region)
839	mflr	%r0
840	std	%r0,16(%r1)
841	stdu	%r1,-48(%r1)
842	li	%r11,176
843	hc
844	extsw	%r3,%r3
845	ld	%r1,0(%r1)
846	ld	%r0,16(%r1)
847	mtlr	%r0
848	blr
849ASEND(lv1_map_device_dma_region)
850
851ASENTRY(lv1_unmap_device_dma_region)
852	mflr	%r0
853	std	%r0,16(%r1)
854	stdu	%r1,-48(%r1)
855	li	%r11,177
856	hc
857	extsw	%r3,%r3
858	ld	%r1,0(%r1)
859	ld	%r0,16(%r1)
860	mtlr	%r0
861	blr
862ASEND(lv1_unmap_device_dma_region)
863
864ASENTRY(lv1_read_pci_config)
865	mflr	%r0
866	std	%r0,16(%r1)
867	stdu	%r1,-56(%r1)
868	std	%r9,48(%r1)
869	li	%r11,178
870	hc
871	extsw	%r3,%r3
872	ld	%r11,48(%r1)
873	std	%r4,0(%r11)
874	ld	%r1,0(%r1)
875	ld	%r0,16(%r1)
876	mtlr	%r0
877	blr
878ASEND(lv1_read_pci_config)
879
880ASENTRY(lv1_write_pci_config)
881	mflr	%r0
882	std	%r0,16(%r1)
883	stdu	%r1,-48(%r1)
884	li	%r11,179
885	hc
886	extsw	%r3,%r3
887	ld	%r1,0(%r1)
888	ld	%r0,16(%r1)
889	mtlr	%r0
890	blr
891ASEND(lv1_write_pci_config)
892
893ASENTRY(lv1_net_add_multicast_address)
894	mflr	%r0
895	std	%r0,16(%r1)
896	stdu	%r1,-48(%r1)
897	li	%r11,185
898	hc
899	extsw	%r3,%r3
900	ld	%r1,0(%r1)
901	ld	%r0,16(%r1)
902	mtlr	%r0
903	blr
904ASEND(lv1_net_add_multicast_address)
905
906ASENTRY(lv1_net_remove_multicast_address)
907	mflr	%r0
908	std	%r0,16(%r1)
909	stdu	%r1,-48(%r1)
910	li	%r11,186
911	hc
912	extsw	%r3,%r3
913	ld	%r1,0(%r1)
914	ld	%r0,16(%r1)
915	mtlr	%r0
916	blr
917ASEND(lv1_net_remove_multicast_address)
918
919ASENTRY(lv1_net_start_tx_dma)
920	mflr	%r0
921	std	%r0,16(%r1)
922	stdu	%r1,-48(%r1)
923	li	%r11,187
924	hc
925	extsw	%r3,%r3
926	ld	%r1,0(%r1)
927	ld	%r0,16(%r1)
928	mtlr	%r0
929	blr
930ASEND(lv1_net_start_tx_dma)
931
932ASENTRY(lv1_net_stop_tx_dma)
933	mflr	%r0
934	std	%r0,16(%r1)
935	stdu	%r1,-48(%r1)
936	li	%r11,188
937	hc
938	extsw	%r3,%r3
939	ld	%r1,0(%r1)
940	ld	%r0,16(%r1)
941	mtlr	%r0
942	blr
943ASEND(lv1_net_stop_tx_dma)
944
945ASENTRY(lv1_net_start_rx_dma)
946	mflr	%r0
947	std	%r0,16(%r1)
948	stdu	%r1,-48(%r1)
949	li	%r11,189
950	hc
951	extsw	%r3,%r3
952	ld	%r1,0(%r1)
953	ld	%r0,16(%r1)
954	mtlr	%r0
955	blr
956ASEND(lv1_net_start_rx_dma)
957
958ASENTRY(lv1_net_stop_rx_dma)
959	mflr	%r0
960	std	%r0,16(%r1)
961	stdu	%r1,-48(%r1)
962	li	%r11,190
963	hc
964	extsw	%r3,%r3
965	ld	%r1,0(%r1)
966	ld	%r0,16(%r1)
967	mtlr	%r0
968	blr
969ASEND(lv1_net_stop_rx_dma)
970
971ASENTRY(lv1_net_set_interrupt_status_indicator)
972	mflr	%r0
973	std	%r0,16(%r1)
974	stdu	%r1,-48(%r1)
975	li	%r11,191
976	hc
977	extsw	%r3,%r3
978	ld	%r1,0(%r1)
979	ld	%r0,16(%r1)
980	mtlr	%r0
981	blr
982ASEND(lv1_net_set_interrupt_status_indicator)
983
984ASENTRY(lv1_net_set_interrupt_mask)
985	mflr	%r0
986	std	%r0,16(%r1)
987	stdu	%r1,-48(%r1)
988	li	%r11,193
989	hc
990	extsw	%r3,%r3
991	ld	%r1,0(%r1)
992	ld	%r0,16(%r1)
993	mtlr	%r0
994	blr
995ASEND(lv1_net_set_interrupt_mask)
996
997ASENTRY(lv1_net_control)
998	mflr	%r0
999	std	%r0,16(%r1)
1000	stdu	%r1,-64(%r1)
1001	std	%r9,48(%r1)
1002	std	%r10,56(%r1)
1003	li	%r11,194
1004	hc
1005	extsw	%r3,%r3
1006	ld	%r11,48(%r1)
1007	std	%r4,0(%r11)
1008	ld	%r11,56(%r1)
1009	std	%r5,0(%r11)
1010	ld	%r1,0(%r1)
1011	ld	%r0,16(%r1)
1012	mtlr	%r0
1013	blr
1014ASEND(lv1_net_control)
1015
1016ASENTRY(lv1_connect_interrupt_event_receive_port)
1017	mflr	%r0
1018	std	%r0,16(%r1)
1019	stdu	%r1,-48(%r1)
1020	li	%r11,197
1021	hc
1022	extsw	%r3,%r3
1023	ld	%r1,0(%r1)
1024	ld	%r0,16(%r1)
1025	mtlr	%r0
1026	blr
1027ASEND(lv1_connect_interrupt_event_receive_port)
1028
1029ASENTRY(lv1_disconnect_interrupt_event_receive_port)
1030	mflr	%r0
1031	std	%r0,16(%r1)
1032	stdu	%r1,-48(%r1)
1033	li	%r11,198
1034	hc
1035	extsw	%r3,%r3
1036	ld	%r1,0(%r1)
1037	ld	%r0,16(%r1)
1038	mtlr	%r0
1039	blr
1040ASEND(lv1_disconnect_interrupt_event_receive_port)
1041
1042ASENTRY(lv1_deconfigure_virtual_uart_irq)
1043	mflr	%r0
1044	std	%r0,16(%r1)
1045	stdu	%r1,-48(%r1)
1046	li	%r11,202
1047	hc
1048	extsw	%r3,%r3
1049	ld	%r1,0(%r1)
1050	ld	%r0,16(%r1)
1051	mtlr	%r0
1052	blr
1053ASEND(lv1_deconfigure_virtual_uart_irq)
1054
1055ASENTRY(lv1_enable_logical_spe)
1056	mflr	%r0
1057	std	%r0,16(%r1)
1058	stdu	%r1,-48(%r1)
1059	li	%r11,207
1060	hc
1061	extsw	%r3,%r3
1062	ld	%r1,0(%r1)
1063	ld	%r0,16(%r1)
1064	mtlr	%r0
1065	blr
1066ASEND(lv1_enable_logical_spe)
1067
1068ASENTRY(lv1_gpu_open)
1069	mflr	%r0
1070	std	%r0,16(%r1)
1071	stdu	%r1,-48(%r1)
1072	li	%r11,210
1073	hc
1074	extsw	%r3,%r3
1075	ld	%r1,0(%r1)
1076	ld	%r0,16(%r1)
1077	mtlr	%r0
1078	blr
1079ASEND(lv1_gpu_open)
1080
1081ASENTRY(lv1_gpu_close)
1082	mflr	%r0
1083	std	%r0,16(%r1)
1084	stdu	%r1,-48(%r1)
1085	li	%r11,211
1086	hc
1087	extsw	%r3,%r3
1088	ld	%r1,0(%r1)
1089	ld	%r0,16(%r1)
1090	mtlr	%r0
1091	blr
1092ASEND(lv1_gpu_close)
1093
1094ASENTRY(lv1_gpu_device_map)
1095	mflr	%r0
1096	std	%r0,16(%r1)
1097	stdu	%r1,-64(%r1)
1098	std	%r4,48(%r1)
1099	std	%r5,56(%r1)
1100	li	%r11,212
1101	hc
1102	extsw	%r3,%r3
1103	ld	%r11,48(%r1)
1104	std	%r4,0(%r11)
1105	ld	%r11,56(%r1)
1106	std	%r5,0(%r11)
1107	ld	%r1,0(%r1)
1108	ld	%r0,16(%r1)
1109	mtlr	%r0
1110	blr
1111ASEND(lv1_gpu_device_map)
1112
1113ASENTRY(lv1_gpu_device_unmap)
1114	mflr	%r0
1115	std	%r0,16(%r1)
1116	stdu	%r1,-48(%r1)
1117	li	%r11,213
1118	hc
1119	extsw	%r3,%r3
1120	ld	%r1,0(%r1)
1121	ld	%r0,16(%r1)
1122	mtlr	%r0
1123	blr
1124ASEND(lv1_gpu_device_unmap)
1125
1126ASENTRY(lv1_gpu_memory_allocate)
1127	mflr	%r0
1128	std	%r0,16(%r1)
1129	stdu	%r1,-64(%r1)
1130	std	%r8,48(%r1)
1131	std	%r9,56(%r1)
1132	li	%r11,214
1133	hc
1134	extsw	%r3,%r3
1135	ld	%r11,48(%r1)
1136	std	%r4,0(%r11)
1137	ld	%r11,56(%r1)
1138	std	%r5,0(%r11)
1139	ld	%r1,0(%r1)
1140	ld	%r0,16(%r1)
1141	mtlr	%r0
1142	blr
1143ASEND(lv1_gpu_memory_allocate)
1144
1145ASENTRY(lv1_gpu_memory_free)
1146	mflr	%r0
1147	std	%r0,16(%r1)
1148	stdu	%r1,-48(%r1)
1149	li	%r11,216
1150	hc
1151	extsw	%r3,%r3
1152	ld	%r1,0(%r1)
1153	ld	%r0,16(%r1)
1154	mtlr	%r0
1155	blr
1156ASEND(lv1_gpu_memory_free)
1157
1158ASENTRY(lv1_gpu_context_allocate)
1159	mflr	%r0
1160	std	%r0,16(%r1)
1161	stdu	%r1,-88(%r1)
1162	std	%r5,48(%r1)
1163	std	%r6,56(%r1)
1164	std	%r7,64(%r1)
1165	std	%r8,72(%r1)
1166	std	%r9,80(%r1)
1167	li	%r11,217
1168	hc
1169	extsw	%r3,%r3
1170	ld	%r11,48(%r1)
1171	std	%r4,0(%r11)
1172	ld	%r11,56(%r1)
1173	std	%r5,0(%r11)
1174	ld	%r11,64(%r1)
1175	std	%r6,0(%r11)
1176	ld	%r11,72(%r1)
1177	std	%r7,0(%r11)
1178	ld	%r11,80(%r1)
1179	std	%r8,0(%r11)
1180	ld	%r1,0(%r1)
1181	ld	%r0,16(%r1)
1182	mtlr	%r0
1183	blr
1184ASEND(lv1_gpu_context_allocate)
1185
1186ASENTRY(lv1_gpu_context_free)
1187	mflr	%r0
1188	std	%r0,16(%r1)
1189	stdu	%r1,-48(%r1)
1190	li	%r11,218
1191	hc
1192	extsw	%r3,%r3
1193	ld	%r1,0(%r1)
1194	ld	%r0,16(%r1)
1195	mtlr	%r0
1196	blr
1197ASEND(lv1_gpu_context_free)
1198
1199ASENTRY(lv1_gpu_context_iomap)
1200	mflr	%r0
1201	std	%r0,16(%r1)
1202	stdu	%r1,-48(%r1)
1203	li	%r11,221
1204	hc
1205	extsw	%r3,%r3
1206	ld	%r1,0(%r1)
1207	ld	%r0,16(%r1)
1208	mtlr	%r0
1209	blr
1210ASEND(lv1_gpu_context_iomap)
1211
1212ASENTRY(lv1_gpu_context_attribute)
1213	mflr	%r0
1214	std	%r0,16(%r1)
1215	stdu	%r1,-48(%r1)
1216	li	%r11,225
1217	hc
1218	extsw	%r3,%r3
1219	ld	%r1,0(%r1)
1220	ld	%r0,16(%r1)
1221	mtlr	%r0
1222	blr
1223ASEND(lv1_gpu_context_attribute)
1224
1225ASENTRY(lv1_gpu_context_intr)
1226	mflr	%r0
1227	std	%r0,16(%r1)
1228	stdu	%r1,-56(%r1)
1229	std	%r4,48(%r1)
1230	li	%r11,227
1231	hc
1232	extsw	%r3,%r3
1233	ld	%r11,48(%r1)
1234	std	%r4,0(%r11)
1235	ld	%r1,0(%r1)
1236	ld	%r0,16(%r1)
1237	mtlr	%r0
1238	blr
1239ASEND(lv1_gpu_context_intr)
1240
1241ASENTRY(lv1_gpu_attribute)
1242	mflr	%r0
1243	std	%r0,16(%r1)
1244	stdu	%r1,-48(%r1)
1245	li	%r11,228
1246	hc
1247	extsw	%r3,%r3
1248	ld	%r1,0(%r1)
1249	ld	%r0,16(%r1)
1250	mtlr	%r0
1251	blr
1252ASEND(lv1_gpu_attribute)
1253
1254ASENTRY(lv1_get_rtc)
1255	mflr	%r0
1256	std	%r0,16(%r1)
1257	stdu	%r1,-64(%r1)
1258	std	%r3,48(%r1)
1259	std	%r4,56(%r1)
1260	li	%r11,232
1261	hc
1262	extsw	%r3,%r3
1263	ld	%r11,48(%r1)
1264	std	%r4,0(%r11)
1265	ld	%r11,56(%r1)
1266	std	%r5,0(%r11)
1267	ld	%r1,0(%r1)
1268	ld	%r0,16(%r1)
1269	mtlr	%r0
1270	blr
1271ASEND(lv1_get_rtc)
1272
1273ASENTRY(lv1_storage_read)
1274	mflr	%r0
1275	std	%r0,16(%r1)
1276	stdu	%r1,-56(%r1)
1277	std	%r9,48(%r1)
1278	li	%r11,245
1279	hc
1280	extsw	%r3,%r3
1281	ld	%r11,48(%r1)
1282	std	%r4,0(%r11)
1283	ld	%r1,0(%r1)
1284	ld	%r0,16(%r1)
1285	mtlr	%r0
1286	blr
1287ASEND(lv1_storage_read)
1288
1289ASENTRY(lv1_storage_write)
1290	mflr	%r0
1291	std	%r0,16(%r1)
1292	stdu	%r1,-56(%r1)
1293	std	%r9,48(%r1)
1294	li	%r11,246
1295	hc
1296	extsw	%r3,%r3
1297	ld	%r11,48(%r1)
1298	std	%r4,0(%r11)
1299	ld	%r1,0(%r1)
1300	ld	%r0,16(%r1)
1301	mtlr	%r0
1302	blr
1303ASEND(lv1_storage_write)
1304
1305ASENTRY(lv1_storage_send_device_command)
1306	mflr	%r0
1307	std	%r0,16(%r1)
1308	stdu	%r1,-56(%r1)
1309	std	%r9,48(%r1)
1310	li	%r11,248
1311	hc
1312	extsw	%r3,%r3
1313	ld	%r11,48(%r1)
1314	std	%r4,0(%r11)
1315	ld	%r1,0(%r1)
1316	ld	%r0,16(%r1)
1317	mtlr	%r0
1318	blr
1319ASEND(lv1_storage_send_device_command)
1320
1321ASENTRY(lv1_storage_get_async_status)
1322	mflr	%r0
1323	std	%r0,16(%r1)
1324	stdu	%r1,-64(%r1)
1325	std	%r4,48(%r1)
1326	std	%r5,56(%r1)
1327	li	%r11,249
1328	hc
1329	extsw	%r3,%r3
1330	ld	%r11,48(%r1)
1331	std	%r4,0(%r11)
1332	ld	%r11,56(%r1)
1333	std	%r5,0(%r11)
1334	ld	%r1,0(%r1)
1335	ld	%r0,16(%r1)
1336	mtlr	%r0
1337	blr
1338ASEND(lv1_storage_get_async_status)
1339
1340ASENTRY(lv1_storage_check_async_status)
1341	mflr	%r0
1342	std	%r0,16(%r1)
1343	stdu	%r1,-56(%r1)
1344	std	%r5,48(%r1)
1345	li	%r11,254
1346	hc
1347	extsw	%r3,%r3
1348	ld	%r11,48(%r1)
1349	std	%r4,0(%r11)
1350	ld	%r1,0(%r1)
1351	ld	%r0,16(%r1)
1352	mtlr	%r0
1353	blr
1354ASEND(lv1_storage_check_async_status)
1355
1356ASENTRY(lv1_panic)
1357	mflr	%r0
1358	std	%r0,16(%r1)
1359	stdu	%r1,-48(%r1)
1360	li	%r11,255
1361	hc
1362	extsw	%r3,%r3
1363	ld	%r1,0(%r1)
1364	ld	%r0,16(%r1)
1365	mtlr	%r0
1366	blr
1367ASEND(lv1_panic)
1368