Lines Matching refs:r21

118 	mtspr	SPRN_SPRG1,r21;         /* We need r21, move it to SPRG1   */\
120 mfspr r21,SPRN_SPRG2; /* Exception stack to use */\
121 cmpwi cr0,r21,0; /* From user mode or RTAS? */\
123 tophys(r21, r1); /* Convert vka in r1 to pka in r21 */\
124 subi r21,r21,INT_FRAME_SIZE; /* Allocate an exception frame */\
125 1: stw r20,_CCR(r21); /* Save CR on the stack */\
126 stw r22,GPR22(r21); /* Save r22 on the stack */\
127 stw r23,GPR23(r21); /* r23 Save on the stack */\
129 stw r20,GPR20(r21); /* Save r20 on the stack */\
131 stw r22,GPR21(r21); /* Save r21 on the stack */\
133 stw r20,_LINK(r21); /* Save LR on the stack */\
135 stw r22,_CTR(r21); /* Save CTR on the stack */\
137 stw r20,_XER(r21); /* Save XER on the stack */
140 stw r0,GPR0(r21); /* Save r0 on the stack */\
141 stw r1,GPR1(r21); /* Save r1 on the stack */\
142 stw r2,GPR2(r21); /* Save r2 on the stack */\
143 stw r1,0(r21); \
144 tovirt(r1,r21); /* Set-up new kernel stack pointer */\
145 SAVE_4GPRS(3, r21); /* Save r3 through r6 on the stack */\
146 SAVE_GPR(7, r21); /* Save r7 on the stack */
235 mtspr SPRG1, r21
239 mfcr r21
241 stw r21, 8(r0)
246 mfcr r21
248 mtspr SPRG7, r21
265 andis. r21, r20, 0x8000
267 lis r21, swapper_pg_dir@h
268 ori r21, r21, swapper_pg_dir@l
276 mfspr r21,SPRG3
277 lwz r21,PGDIR(r21)
279 tophys(r21, r21)
280 rlwimi r21, r20, 12, 20, 29 /* Create L1 (pgdir/pmd) address */
281 lwz r21, 0(r21) /* Get L1 entry */
282 rlwinm. r22, r21, 0, 0, 19 /* Extract L2 (pte) base address */
287 lwz r21, 0(r22) /* Get Linux PTE */
289 andi. r23, r21, _PAGE_RW /* Is it writeable? */
294 ori r21, r21, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE
295 stw r21, 0(r22) /* Update Linux page table */
306 andc r21, r21, r22 /* Make sure 20, 21 are zero */
307 ori r21, r21, _PAGE_HWEXEC /* make it executable */
313 tlbwe r21, r23, TLB_DATA /* Load TLB LO */
319 lwz r21, 8(r0)
321 mtcr r21
326 mfspr r21, SPRG7
328 mtcr r21
332 mfspr r21, SPRG1
344 lwz r21, 8(r0)
346 mtcr r21
351 mfspr r21, SPRG7
353 mtcr r21
357 mfspr r21, SPRG1
368 stw r5,_ESR(r21)
395 stw r4,_DEAR(r21)
407 stw r4,_ESR(r21)
422 stw r5,_ESR(r21)
424 stw r4,_DEAR(r21)
438 stw r3,ORIG_GPR3(r21)
484 mtspr SPRG1, r21
488 mfcr r21
490 stw r21, 8(r0)
495 mfcr r21
497 mtspr SPRG7, r21
505 andis. r21, r20, 0x8000
507 lis r21, swapper_pg_dir@h
508 ori r21, r21, swapper_pg_dir@l
516 mfspr r21,SPRG3
517 lwz r21,PGDIR(r21)
519 tophys(r21, r21)
520 rlwimi r21, r20, 12, 20, 29 /* Create L1 (pgdir/pmd) address */
521 lwz r21, 0(r21) /* Get L1 entry */
522 rlwinm. r22, r21, 0, 0, 19 /* Extract L2 (pte) base address */
527 lwz r21, 0(r22) /* Get Linux PTE */
528 andi. r23, r21, _PAGE_PRESENT
531 ori r21, r21, _PAGE_ACCESSED
532 stw r21, 0(r22)
543 andc r21, r21, r22 /* Make sure 20, 21 are zero */
554 lwz r21, 8(r0)
556 mtcr r21
561 mfspr r21, SPRG7
563 mtcr r21
567 mfspr r21, SPRG1
577 mtspr SPRG1, r21
581 mfcr r21
583 stw r21, 8(r0)
588 mfcr r21
590 mtspr SPRG7, r21
598 andis. r21, r20, 0x8000
600 lis r21, swapper_pg_dir@h
601 ori r21, r21, swapper_pg_dir@l
609 mfspr r21,SPRG3
610 lwz r21,PGDIR(r21)
612 tophys(r21, r21)
613 rlwimi r21, r20, 12, 20, 29 /* Create L1 (pgdir/pmd) address */
614 lwz r21, 0(r21) /* Get L1 entry */
615 rlwinm. r22, r21, 0, 0, 19 /* Extract L2 (pte) base address */
620 lwz r21, 0(r22) /* Get Linux PTE */
621 andi. r23, r21, _PAGE_PRESENT
624 ori r21, r21, _PAGE_ACCESSED
625 stw r21, 0(r22)
636 andc r21, r21, r22 /* Make sure 20, 21 are zero */
646 lwz r21, 8(r0)
648 mtcr r21
653 mfspr r21, SPRG7
655 mtcr r21
659 mfspr r21, SPRG1
719 mtspr SPRN_SPRG1,r21
722 mfspr r21,SPRN_SRR3 /* MSR at the time of fault */
723 andi. r21,r21,MSR_PR
726 mfspr r21,SPRN_SRR2 /* Faulting instruction address */
727 cmplwi r21,0x2100
730 lis r21,DBSR_IC@h /* Remove the trap status */
731 mtspr SPRN_DBSR,r21
733 mfspr r21,SPRN_SRR3
734 rlwinm r21,r21,0,23,21 /* clear MSR_DE */
735 mtspr SPRN_SRR3, r21 /* restore MSR at rcfi without DE */
738 mfspr r21,SPRN_SPRG1
747 mfspr r21,SPRN_SPRG1
786 ori r21, r21, _PAGE_HWEXEC /* make it executable */
787 tlbwe r21, r23, TLB_DATA /* Load TLB LO */
801 lwz r21, 8(r0)
803 mtcr r21
808 mfspr r21, SPRG7
810 mtcr r21
814 mfspr r21, SPRG1
825 stw r22,_NIP(r21) /* Save the faulting IP on the stack */
826 stw r23,_MSR(r21) /* Save the exception MSR on stack */
827 SAVE_4GPRS(8, r21) /* Save r8 through r11 on the stack */
828 SAVE_8GPRS(12, r21) /* Save r12 through r19 on the stack */
829 SAVE_8GPRS(24, r21) /* Save r24 through r31 on the stack */
841 stw r24,TRAP(r21)
845 stwcx. r22,r22,r21 /* Clear the reservation */
847 stw r22,RESULT(r21)
868 lwz r7,GPR7(r21)