Lines Matching refs:a0
154 rsr a0, EPC_1 + \level - 1 /* return address */
156 or a0, a0, a4 /* set top 2 bits */
157 addx2 a0, a4, a0 /* clear top bit -- simulating call4 size */
312 addi a4, a0, -3 /* point to call0 */
405 wsr a0, EXCSAVE+XCHAL_DEBUGLEVEL /* save original a0 somewhere */
453 wsr a0, EXCSAVE_1 /* preserve a0 */
484 wsr a0, EXCSAVE_1 /* preserve a0 */
533 rsr a0, EXCCAUSE
534 beqi a0, EXCCAUSE_LEVEL1_INTERRUPT, _xt_lowint1
540 bgeui a0, EXCCAUSE_CP0_DISABLED, _xt_to_coproc_exc
545 beqi a0, EXCCAUSE_ALLOCA, _xt_to_alloca_exc
547 beqi a0, EXCCAUSE_SYSCALL, _xt_to_syscall_exc
553 mov a0, sp
555 s32i a0, sp, XT_STK_A1
557 s32e a0, sp, -12 /* for debug backtrace */
559 rsr a0, PS /* save interruptee's PS */
560 s32i a0, sp, XT_STK_PS
561 rsr a0, EPC_1 /* save interruptee's PC */
562 s32i a0, sp, XT_STK_PC
563 rsr a0, EXCSAVE_1 /* save interruptee's a0 */
564 s32i a0, sp, XT_STK_A0
566 s32e a0, sp, -16 /* for debug backtrace */
573 rsr a0, EXCCAUSE
574 s32i a0, sp, XT_STK_EXCCAUSE
575 rsr a0, EXCVADDR
576 s32i a0, sp, XT_STK_EXCVADDR
580 movi a0, PS_INTLEVEL(XCHAL_EXCM_LEVEL) | PS_UM
582 movi a0, PS_INTLEVEL(XCHAL_EXCM_LEVEL) | PS_UM | PS_WOE
584 wsr a0, PS
588 rsr a0, EPC_1 /* return address for debug backtrace */
591 or a0, a0, a5 /* set top 2 bits */
592 addx2 a0, a5, a0 /* clear top bit -- thus simulating call4 size */
637 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
638 wsr a0, PS
639 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
640 wsr a0, EPC_1
641 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
658 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
659 wsr a0, PS
660 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
661 wsr a0, EPC_1
662 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
714 rsr a0, LEND /* if (PC == LEND */
715 bne a3, a0, 1f
716 rsr a0, LCOUNT /* && LCOUNT != 0) */
717 beqz a0, 1f /* { */
718 addi a0, a0, -1 /* --LCOUNT */
720 wsr a0, LCOUNT /* } */
733 movi a0, -1
734 movnez a2, a0, a2 /* return -1 if not syscall 0 */
735 rsr a0, EXCSAVE_1
750 mov a0, sp /* sp == a1 */
752 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
753 rsr a0, PS /* save interruptee's PS */
754 s32i a0, sp, XT_STK_PS
755 rsr a0, EPC_1 /* save interruptee's PC */
756 s32i a0, sp, XT_STK_PC
757 rsr a0, EXCSAVE_1 /* save interruptee's a0 */
758 s32i a0, sp, XT_STK_A0
759 movi a0, _xt_user_exit /* save exit point for dispatch */
760 s32i a0, sp, XT_STK_EXIT
769 movi a0, PS_INTLEVEL(1) | PS_UM
771 movi a0, PS_INTLEVEL(1) | PS_UM | PS_WOE
773 wsr a0, PS
820 wsr a0, EXCSAVE_2 /* preserve a0 */
830 mov a0, sp /* sp == a1 */
832 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
833 rsr a0, EPS_2 /* save interruptee's PS */
834 s32i a0, sp, XT_STK_PS
835 rsr a0, EPC_2 /* save interruptee's PC */
836 s32i a0, sp, XT_STK_PC
837 rsr a0, EXCSAVE_2 /* save interruptee's a0 */
838 s32i a0, sp, XT_STK_A0
839 movi a0, _xt_medint2_exit /* save exit point for dispatch */
840 s32i a0, sp, XT_STK_EXIT
849 movi a0, PS_INTLEVEL(2) | PS_UM
851 movi a0, PS_INTLEVEL(2) | PS_UM | PS_WOE
853 wsr a0, PS
872 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
873 wsr a0, EPS_2
874 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
875 wsr a0, EPC_2
876 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
891 wsr a0, EXCSAVE_3 /* preserve a0 */
901 mov a0, sp /* sp == a1 */
903 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
904 rsr a0, EPS_3 /* save interruptee's PS */
905 s32i a0, sp, XT_STK_PS
906 rsr a0, EPC_3 /* save interruptee's PC */
907 s32i a0, sp, XT_STK_PC
908 rsr a0, EXCSAVE_3 /* save interruptee's a0 */
909 s32i a0, sp, XT_STK_A0
910 movi a0, _xt_medint3_exit /* save exit point for dispatch */
911 s32i a0, sp, XT_STK_EXIT
920 movi a0, PS_INTLEVEL(3) | PS_UM
922 movi a0, PS_INTLEVEL(3) | PS_UM | PS_WOE
924 wsr a0, PS
943 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
944 wsr a0, EPS_3
945 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
946 wsr a0, EPC_3
947 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
962 wsr a0, EXCSAVE_4 /* preserve a0 */
971 mov a0, sp /* sp == a1 */
973 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
974 rsr a0, EPS_4 /* save interruptee's PS */
975 s32i a0, sp, XT_STK_PS
976 rsr a0, EPC_4 /* save interruptee's PC */
977 s32i a0, sp, XT_STK_PC
978 rsr a0, EXCSAVE_4 /* save interruptee's a0 */
979 s32i a0, sp, XT_STK_A0
980 movi a0, _xt_medint4_exit /* save exit point for dispatch */
981 s32i a0, sp, XT_STK_EXIT
990 movi a0, PS_INTLEVEL(4) | PS_UM
992 movi a0, PS_INTLEVEL(4) | PS_UM | PS_WOE
994 wsr a0, PS
1013 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
1014 wsr a0, EPS_4
1015 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
1016 wsr a0, EPC_4
1017 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
1032 wsr a0, EXCSAVE_5 /* preserve a0 */
1041 mov a0, sp /* sp == a1 */
1043 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
1044 rsr a0, EPS_5 /* save interruptee's PS */
1045 s32i a0, sp, XT_STK_PS
1046 rsr a0, EPC_5 /* save interruptee's PC */
1047 s32i a0, sp, XT_STK_PC
1048 rsr a0, EXCSAVE_5 /* save interruptee's a0 */
1049 s32i a0, sp, XT_STK_A0
1050 movi a0, _xt_medint5_exit /* save exit point for dispatch */
1051 s32i a0, sp, XT_STK_EXIT
1060 movi a0, PS_INTLEVEL(5) | PS_UM
1062 movi a0, PS_INTLEVEL(5) | PS_UM | PS_WOE
1064 wsr a0, PS
1083 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
1084 wsr a0, EPS_5
1085 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
1086 wsr a0, EPC_5
1087 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
1102 wsr a0, EXCSAVE_6 /* preserve a0 */
1111 mov a0, sp /* sp == a1 */
1113 s32i a0, sp, XT_STK_A1 /* save pre-interrupt SP */
1114 rsr a0, EPS_6 /* save interruptee's PS */
1115 s32i a0, sp, XT_STK_PS
1116 rsr a0, EPC_6 /* save interruptee's PC */
1117 s32i a0, sp, XT_STK_PC
1118 rsr a0, EXCSAVE_6 /* save interruptee's a0 */
1119 s32i a0, sp, XT_STK_A0
1120 movi a0, _xt_medint6_exit /* save exit point for dispatch */
1121 s32i a0, sp, XT_STK_EXIT
1130 movi a0, PS_INTLEVEL(6) | PS_UM
1132 movi a0, PS_INTLEVEL(6) | PS_UM | PS_WOE
1134 wsr a0, PS
1153 l32i a0, sp, XT_STK_PS /* retrieve interruptee's PS */
1154 wsr a0, EPS_6
1155 l32i a0, sp, XT_STK_PC /* retrieve interruptee's PC */
1156 wsr a0, EPC_6
1157 l32i a0, sp, XT_STK_A0 /* retrieve interruptee's A0 */
1211 wsr a0, EXCSAVE_2 /* preserve a0 */
1223 movi a0, _xt_intexc_hooks
1224 l32i a0, a0, 2<<2
1225 beqz a0, 1f
1227 callx0 a0 /* must NOT disturb stack! */
1237 rsr a0, EXCSAVE_2 /* restore a0 */
1250 wsr a0, EXCSAVE_3 /* preserve a0 */
1263 movi a0, _xt_intexc_hooks
1264 l32i a0, a0, 3<<2
1265 beqz a0, 1f
1267 callx0 a0 /* must NOT disturb stack! */
1277 rsr a0, EXCSAVE_3 /* restore a0 */
1290 wsr a0, EXCSAVE_4 /* preserve a0 */
1303 movi a0, _xt_intexc_hooks
1304 l32i a0, a0, 4<<2
1305 beqz a0, 1f
1307 callx0 a0 /* must NOT disturb stack! */
1317 rsr a0, EXCSAVE_4 /* restore a0 */
1330 wsr a0, EXCSAVE_5 /* preserve a0 */
1343 movi a0, _xt_intexc_hooks
1344 l32i a0, a0, 5<<2
1345 beqz a0, 1f
1347 callx0 a0 /* must NOT disturb stack! */
1357 rsr a0, EXCSAVE_5 /* restore a0 */
1370 wsr a0, EXCSAVE_6 /* preserve a0 */
1383 movi a0, _xt_intexc_hooks
1384 l32i a0, a0, 6<<2
1385 beqz a0, 1f
1387 callx0 a0 /* must NOT disturb stack! */
1397 rsr a0, EXCSAVE_6 /* restore a0 */
1410 wsr a0, EXCSAVE + XCHAL_NMILEVEL _ /* preserve a0 */
1423 movi a0, _xt_intexc_hooks
1424 l32i a0, a0, XCHAL_NMILEVEL<<2
1425 beqz a0, 1f
1427 callx0 a0 /* must NOT disturb stack! */
1437 rsr a0, EXCSAVE + XCHAL_NMILEVEL /* restore a0 */
1496 s32e a0, a5, -16 /* save a0 to call[j+1]'s stack frame */
1521 l32e a0, a5, -16 /* restore a0 from call[i+1]'s stack frame */
1544 rsr a0, WINDOWBASE /* grab WINDOWBASE before rotw changes it */
1580 s32e a0, a9, -16 /* save a0 to call[j+1]'s stack frame */
1581 l32e a0, a1, -12 /* a0 <- call[j-1]'s sp
1586 s32e a4, a0, -32 /* save a4 to call[j]'s stack frame */
1587 s32e a5, a0, -28 /* save a5 to call[j]'s stack frame */
1588 s32e a6, a0, -24 /* save a6 to call[j]'s stack frame */
1589 s32e a7, a0, -20 /* save a7 to call[j]'s stack frame */
1611 l32e a0, a9, -16 /* restore a0 from call[i+1]'s stack frame */
1642 s32e a0, a13, -16 /* save a0 to call[j+1]'s stack frame */
1643 l32e a0, a1, -12 /* a0 <- call[j-1]'s sp
1648 s32e a4, a0, -48 /* save a4 to end of call[j]'s stack frame */
1649 s32e a5, a0, -44 /* save a5 to end of call[j]'s stack frame */
1650 s32e a6, a0, -40 /* save a6 to end of call[j]'s stack frame */
1651 s32e a7, a0, -36 /* save a7 to end of call[j]'s stack frame */
1652 s32e a8, a0, -32 /* save a8 to end of call[j]'s stack frame */
1653 s32e a9, a0, -28 /* save a9 to end of call[j]'s stack frame */
1654 s32e a10, a0, -24 /* save a10 to end of call[j]'s stack frame */
1655 s32e a11, a0, -20 /* save a11 to end of call[j]'s stack frame */
1677 l32e a0, a13, -16 /* restore a0 from call[i+1]'s stack frame */