Lines Matching refs:a0

135 	rsr	a0, depc
137 s32i a0, a2, PT_AREG2
218 ffs_ws a0, a3 # number of frames to the '1' from left
225 slli a3, a0, 4 # number of frames to save in bits 8..4
233 s32i a0, a5, PT_AREG_END - 16
237 addi a0, a4, -1
239 _bnez a0, 1b
291 rsr a0, depc # get a2
293 s32i a0, a2, PT_AREG2
621 2: rotw -1 # a0..a3 become a4..a7
632 1: rsr a0, windowbase
634 sub a3, a0, a3
700 addi a0, a3, -1
701 and a3, a3, a0
706 addi a0, a1, -16
707 l32i a3, a0, 0
708 l32i a4, a0, 4
711 l32i a3, a0, 8
712 l32i a4, a0, 12
772 l32i a0, a1, PT_DEPC
775 _bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 1f
779 l32i a0, a1, PT_AREG0
783 1: wsr a0, depc
784 l32i a0, a1, PT_AREG0
802 rsr a0, SREG_EPS + XCHAL_DEBUGLEVEL
803 bbsi.l a0, PS_EXCM_BIT, 1f # exception mode
817 or a2, a0, a2
826 l32i a0, a3, DT_DEBUG_SAVE
828 s32i a0, a2, PT_AREG0
829 movi a0, 0
830 s32i a0, a2, PT_DEPC # mark it as a regular exception
832 xsr a0, depc
834 s32i a0, a2, PT_AREG2
865 bbci.l a0, PS_UM_BIT, 1b # jump if kernel mode
867 rsr a0, debugcause
868 bbsi.l a0, DEBUGCAUSE_DBREAK_BIT, .Ldebug_save_dbreak
872 l32i a0, a3, DT_DBREAKC_SAVE + _index * 4
873 wsr a0, SREG_DBREAKC + _index
877 l32i a0, a3, DT_ICOUNT_LEVEL_SAVE
878 wsr a0, icountlevel
880 l32i a0, a3, DT_ICOUNT_SAVE
881 xsr a0, icount
883 l32i a0, a3, DT_DEBUG_SAVE
890 movi a0, 0
891 xsr a0, SREG_DBREAKC + _index
892 s32i a0, a3, DT_DBREAKC_SAVE + _index * 4
896 movi a0, XCHAL_EXCM_LEVEL + 1
897 xsr a0, icountlevel
898 s32i a0, a3, DT_ICOUNT_LEVEL_SAVE
900 movi a0, 0xfffffffe
901 xsr a0, icount
902 s32i a0, a3, DT_ICOUNT_SAVE
904 l32i a0, a3, DT_DEBUG_SAVE
944 movi a0, 1
947 wsr a0, windowstart
957 movi a0, 0
1014 rsr a0, windowbase
1058 rsr a0, ps
1059 bbsi.l a0, PS_WOE_BIT, 1f
1062 or a0, a0, a3
1063 wsr a0, ps
1065 l32i a0, a2, PT_AREG0
1097 rsr a0, epc1
1098 addi a0, a0, 3
1099 wsr a0, epc1
1101 l32i a0, a2, PT_DEPC
1102 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, fast_syscall_unrecoverable
1104 rsr a0, depc # get syscall-nr
1105 _beqz a0, fast_syscall_spill_registers
1106 _beqi a0, __NR_xtensa, fast_syscall_xtensa
1116 l32i a0, a2, PT_AREG0 # restore a0
1119 wsr a0, excsave1
1157 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1166 EX(.Leac) l32i a0, a3, 0 # read old value
1167 bne a0, a4, 1f # same as old value? jump
1170 l32i a0, a2, PT_AREG0 # restore a0
1175 l32i a0, a2, PT_AREG0 # restore a0
1183 add a0, a4, a7 # + arg
1184 moveqz a0, a4, a6 # set
1186 EX(.Leac) s32i a0, a3, 0 # write new value
1188 mov a0, a2
1190 l32i a7, a0, PT_AREG7 # restore a7
1191 l32i a0, a0, PT_AREG0 # restore a0
1195 l32i a0, a2, PT_AREG0 # restore a0
1200 l32i a0, a2, PT_AREG0 # restore a0
1210 l32i a0, a2, PT_AREG0 # restore a0
1241 movi a0, fast_syscall_spill_registers_fixup
1242 s32i a0, a3, EXC_TABLE_FIXUP
1243 rsr a0, windowbase
1244 s32i a0, a3, EXC_TABLE_PARAM
1249 rsr a0, sar
1251 s32i a0, a2, PT_SAR
1268 rsr a0, windowbase
1270 ssr a0 # holds WB
1271 slli a0, a3, WSBITS
1272 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1278 movi a0, (1 << (WSBITS-1))
1283 or a3, a3, a0 # 1yyxxxwww
1288 neg a0, a3
1289 and a3, a0, a3 # first bit set from right: 000010000
1291 ffs_ws a0, a3 # a0: shifts to skip empty frames
1293 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1294 ssr a0 # save in SAR for later.
1297 add a3, a3, a0
1440 wsr a0, excsave1
1468 xsr a0, depc # restore depc and a0
1520 s32i a0, a2, PT_AREG0
1530 rsr a0, exccause
1531 addx4 a0, a0, a3 # find entry in table
1532 l32i a0, a0, EXC_TABLE_FAST_USER # load handler
1534 jx a0
1572 l32i a0, a2, PT_AREG0 # restore a0
1637 l32i a0, a1, TASK_MM # tsk->mm
1638 beqz a0, 9f
1641 _PGD_OFFSET(a0, a3, a1)
1642 l32i a0, a0, 0 # read pmdval
1643 beqz a0, 2f
1660 add a0, a0, a1 # pmdval - PAGE_OFFSET
1661 extui a1, a0, 0, PAGE_SHIFT # ... & PAGE_MASK
1662 xor a0, a0, a1
1665 or a0, a0, a1 # ... | PAGE_DIRECTORY
1686 3: wdtlb a0, a1
1692 movi a0, 0
1693 s32i a0, a3, EXC_TABLE_FIXUP
1697 l32i a0, a2, PT_AREG0
1715 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1716 bnez a0, 8b
1722 movi a0, init_mm
1736 l32i a0, a2, PT_DEPC
1737 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 2f
1741 movi a0, __tlbtemp_mapping_start
1743 bltu a3, a0, 2f
1744 movi a0, __tlbtemp_mapping_end
1745 bgeu a3, a0, 2f
1750 rsr a0, excvaddr
1751 bltu a0, a3, 2f
1753 addi a1, a0, -TLBTEMP_SIZE
1765 and a1, a1, a0
1773 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1778 mov a0, a6
1779 movnez a0, a7, a3
1831 l32i a0, a1, TASK_MM # tsk->mm
1832 beqz a0, 9f
1835 _PGD_OFFSET(a0, a1, a3)
1836 l32i a0, a0, 0
1837 beqz a0, 2f
1844 _PTE_OFFSET(a0, a1, a3)
1845 l32i a3, a0, 0 # read pteval
1853 s32i a3, a0, 0
1857 dhwb a0, 0
1859 pdtlb a0, a1
1860 wdtlb a3, a0
1864 movi a0, 0
1866 s32i a0, a3, EXC_TABLE_FIXUP
1872 l32i a0, a2, PT_AREG0
1886 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1920 s32i a0, sp, 0
1974 l32i a0, sp, 0
2005 addi a12, a0, 3
2009 mov a12, a0
2057 s32i a0, a10, THREAD_RA - TASK_THREAD # save return address
2060 s32i a0, a2, THREAD_RA # save return address
2107 l32i a0, a11, THREAD_RA # restore return address