ps3-hvcall.S 20 KB

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