Lines Matching full:a1
112 * a1: a1
125 * stack pointer (a1) has been set.
133 /* Save a1, a2, a3, and set SP. */
136 s32i a1, a2, PT_AREG1
139 mov a1, a2
150 s32i a3, a1, PT_SAR
151 s32i a2, a1, PT_ICOUNTLEVEL
155 s32i a2, a1, PT_THREADPTR
164 s32i a2, a1, PT_WINDOWBASE
165 s32i a3, a1, PT_WINDOWSTART
169 s32i a2, a1, PT_WMASK # needed for restoring registers
174 s32i a4, a1, PT_AREG4
175 s32i a5, a1, PT_AREG5
176 s32i a6, a1, PT_AREG6
177 s32i a7, a1, PT_AREG7
179 s32i a8, a1, PT_AREG8
180 s32i a9, a1, PT_AREG9
181 s32i a10, a1, PT_AREG10
182 s32i a11, a1, PT_AREG11
184 s32i a12, a1, PT_AREG12
185 s32i a13, a1, PT_AREG13
186 s32i a14, a1, PT_AREG14
187 s32i a15, a1, PT_AREG15
218 s32i a2, a1, PT_WMASK # needed when we restore the reg-file
224 s32i a1, a5, PT_AREG_END - 12
228 addi a1, a5, -16
241 /* We are back to the original stack pointer (a1) */
259 * a1: a1
272 * stack pointer (a1) has been set.
279 /* Save a1, a2, a3, and set SP. */
282 s32i a1, a2, PT_AREG1
285 mov a1, a2
295 s32i a3, a1, PT_SAR
296 s32i a2, a1, PT_ICOUNTLEVEL
307 s32i a2, a1, PT_WMASK # needed for kernel_exception_exit
312 s32i a4, a1, PT_AREG4
313 s32i a5, a1, PT_AREG5
314 s32i a6, a1, PT_AREG6
315 s32i a7, a1, PT_AREG7
317 s32i a8, a1, PT_AREG8
318 s32i a9, a1, PT_AREG9
319 s32i a10, a1, PT_AREG10
320 s32i a11, a1, PT_AREG11
322 s32i a12, a1, PT_AREG12
323 s32i a13, a1, PT_AREG13
324 s32i a14, a1, PT_AREG14
325 s32i a15, a1, PT_AREG15
329 /* Copy spill slots of a0 and a1 to imitate movsp
332 l32i a3, a1, PT_SIZE
333 l32i a0, a1, PT_SIZE + 4
334 s32e a3, a1, -16
335 s32e a0, a1, -12
337 l32i a0, a1, PT_AREG0 # restore saved a0
343 extui a2, a1, TASK_SIZE_BITS,XX
364 s32i a2, a1, PT_DEBUGCAUSE
365 s32i a3, a1, PT_PC
369 s32i a2, a1, PT_SYSCALL
371 s32i a3, a1, PT_EXCVADDR
374 s32i a2, a1, PT_LCOUNT
387 s32i a2, a1, PT_EXCCAUSE
390 /* All unrecoverable states are saved on stack, now, and a1 is valid.
399 s32i a3, a1, PT_PS # save ps
415 s32i a0, a1, PT_PS # save medium-level interrupt ps
444 s32i a4, a1, PT_LBEG
445 s32i a3, a1, PT_LEND
452 s32i a3, a1, PT_SCOMPARE1
457 save_xtregs_opt a1 a3 a4 a5 a6 a7 PT_XTREGS_OPT
464 mov a6, a1 # pass stack frame
478 l32i a2, a1, PT_EXCCAUSE
490 l32i a3, a1, PT_PS
491 GET_THREAD_INFO(a2, a1)
506 2: l32i a4, a1, PT_DEPC
515 mov a6, a1
542 l32i a3, a1, PT_PS
553 l32i a4, a1, PT_DEPC
567 load_xtregs_opt a1 a2 a4 a5 a6 a7 PT_XTREGS_OPT
572 l32i a2, a1, PT_SCOMPARE1
585 l32i a2, a1, PT_WINDOWBASE
586 l32i a3, a1, PT_WINDOWSTART
587 wsr a1, depc # use DEPC as temp storage
592 rsr a1, depc # restore stack pointer
593 l32i a2, a1, PT_WMASK # register frames saved (in bits 4...9)
640 l32i a3, a1, PT_THREADPTR
677 l32i a2, a1, PT_WMASK
689 addi a0, a1, -16
692 s32i a3, a1, PT_SIZE+0
693 s32i a4, a1, PT_SIZE+4
696 s32i a3, a1, PT_SIZE+8
697 s32i a4, a1, PT_SIZE+12
711 l32i a4, a1, PT_AREG4
712 l32i a5, a1, PT_AREG5
713 l32i a6, a1, PT_AREG6
714 l32i a7, a1, PT_AREG7
716 l32i a8, a1, PT_AREG8
717 l32i a9, a1, PT_AREG9
718 l32i a10, a1, PT_AREG10
719 l32i a11, a1, PT_AREG11
721 l32i a12, a1, PT_AREG12
722 l32i a13, a1, PT_AREG13
723 l32i a14, a1, PT_AREG14
724 l32i a15, a1, PT_AREG15
728 1: l32i a2, a1, PT_PC
729 l32i a3, a1, PT_SAR
735 l32i a2, a1, PT_LBEG
736 l32i a3, a1, PT_LEND
738 l32i a2, a1, PT_LCOUNT
745 l32i a2, a1, PT_ICOUNTLEVEL
752 l32i a0, a1, PT_DEPC
753 l32i a3, a1, PT_AREG3
754 l32i a2, a1, PT_AREG2
759 l32i a0, a1, PT_AREG0
760 l32i a1, a1, PT_AREG1
764 l32i a0, a1, PT_AREG0
765 l32i a1, a1, PT_AREG1
804 addi a2, a1, -16-PT_SIZE # assume kernel stack
807 s32i a1, a2, PT_AREG1
815 mov a1, a2
823 GET_THREAD_INFO(a2, a1)
924 movi a1, 0
927 wsr a1, windowbase
930 movi a1, PS_WOE_MASK | LOCKLEVEL
931 wsr a1, ps
934 movi a1, init_task
936 addi a1, a1, PT_REGS_OFFSET
980 * a1: a1
997 l32i a1, a6, PT_DEPC
999 wsr a1, depc
1025 * a1: a1
1062 * a1: a1
1112 * a1: a1
1200 * a1: a1
1395 movi a1, 0
1398 wsr a1, windowbase
1404 l32i a1, a3, EXC_TABLE_KSTK
1473 * a0, a1, a2 same
1484 * a1: used, stack pointer
1578 * a1: a1
1590 /* Save a1 and a3. Note: we don't expect a double exception. */
1592 s32i a1, a2, PT_AREG1
1611 GET_CURRENT(a1,a2)
1612 l32i a0, a1, TASK_MM # tsk->mm
1616 _PGD_OFFSET(a0, a3, a1)
1634 movi a1, (PHYS_OFFSET - PAGE_OFFSET) & 0xffffffff
1635 add a0, a0, a1 # pmdval - PAGE_OFFSET
1636 extui a1, a0, 0, PAGE_SHIFT # ... & PAGE_MASK
1637 xor a0, a0, a1
1639 movi a1, _PAGE_DIRECTORY
1640 or a0, a0, a1 # ... | PAGE_DIRECTORY
1653 rsr a1, ptevaddr
1655 srli a1, a1, PAGE_SHIFT
1657 slli a1, a1, PAGE_SHIFT # ptevaddr & PAGE_MASK
1659 add a1, a1, a3 # ... + way_number
1661 3: wdtlb a0, a1
1673 l32i a1, a2, PT_AREG1
1690 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1728 addi a1, a0, -TLBTEMP_SIZE
1729 bgeu a1, a3, 2f
1733 movi a1, __tlbtemp_mapping_itlb
1735 sub a3, a3, a1
1739 movi a1, PAGE_MASK
1740 and a1, a1, a0
1749 add a1, a3, a1
1759 1: witlb a6, a1
1769 rsr a1, depc
1770 s32i a1, a2, PT_AREG2
1771 mov a1, a2
1788 * a1: a1
1800 /* Save a1 and a3. */
1802 s32i a1, a2, PT_AREG1
1805 GET_CURRENT(a1,a2)
1806 l32i a0, a1, TASK_MM # tsk->mm
1809 8: rsr a1, excvaddr # fault address
1810 _PGD_OFFSET(a0, a1, a3)
1819 _PTE_OFFSET(a0, a1, a3)
1821 movi a1, _PAGE_CA_INVALID
1822 ball a3, a1, 2f
1825 movi a1, _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_HW_WRITE
1826 or a3, a3, a1
1827 rsr a1, excvaddr
1834 pdtlb a0, a1
1846 l32i a1, a2, PT_AREG1
1861 9: l32i a0, a1, TASK_ACTIVE_MM # unlikely case mm == 0
1868 mov a1, a2
1897 GET_THREAD_INFO(a4, a1)
1959 _entry a1, 48
1963 _entry a1, 48
1967 _entry a1, 16
2003 s32i a1, a10, THREAD_SP - TASK_THREAD # save stack pointer
2006 s32i a1, a2, THREAD_SP # save stack pointer
2051 l32i a1, a11, THREAD_SP # restore stack pointer
2069 mov a6, a1