Lines Matching refs:a3

138 	s32i	a3, a2, PT_AREG3
148 rsr a3, sar
150 s32i a3, a1, PT_SAR
162 rsr a3, windowstart
165 s32i a3, a1, PT_WINDOWSTART
166 slli a2, a3, 32-WSBITS
167 src a2, a3, a2
202 1: addi a3, a2, -1 # eliminate '1' in bit 0: yyyyxxww0
203 neg a3, a3 # yyyyxxww0 -> YYYYXXWW1+1
204 and a3, a3, a2 # max. only one bit is set
208 ffs_ws a0, a3 # number of frames to the '1' from left
215 slli a3, a0, 4 # number of frames to save in bits 8..4
217 or a2, a3, a2
226 s32i a3, a5, PT_AREG_END - 4
234 movi a3, 1
236 sll a3, a3
237 wsr a3, windowstart # set corresponding WINDOWSTART bit
284 s32i a3, a2, PT_AREG3
293 rsr a3, sar
295 s32i a3, a1, PT_SAR
542 l32i a3, a1, PT_PS
543 _bbci.l a3, PS_UM_BIT, 4f
560 extui a4, a3, PS_INTLEVEL_SHIFT, PS_INTLEVEL_WIDTH
575 wsr a3, ps /* disable interrupts */
577 _bbci.l a3, PS_UM_BIT, kernel_exception_exit
586 l32i a3, a1, PT_WINDOWSTART
588 wsr a3, windowstart # restore WINDOWSTART
605 mov a3, a5
607 2: rotw -1 # a0..a3 become a4..a7
608 addi a3, a7, -4*4 # next iteration
610 l32i a4, a3, PT_AREG_END + 0
611 l32i a5, a3, PT_AREG_END + 4
612 l32i a6, a3, PT_AREG_END + 8
613 l32i a7, a3, PT_AREG_END + 12
619 rsr a3, sar
620 sub a3, a0, a3
621 beqz a3, 2f
622 extui a3, a3, 0, WBBITS
625 addi a3, a7, -1
630 bgei a3, 1, 1b
640 l32i a3, a1, PT_THREADPTR
641 wur a3, threadptr
682 rsr a3, windowstart
683 addi a0, a3, -1
684 and a3, a3, a0
685 _bnez a3, common_exception_exit
690 l32i a3, a0, 0
692 s32i a3, a1, PT_SIZE+0
694 l32i a3, a0, 8
696 s32i a3, a1, PT_SIZE+8
729 l32i a3, a1, PT_SAR
731 wsr a3, sar
736 l32i a3, a1, PT_LEND
739 wsr a3, lend
746 movi a3, -2
748 wsr a3, icount
753 l32i a3, a1, PT_AREG3
806 l32i a0, a3, DT_DEBUG_SAVE
811 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
813 s32i a3, a2, PT_AREG3
824 l32i a3, a2, TI_PRE_COUNT
825 addi a3, a3, 1
826 s32i a3, a2, TI_PRE_COUNT
852 l32i a0, a3, DT_DBREAKC_SAVE + _index * 4
857 l32i a0, a3, DT_ICOUNT_LEVEL_SAVE
860 l32i a0, a3, DT_ICOUNT_SAVE
863 l32i a0, a3, DT_DEBUG_SAVE
864 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
872 s32i a0, a3, DT_DBREAKC_SAVE + _index * 4
878 s32i a0, a3, DT_ICOUNT_LEVEL_SAVE
882 s32i a0, a3, DT_ICOUNT_SAVE
884 l32i a0, a3, DT_DEBUG_SAVE
885 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
994 extui a3, a2, PS_OWB_SHIFT, PS_OWB_WIDTH
995 xor a3, a3, a4
1000 slli a3, a3, PS_OWB_SHIFT
1001 xor a2, a2, a3
1036 s32i a3, a2, PT_AREG3
1037 movi a3, PS_WOE_MASK
1038 or a0, a0, a3
1040 l32i a3, a2, PT_AREG3
1133 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1142 EX(.Leac) l32i a0, a3, 0 # read old value
1144 EX(.Leac) s32i a5, a3, 0 # different, modify value
1157 EX(.Leac) l32i a7, a3, 0 # orig
1162 EX(.Leac) s32i a0, a3, 0 # write new value
1215 xsr a3, excsave1
1217 s32i a0, a3, EXC_TABLE_FIXUP
1219 s32i a0, a3, EXC_TABLE_PARAM
1220 xsr a3, excsave1 # restore a3 and excsave_1
1225 s32i a3, a2, PT_AREG3
1244 rsr a3, windowstart # a3 = xxxwww1yy
1246 slli a0, a3, WSBITS
1247 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1248 srl a3, a3 # a3 = 00xxxwww1yyxxxwww1
1252 extui a3, a3, 1, WSBITS-1 # a3 = 0yyxxxwww
1254 _beqz a3, .Lnospill # only one active frame? jump
1258 or a3, a3, a0 # 1yyxxxwww
1262 wsr a3, windowstart # save shifted windowstart
1263 neg a0, a3
1264 and a3, a0, a3 # first bit set from right: 000010000
1266 ffs_ws a0, a3 # a0: shifts to skip empty frames
1267 movi a3, WSBITS
1268 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1271 rsr a3, windowbase
1272 add a3, a3, a0
1273 wsr a3, windowbase
1276 rsr a3, windowstart
1277 srl a3, a3 # shift windowstart
1288 .Lloop: _bbsi.l a3, 1, .Lc4
1289 _bbci.l a3, 2, .Lc12
1300 srli a11, a3, 2 # shift windowbase by 2
1302 _bnei a3, 1, .Lloop
1310 srli a7, a3, 1
1312 _bnei a3, 1, .Lloop
1315 .Lc12: _bbci.l a3, 3, .Linvalid_mask # bit 2 shouldn't be zero!
1455 xsr a3, excsave1 # get spill-mask
1456 slli a3, a3, 1 # shift left by one
1457 addi a3, a3, 1 # set the bit for the current window frame
1459 slli a2, a3, 32-WSBITS
1460 src a2, a3, a2 # a2 = xxwww1yyxxxwww1yy......
1463 srli a3, a3, 1
1467 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE # save a3
1468 l32i a3, a2, EXC_TABLE_PARAM # original WB (in user task)
1479 wsr a3, windowbase
1499 movi a3, fast_syscall_spill_registers_fixup_return
1500 s32i a3, a2, PT_DEPC # setup depc
1504 rsr a3, excsave1
1506 addx4 a0, a0, a3 # find entry in table
1508 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1522 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE
1523 movi a3, fast_syscall_spill_registers_fixup
1524 s32i a3, a2, EXC_TABLE_FIXUP
1525 rsr a3, windowbase
1526 s32i a3, a2, EXC_TABLE_PARAM
1531 rsr a3, sar # WB is still in SAR
1532 neg a3, a3
1533 wsr a3, windowbase
1536 rsr a3, excsave1
1537 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1593 s32i a3, a2, PT_AREG3
1615 8: rsr a3, excvaddr # fault address
1616 _PGD_OFFSET(a0, a3, a1)
1652 extui a3, a3, 28, 2 # addr. bit 28 and 29 0,1,2,3
1654 addx2 a3, a3, a3 # -> 0,3,6,9
1656 extui a3, a3, 2, 2 # -> 0,0,1,2
1658 addi a3, a3, DTLB_WAY_PGD
1659 add a1, a1, a3 # ... + way_number
1666 4: rsr a3, excsave1
1668 s32i a0, a3, EXC_TABLE_FIXUP
1674 l32i a3, a2, PT_AREG3
1717 rsr a3, epc1
1718 bltu a3, a0, 2f
1720 bgeu a3, a0, 2f
1724 movi a3, TLBTEMP_BASE_1
1726 bltu a0, a3, 2f
1729 bgeu a1, a3, 2f
1734 rsr a3, epc1
1735 sub a3, a3, a1
1744 bgez a3, 1f
1748 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1749 add a1, a3, a1
1754 movnez a0, a7, a3
1803 s32i a3, a2, PT_AREG3
1810 _PGD_OFFSET(a0, a1, a3)
1819 _PTE_OFFSET(a0, a1, a3)
1820 l32i a3, a0, 0 # read pteval
1822 ball a3, a1, 2f
1823 bbci.l a3, _PAGE_WRITABLE_BIT, 2f
1826 or a3, a3, a1
1828 s32i a3, a0, 0
1835 wdtlb a3, a0
1840 rsr a3, excsave1
1841 s32i a0, a3, EXC_TABLE_FIXUP
1845 l32i a3, a2, PT_AREG3
1866 rsr a3, depc # still holds a2
1867 s32i a3, a2, PT_AREG2
1898 l32i a3, a4, TI_FLAGS
1900 and a3, a3, a4
1901 beqz a3, 1f
1933 bnez a3, 1f
1993 mov a11, a3 # and 'next' (a3)
1996 l32i a5, a3, TASK_THREAD_INFO
2011 l32i a8, a3, TASK_STACK_CANARY
2017 irq_save a14, a3
2023 l32i a3, a5, THREAD_CPENABLE
2024 xsr a3, cpenable
2025 s32i a3, a4, THREAD_CPENABLE
2029 l32i a3, a5, THREAD_ATOMCTL8
2030 getex a3
2031 s32i a3, a4, THREAD_ATOMCTL8
2044 rsr a3, excsave1 # exc_table
2046 s32i a7, a3, EXC_TABLE_KSTK
2084 mov a6, a3