Lines Matching refs:a0

113 	rsr	a0, depc
115 s32i a0, a2, PT_AREG2
185 ffs_ws a0, a3 # number of frames to the '1' from left
192 slli a3, a0, 4 # number of frames to save in bits 8..4
200 s32i a0, a5, PT_AREG_END - 16
204 addi a0, a4, -1
206 _bnez a0, 1b
258 rsr a0, depc # get a2
260 s32i a0, a2, PT_AREG2
358 addi a0, a0, -EXCCAUSE_LEVEL1_INTERRUPT
362 moveqz a3, a2, a0 # a3 = LOCKLEVEL iff interrupt
365 rsr a0, exccause
410 mov a7, a0 # pass EXCCAUSE
411 addx4 a4, a0, a4
540 2: rotw -1 # a0..a3 become a4..a7
551 1: rsr a0, windowbase
553 sub a3, a0, a3
616 addi a0, a3, -1
617 and a3, a3, a0
622 addi a0, a1, -16
623 l32i a3, a0, 0
624 l32i a4, a0, 4
627 l32i a3, a0, 8
628 l32i a4, a0, 12
684 l32i a0, a1, PT_DEPC
687 _bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 1f
691 l32i a0, a1, PT_AREG0
695 1: wsr a0, depc
696 l32i a0, a1, PT_AREG0
712 rsr a0, SREG_EPS + XCHAL_DEBUGLEVEL
713 bbsi.l a0, PS_EXCM_BIT, 1f # exception mode
727 or a2, a0, a2
728 movi a0, debug_exception # restore a3, debug jump vector
730 xsr a0, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
737 s32i a0, a2, PT_AREG0
738 movi a0, 0
740 s32i a0, a2, PT_DEPC # mark it as a regular exception
741 xsr a0, depc
743 s32i a0, a2, PT_AREG2
749 s32i a0, a2, PT_AREG0
750 movi a0, 0
752 s32i a0, a2, PT_DEPC
753 xsr a0, depc
755 s32i a0, a2, PT_AREG2
791 movi a0, 1
794 wsr a0, windowstart
803 movi a0, 0
858 rsr a0, windowbase
904 rsr a0, epc1
905 addi a0, a0, 3
906 wsr a0, epc1
908 l32i a0, a2, PT_DEPC
909 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, fast_syscall_unrecoverable
911 rsr a0, depc # get syscall-nr
912 _beqz a0, fast_syscall_spill_registers
913 _beqi a0, __NR_xtensa, fast_syscall_xtensa
923 rsr a0, epc1
924 addi a0, a0, 3
925 wsr a0, epc1
927 l32i a0, a2, PT_DEPC
928 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, fast_syscall_unrecoverable
930 rsr a0, depc # get syscall-nr
931 _beqz a0, fast_syscall_spill_registers
932 _beqi a0, __NR_xtensa, fast_syscall_xtensa
942 l32i a0, a2, PT_AREG0 # restore a0
945 wsr a0, excsave1
946 movi a0, unrecoverable_exception
947 callx0 a0
1005 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1014 TRY l32i a0, a3, 0 # read old value
1015 bne a0, a4, 1f # same as old value? jump
1018 l32i a0, a2, PT_AREG0 # restore a0
1023 l32i a0, a2, PT_AREG0 # restore a0
1031 add a0, a4, a7 # + arg
1032 moveqz a0, a4, a6 # set
1034 TRY s32i a0, a3, 0 # write new value
1036 mov a0, a2
1038 l32i a7, a0, PT_AREG7 # restore a7
1039 l32i a0, a0, PT_AREG0 # restore a0
1044 l32i a0, a2, PT_AREG0 # restore a0
1049 l32i a0, a2, PT_AREG0 # restore a0
1059 l32i a0, a2, PT_AREG0 # restore a0
1089 movi a0, fast_syscall_spill_registers_fixup
1090 s32i a0, a3, EXC_TABLE_FIXUP
1091 rsr a0, windowbase
1092 s32i a0, a3, EXC_TABLE_PARAM
1097 rsr a0, sar
1099 s32i a0, a2, PT_SAR
1116 rsr a0, windowbase
1118 ssr a0 # holds WB
1119 slli a0, a3, WSBITS
1120 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1126 movi a0, (1 << (WSBITS-1))
1131 or a3, a3, a0 # 1yyxxxwww
1136 neg a0, a3
1137 and a3, a0, a3 # first bit set from right: 000010000
1139 ffs_ws a0, a3 # a0: shifts to skip empty frames
1141 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1142 ssr a0 # save in SAR for later.
1145 add a3, a3, a0
1289 wsr a0, excsave1
1290 movi a0, unrecoverable_exception
1291 callx0 a0 # should not return
1318 xsr a0, depc # restore depc and a0
1370 s32i a0, a2, PT_AREG0
1380 rsr a0, exccause
1381 addx4 a0, a0, a3 # find entry in table
1382 l32i a0, a0, EXC_TABLE_FAST_USER # load handler
1384 jx a0
1422 l32i a0, a2, PT_AREG0 # restore a0
1437 1: movi a0, unrecoverable_exception
1438 callx0 a0 # should not return
1487 l32i a0, a1, TASK_MM # tsk->mm
1488 beqz a0, 9f
1491 _PGD_OFFSET(a0, a3, a1)
1492 l32i a0, a0, 0 # read pmdval
1493 beqz a0, 2f
1509 add a0, a0, a1 # pmdval - PAGE_OFFSET
1510 extui a1, a0, 0, PAGE_SHIFT # ... & PAGE_MASK
1511 xor a0, a0, a1
1514 or a0, a0, a1 # ... | PAGE_DIRECTORY
1535 3: wdtlb a0, a1
1541 movi a0, 0
1542 s32i a0, a3, EXC_TABLE_FIXUP
1546 l32i a0, a2, PT_AREG0
1564 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1578 l32i a0, a2, PT_DEPC
1579 bgeui a0, VALID_DOUBLE_EXCEPTION_ADDRESS, 2f
1583 movi a0, __tlbtemp_mapping_start
1585 bltu a3, a0, 2f
1586 movi a0, __tlbtemp_mapping_end
1587 bgeu a3, a0, 2f
1592 rsr a0, excvaddr
1593 bltu a0, a3, 2f
1595 addi a1, a0, -TLBTEMP_SIZE
1607 and a1, a1, a0
1615 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1620 mov a0, a6
1621 movnez a0, a7, a3
1673 l32i a0, a1, TASK_MM # tsk->mm
1674 beqz a0, 9f
1677 _PGD_OFFSET(a0, a1, a3)
1678 l32i a0, a0, 0
1679 beqz a0, 2f
1686 _PTE_OFFSET(a0, a1, a3)
1687 l32i a3, a0, 0 # read pteval
1695 s32i a3, a0, 0
1699 dhwb a0, 0
1701 pdtlb a0, a1
1702 wdtlb a3, a0
1706 movi a0, 0
1708 s32i a0, a3, EXC_TABLE_FIXUP
1714 l32i a0, a2, PT_AREG0
1728 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1817 addi a12, a0, 3
1821 mov a12, a0
1859 s32i a0, a10, THREAD_RA - TASK_THREAD # save return address
1862 s32i a0, a2, THREAD_RA # save return address
1899 l32i a0, a11, THREAD_RA # restore return address