• Home
  • Raw
  • Download

Lines Matching refs:a2

134 	s32i	a1, a2, PT_AREG1
135 s32i a0, a2, PT_AREG2
136 s32i a3, a2, PT_AREG3
137 mov a1, a2
144 movi a2, 0
145 wsr a2, depc # terminate user stack trace with 0
147 xsr a2, icountlevel
149 s32i a2, a1, PT_ICOUNTLEVEL
152 rur a2, threadptr
153 s32i a2, a1, PT_THREADPTR
159 rsr a2, windowbase
161 ssr a2
162 s32i a2, a1, PT_WINDOWBASE
164 slli a2, a3, 32-WSBITS
165 src a2, a3, a2
166 srli a2, a2, 32-WSBITS
167 s32i a2, a1, PT_WMASK # needed for restoring registers
171 _bbsi.l a2, 1, 1f
176 _bbsi.l a2, 2, 1f
181 _bbsi.l a2, 3, 1f
186 _bnei a2, 1, 1f # only one valid frame?
200 1: addi a3, a2, -1 # eliminate '1' in bit 0: yyyyxxww0
202 and a3, a3, a2 # max. only one bit is set
214 extui a2, a2, 0, 4 # mask for the first 16 registers
215 or a2, a3, a2
216 s32i a2, a1, PT_WMASK # needed when we restore the reg-file
223 s32i a2, a5, PT_AREG_END - 8
231 rsr a2, sar # original WINDOWBASE
233 ssl a2
236 wsr a2, windowbase # and WINDOWSTART
279 rsr a0, depc # get a2
280 s32i a1, a2, PT_AREG1
281 s32i a0, a2, PT_AREG2
282 s32i a3, a2, PT_AREG3
283 mov a1, a2
290 movi a2, 0
292 xsr a2, icountlevel
294 s32i a2, a1, PT_ICOUNTLEVEL
299 rsr a2, windowbase # don't need to save these, we only
509 rsil a2, 0
521 rsil a2, 0
532 l32i a4, a2, TI_PRE_COUNT
569 load_xtregs_opt a1 a2 a4 a5 a6 a7 PT_XTREGS_OPT
574 l32i a2, a1, PT_SCOMPARE1
575 wsr a2, scompare1
587 l32i a2, a1, PT_WINDOWBASE
591 ssr a2 # preserve user's WB in the SAR
595 l32i a2, a1, PT_WMASK # register frames saved (in bits 4...9)
606 mov a2, a6
611 addi a2, a6, -16 # decrementing Y in WMASK
616 _bgeui a2, 16, 2b
679 l32i a2, a1, PT_WMASK
680 _beqi a2, 1, common_exception_exit # Spilled before exception,jump
712 _bbsi.l a2, 1, 1f
717 _bbsi.l a2, 2, 1f
722 _bbsi.l a2, 3, 1f
730 1: l32i a2, a1, PT_PC
732 wsr a2, epc1
737 l32i a2, a1, PT_LBEG
739 wsr a2, lbeg
740 l32i a2, a1, PT_LCOUNT
742 wsr a2, lcount
747 l32i a2, a1, PT_ICOUNTLEVEL
749 wsr a2, icountlevel
756 l32i a2, a1, PT_AREG2
787 wsr a2, depc # save a2 temporarily
788 rsr a2, SREG_EPC + XCHAL_DEBUGLEVEL
789 wsr a2, epc1
791 movi a2, EXCCAUSE_MAPPED_DEBUG
792 wsr a2, exccause
796 movi a2, 1 << PS_EXCM_BIT
797 or a2, a0, a2
798 wsr a2, ps
802 bbsi.l a2, PS_UM_BIT, 2f # jump if user mode
804 addi a2, a1, -16-PT_SIZE # assume kernel stack
807 s32i a1, a2, PT_AREG1
808 s32i a0, a2, PT_AREG0
810 s32i a0, a2, PT_DEPC # mark it as a regular exception
813 s32i a3, a2, PT_AREG3
814 s32i a0, a2, PT_AREG2
815 mov a1, a2
823 GET_THREAD_INFO(a2, a1)
824 l32i a3, a2, TI_PRE_COUNT
826 s32i a3, a2, TI_PRE_COUNT
829 rsr a2, ps
830 bbsi.l a2, PS_UM_BIT, _user_exception
833 2: rsr a2, excsave1
834 l32i a2, a2, EXC_TABLE_KSTK # load kernel stack pointer
990 rsr a2, ps
991 extui a3, a2, PS_OWB_SHIFT, PS_OWB_WIDTH
998 xor a2, a2, a3
999 wsr a2, ps
1038 l32i a0, a2, PT_DEPC
1057 l32i a0, a2, PT_DEPC
1072 l32i a0, a2, PT_AREG0 # restore a0
1073 xsr a2, depc # restore a2, depc
1133 s32i a7, a2, PT_AREG7 # we need an additional register
1135 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1147 l32i a7, a2, PT_AREG7 # restore a7
1148 l32i a0, a2, PT_AREG0 # restore a0
1149 movi a2, 1 # and return 1
1152 1: l32i a7, a2, PT_AREG7 # restore a7
1153 l32i a0, a2, PT_AREG0 # restore a0
1154 movi a2, 0 # return 0 (note that we cannot set
1166 mov a0, a2
1167 mov a2, a7
1173 .Leac: l32i a7, a2, PT_AREG7 # restore a7
1174 l32i a0, a2, PT_AREG0 # restore a0
1175 movi a2, -EFAULT
1178 .Lill: l32i a7, a2, PT_AREG7 # restore a7
1179 l32i a0, a2, PT_AREG0 # restore a0
1180 movi a2, -EINVAL
1189 l32i a0, a2, PT_AREG0 # restore a0
1190 movi a2, -ENOSYS
1228 s32i a3, a2, PT_AREG3
1229 s32i a0, a2, PT_SAR
1233 s32i a4, a2, PT_AREG4
1234 s32i a7, a2, PT_AREG7
1235 s32i a8, a2, PT_AREG8
1236 s32i a11, a2, PT_AREG11
1237 s32i a12, a2, PT_AREG12
1238 s32i a15, a2, PT_AREG15
1447 rsr a2, windowbase # get current windowbase (a2 is saved)
1449 ssl a2 # set shift (32 - WB)
1464 slli a2, a3, 32-WSBITS
1465 src a2, a3, a2 # a2 = xxwww1yyxxxwww1yy......
1466 wsr a2, windowstart # set corrected windowstart
1469 rsr a2, excsave1
1470 l32i a2, a2, EXC_TABLE_DOUBLE_SAVE # restore a2
1471 xsr a2, excsave1
1472 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE # save a3
1473 l32i a3, a2, EXC_TABLE_PARAM # original WB (in user task)
1474 xsr a2, excsave1
1499 addi a2, a2, -PT_USER_SIZE
1500 s32i a0, a2, PT_AREG0
1505 s32i a3, a2, PT_DEPC # setup depc
1522 wsr a2, depc # exception address
1526 rsr a2, excsave1
1527 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE
1529 s32i a3, a2, EXC_TABLE_FIXUP
1531 s32i a3, a2, EXC_TABLE_PARAM
1532 l32i a2, a2, EXC_TABLE_KSTK
1552 l32i a0, a2, PT_AREG0 # restore a0
1553 movi a2, -ENOSYS
1597 s32i a1, a2, PT_AREG1
1598 s32i a3, a2, PT_AREG3
1616 GET_CURRENT(a1,a2)
1677 l32i a0, a2, PT_AREG0
1678 l32i a1, a2, PT_AREG1
1679 l32i a3, a2, PT_AREG3
1680 l32i a2, a2, PT_DEPC
1682 bgeui a2, VALID_DOUBLE_EXCEPTION_ADDRESS, 1f
1686 rsr a2, depc
1691 1: xsr a2, depc
1716 l32i a0, a2, PT_DEPC
1775 s32i a1, a2, PT_AREG2
1776 mov a1, a2
1778 rsr a2, ps
1779 bbsi.l a2, PS_UM_BIT, 1f
1807 s32i a1, a2, PT_AREG1
1808 s32i a3, a2, PT_AREG3
1810 GET_CURRENT(a1,a2)
1850 l32i a3, a2, PT_AREG3
1851 l32i a1, a2, PT_AREG1
1852 l32i a0, a2, PT_AREG0
1853 l32i a2, a2, PT_DEPC
1855 bgeui a2, VALID_DOUBLE_EXCEPTION_ADDRESS, 1f
1857 rsr a2, depc
1862 1: xsr a2, depc
1871 rsr a3, depc # still holds a2
1872 s32i a3, a2, PT_AREG2
1873 mov a1, a2
1875 rsr a2, ps
1876 bbsi.l a2, PS_UM_BIT, 1f
1897 l32i a3, a2, PT_AREG2
1898 mov a6, a2
1900 s32i a3, a2, PT_SYSCALL
1917 l32i a6, a2, PT_AREG6
1918 l32i a7, a2, PT_AREG3
1919 l32i a8, a2, PT_AREG4
1920 l32i a9, a2, PT_AREG5
1921 l32i a10, a2, PT_AREG8
1922 l32i a11, a2, PT_AREG9
1925 s32i a2, a1, 0
1931 s32i a6, a2, PT_AREG2
1933 mov a6, a2
1990 l32i a4, a2, TASK_THREAD_INFO
1996 addi a10, a2, TASK_THREAD
2000 s32i a0, a2, THREAD_RA # save return address
2001 s32i a1, a2, THREAD_SP # save stack pointer
2070 callx4 a2