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