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
537 l32i a3, a1, PT_PS
538 _bbci.l a3, PS_UM_BIT, 4f
555 extui a4, a3, PS_INTLEVEL_SHIFT, PS_INTLEVEL_WIDTH
570 wsr a3, ps /* disable interrupts */
572 _bbci.l a3, PS_UM_BIT, kernel_exception_exit
581 l32i a3, a1, PT_WINDOWSTART
583 wsr a3, windowstart # restore WINDOWSTART
600 mov a3, a5
602 2: rotw -1 # a0..a3 become a4..a7
603 addi a3, a7, -4*4 # next iteration
605 l32i a4, a3, PT_AREG_END + 0
606 l32i a5, a3, PT_AREG_END + 4
607 l32i a6, a3, PT_AREG_END + 8
608 l32i a7, a3, PT_AREG_END + 12
614 rsr a3, sar
615 sub a3, a0, a3
616 beqz a3, 2f
617 extui a3, a3, 0, WBBITS
620 addi a3, a7, -1
625 bgei a3, 1, 1b
635 l32i a3, a1, PT_THREADPTR
636 wur a3, threadptr
677 rsr a3, windowstart
678 addi a0, a3, -1
679 and a3, a3, a0
680 _bnez a3, common_exception_exit
685 l32i a3, a0, 0
687 s32i a3, a1, PT_SIZE+0
689 l32i a3, a0, 8
691 s32i a3, a1, PT_SIZE+8
724 l32i a3, a1, PT_SAR
726 wsr a3, sar
731 l32i a3, a1, PT_LEND
734 wsr a3, lend
741 movi a3, -2
743 wsr a3, icount
748 l32i a3, a1, PT_AREG3
801 l32i a0, a3, DT_DEBUG_SAVE
806 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
808 s32i a3, a2, PT_AREG3
819 l32i a3, a2, TI_PRE_COUNT
820 addi a3, a3, 1
821 s32i a3, a2, TI_PRE_COUNT
847 l32i a0, a3, DT_DBREAKC_SAVE + _index * 4
852 l32i a0, a3, DT_ICOUNT_LEVEL_SAVE
855 l32i a0, a3, DT_ICOUNT_SAVE
858 l32i a0, a3, DT_DEBUG_SAVE
859 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
867 s32i a0, a3, DT_DBREAKC_SAVE + _index * 4
873 s32i a0, a3, DT_ICOUNT_LEVEL_SAVE
877 s32i a0, a3, DT_ICOUNT_SAVE
879 l32i a0, a3, DT_DEBUG_SAVE
880 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
986 extui a3, a2, PS_OWB_SHIFT, PS_OWB_WIDTH
987 xor a3, a3, a4
992 slli a3, a3, PS_OWB_SHIFT
993 xor a2, a2, a3
1028 s32i a3, a2, PT_AREG3
1029 movi a3, PS_WOE_MASK
1030 or a0, a0, a3
1032 l32i a3, a2, PT_AREG3
1123 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1132 EX(.Leac) l32i a0, a3, 0 # read old value
1134 EX(.Leac) s32i a5, a3, 0 # different, modify value
1147 EX(.Leac) l32i a7, a3, 0 # orig
1152 EX(.Leac) s32i a0, a3, 0 # write new value
1205 xsr a3, excsave1
1207 s32i a0, a3, EXC_TABLE_FIXUP
1209 s32i a0, a3, EXC_TABLE_PARAM
1210 xsr a3, excsave1 # restore a3 and excsave_1
1215 s32i a3, a2, PT_AREG3
1234 rsr a3, windowstart # a3 = xxxwww1yy
1236 slli a0, a3, WSBITS
1237 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1238 srl a3, a3 # a3 = 00xxxwww1yyxxxwww1
1242 extui a3, a3, 1, WSBITS-1 # a3 = 0yyxxxwww
1244 _beqz a3, .Lnospill # only one active frame? jump
1248 or a3, a3, a0 # 1yyxxxwww
1252 wsr a3, windowstart # save shifted windowstart
1253 neg a0, a3
1254 and a3, a0, a3 # first bit set from right: 000010000
1256 ffs_ws a0, a3 # a0: shifts to skip empty frames
1257 movi a3, WSBITS
1258 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1261 rsr a3, windowbase
1262 add a3, a3, a0
1263 wsr a3, windowbase
1266 rsr a3, windowstart
1267 srl a3, a3 # shift windowstart
1278 .Lloop: _bbsi.l a3, 1, .Lc4
1279 _bbci.l a3, 2, .Lc12
1290 srli a11, a3, 2 # shift windowbase by 2
1292 _bnei a3, 1, .Lloop
1300 srli a7, a3, 1
1302 _bnei a3, 1, .Lloop
1305 .Lc12: _bbci.l a3, 3, .Linvalid_mask # bit 2 shouldn't be zero!
1445 xsr a3, excsave1 # get spill-mask
1446 slli a3, a3, 1 # shift left by one
1447 addi a3, a3, 1 # set the bit for the current window frame
1449 slli a2, a3, 32-WSBITS
1450 src a2, a3, a2 # a2 = xxwww1yyxxxwww1yy......
1453 srli a3, a3, 1
1457 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE # save a3
1458 l32i a3, a2, EXC_TABLE_PARAM # original WB (in user task)
1469 wsr a3, windowbase
1489 movi a3, fast_syscall_spill_registers_fixup_return
1490 s32i a3, a2, PT_DEPC # setup depc
1494 rsr a3, excsave1
1496 addx4 a0, a0, a3 # find entry in table
1498 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1512 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE
1513 movi a3, fast_syscall_spill_registers_fixup
1514 s32i a3, a2, EXC_TABLE_FIXUP
1515 rsr a3, windowbase
1516 s32i a3, a2, EXC_TABLE_PARAM
1521 rsr a3, sar # WB is still in SAR
1522 neg a3, a3
1523 wsr a3, windowbase
1526 rsr a3, excsave1
1527 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1583 s32i a3, a2, PT_AREG3
1605 8: rsr a3, excvaddr # fault address
1606 _PGD_OFFSET(a0, a3, a1)
1642 extui a3, a3, 28, 2 # addr. bit 28 and 29 0,1,2,3
1644 addx2 a3, a3, a3 # -> 0,3,6,9
1646 extui a3, a3, 2, 2 # -> 0,0,1,2
1648 addi a3, a3, DTLB_WAY_PGD
1649 add a1, a1, a3 # ... + way_number
1656 4: rsr a3, excsave1
1658 s32i a0, a3, EXC_TABLE_FIXUP
1664 l32i a3, a2, PT_AREG3
1707 rsr a3, epc1
1708 bltu a3, a0, 2f
1710 bgeu a3, a0, 2f
1714 movi a3, TLBTEMP_BASE_1
1716 bltu a0, a3, 2f
1719 bgeu a1, a3, 2f
1724 rsr a3, epc1
1725 sub a3, a3, a1
1734 bgez a3, 1f
1738 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1739 add a1, a3, a1
1744 movnez a0, a7, a3
1793 s32i a3, a2, PT_AREG3
1800 _PGD_OFFSET(a0, a1, a3)
1809 _PTE_OFFSET(a0, a1, a3)
1810 l32i a3, a0, 0 # read pteval
1812 ball a3, a1, 2f
1813 bbci.l a3, _PAGE_WRITABLE_BIT, 2f
1816 or a3, a3, a1
1818 s32i a3, a0, 0
1825 wdtlb a3, a0
1830 rsr a3, excsave1
1831 s32i a0, a3, EXC_TABLE_FIXUP
1835 l32i a3, a2, PT_AREG3
1856 rsr a3, depc # still holds a2
1857 s32i a3, a2, PT_AREG2
1888 l32i a3, a4, TI_FLAGS
1890 and a3, a3, a4
1891 beqz a3, 1f
1929 bnez a3, 1f
1934 l32i a3, a2, PT_SYSCALL
1938 s32i a3, a2, PT_SYSCALL
1992 mov a11, a3 # and 'next' (a3)
1995 l32i a5, a3, TASK_THREAD_INFO
2010 l32i a8, a3, TASK_STACK_CANARY
2016 irq_save a14, a3
2022 l32i a3, a5, THREAD_CPENABLE
2023 xsr a3, cpenable
2024 s32i a3, a4, THREAD_CPENABLE
2037 rsr a3, excsave1 # exc_table
2039 s32i a7, a3, EXC_TABLE_KSTK
2077 mov a6, a3