Lines Matching refs:a0
133 rsr a0, depc
135 s32i a0, a2, PT_AREG2
206 ffs_ws a0, a3 # number of frames to the '1' from left
213 slli a3, a0, 4 # number of frames to save in bits 8..4
221 s32i a0, a5, PT_AREG_END - 16
225 addi a0, a4, -1
227 _bnez a0, 1b
279 rsr a0, depc # get a2
281 s32i a0, a2, PT_AREG2
603 2: rotw -1 # a0..a3 become a4..a7
614 1: rsr a0, windowbase
616 sub a3, a0, a3
679 addi a0, a3, -1
680 and a3, a3, a0
685 addi a0, a1, -16
686 l32i a3, a0, 0
687 l32i a4, a0, 4
690 l32i a3, a0, 8
691 l32i a4, a0, 12
748 l32i a0, a1, PT_DEPC
751 _bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 1f
755 l32i a0, a1, PT_AREG0
759 1: wsr a0, depc
760 l32i a0, a1, PT_AREG0
776 rsr a0, SREG_EPS + XCHAL_DEBUGLEVEL
777 bbsi.l a0, PS_EXCM_BIT, 1f # exception mode
791 or a2, a0, a2
792 movi a0, debug_exception # restore a3, debug jump vector
794 xsr a0, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
801 s32i a0, a2, PT_AREG0
802 movi a0, 0
804 s32i a0, a2, PT_DEPC # mark it as a regular exception
805 xsr a0, depc
807 s32i a0, a2, PT_AREG2
813 s32i a0, a2, PT_AREG0
814 movi a0, 0
816 s32i a0, a2, PT_DEPC
817 xsr a0, depc
819 s32i a0, a2, PT_AREG2
855 movi a0, 1
858 wsr a0, windowstart
867 movi a0, 0
922 rsr a0, windowbase
968 rsr a0, epc1
969 addi a0, a0, 3
970 wsr a0, epc1
972 l32i a0, a2, PT_DEPC
973 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, fast_syscall_unrecoverable
975 rsr a0, depc # get syscall-nr
976 _beqz a0, fast_syscall_spill_registers
977 _beqi a0, __NR_xtensa, fast_syscall_xtensa
987 rsr a0, epc1
988 addi a0, a0, 3
989 wsr a0, epc1
991 l32i a0, a2, PT_DEPC
992 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, fast_syscall_unrecoverable
994 rsr a0, depc # get syscall-nr
995 _beqz a0, fast_syscall_spill_registers
996 _beqi a0, __NR_xtensa, fast_syscall_xtensa
1006 l32i a0, a2, PT_AREG0 # restore a0
1009 wsr a0, excsave1
1010 movi a0, unrecoverable_exception
1011 callx0 a0
1069 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1078 TRY l32i a0, a3, 0 # read old value
1079 bne a0, a4, 1f # same as old value? jump
1082 l32i a0, a2, PT_AREG0 # restore a0
1087 l32i a0, a2, PT_AREG0 # restore a0
1095 add a0, a4, a7 # + arg
1096 moveqz a0, a4, a6 # set
1098 TRY s32i a0, a3, 0 # write new value
1100 mov a0, a2
1102 l32i a7, a0, PT_AREG7 # restore a7
1103 l32i a0, a0, PT_AREG0 # restore a0
1108 l32i a0, a2, PT_AREG0 # restore a0
1113 l32i a0, a2, PT_AREG0 # restore a0
1123 l32i a0, a2, PT_AREG0 # restore a0
1153 movi a0, fast_syscall_spill_registers_fixup
1154 s32i a0, a3, EXC_TABLE_FIXUP
1155 rsr a0, windowbase
1156 s32i a0, a3, EXC_TABLE_PARAM
1161 rsr a0, sar
1163 s32i a0, a2, PT_SAR
1180 rsr a0, windowbase
1182 ssr a0 # holds WB
1183 slli a0, a3, WSBITS
1184 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1190 movi a0, (1 << (WSBITS-1))
1195 or a3, a3, a0 # 1yyxxxwww
1200 neg a0, a3
1201 and a3, a0, a3 # first bit set from right: 000010000
1203 ffs_ws a0, a3 # a0: shifts to skip empty frames
1205 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1206 ssr a0 # save in SAR for later.
1209 add a3, a3, a0
1353 wsr a0, excsave1
1354 movi a0, unrecoverable_exception
1355 callx0 a0 # should not return
1382 xsr a0, depc # restore depc and a0
1434 s32i a0, a2, PT_AREG0
1444 rsr a0, exccause
1445 addx4 a0, a0, a3 # find entry in table
1446 l32i a0, a0, EXC_TABLE_FAST_USER # load handler
1448 jx a0
1486 l32i a0, a2, PT_AREG0 # restore a0
1501 1: movi a0, unrecoverable_exception
1502 callx0 a0 # should not return
1551 l32i a0, a1, TASK_MM # tsk->mm
1552 beqz a0, 9f
1555 _PGD_OFFSET(a0, a3, a1)
1556 l32i a0, a0, 0 # read pmdval
1557 beqz a0, 2f
1573 add a0, a0, a1 # pmdval - PAGE_OFFSET
1574 extui a1, a0, 0, PAGE_SHIFT # ... & PAGE_MASK
1575 xor a0, a0, a1
1578 or a0, a0, a1 # ... | PAGE_DIRECTORY
1599 3: wdtlb a0, a1
1605 movi a0, 0
1606 s32i a0, a3, EXC_TABLE_FIXUP
1610 l32i a0, a2, PT_AREG0
1628 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1629 bnez a0, 8b
1635 movi a0, init_mm
1649 l32i a0, a2, PT_DEPC
1650 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 2f
1654 movi a0, __tlbtemp_mapping_start
1656 bltu a3, a0, 2f
1657 movi a0, __tlbtemp_mapping_end
1658 bgeu a3, a0, 2f
1663 rsr a0, excvaddr
1664 bltu a0, a3, 2f
1666 addi a1, a0, -TLBTEMP_SIZE
1678 and a1, a1, a0
1686 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1691 mov a0, a6
1692 movnez a0, a7, a3
1744 l32i a0, a1, TASK_MM # tsk->mm
1745 beqz a0, 9f
1748 _PGD_OFFSET(a0, a1, a3)
1749 l32i a0, a0, 0
1750 beqz a0, 2f
1757 _PTE_OFFSET(a0, a1, a3)
1758 l32i a3, a0, 0 # read pteval
1766 s32i a3, a0, 0
1770 dhwb a0, 0
1772 pdtlb a0, a1
1773 wdtlb a3, a0
1777 movi a0, 0
1779 s32i a0, a3, EXC_TABLE_FIXUP
1785 l32i a0, a2, PT_AREG0
1799 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1888 addi a12, a0, 3
1892 mov a12, a0
1930 s32i a0, a10, THREAD_RA - TASK_THREAD # save return address
1933 s32i a0, a2, THREAD_RA # save return address
1966 l32i a0, a11, THREAD_RA # restore return address