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