Lines Matching +full:0 +full:xff00
44 #define RESTORE_SRS(pmap,sr) mtsr 0,sr; \
76 lwz pmap,TRAP_TOCBASE(0); \
250 .word 0
251 .word 0
265 /* 64-bit test code. Sets SPRG2 to 0 if an illegal instruction is executed */
274 li %r31, 0
304 lwz %r31, TRAP_GENTRAP(0)
318 lwz %r30,TRAP_TOCBASE(0)
328 cmplwi %cr0,%r3,0
351 lwz %r1, TRAP_ENTRY(0) /* Get branch address */
353 li %r1, 0xe0 /* How to get the vector from LR */
354 blrl /* LR & (0xff00 | r1) is exception # */
385 lwz %r31, TRAP_GENTRAP(0)
397 addi %r1, 0, 8 /* load 8 for counter */
405 cmp 0, 0, %r1, %r3 /* see if found pte */
416 mtcrf 0x80, %r3 /* restore CR0 */
418 ori %r1, %r1, 0x100 /* set reference bit */
425 andi. %r1, %r3, 0x0040 /* see if we have done second hash */
428 ori %r3, %r3, 0x0040 /* change the compare value */
429 addi %r1, 0, 8 /* load 8 for counter */
436 andi. %r2, %r3, 0xffff /* clean upper srr1 */
437 addis %r2, %r2, 0x0800 /* or in srr<4> = 1 to flag prot
442 andi. %r2, %r3, 0xffff /* clean srr1 */
443 addis %r2, %r2, 0x4000 /* or in srr1<1> = 1 to flag pte
449 xoris %r0, %r0, 0x2 /* flip the msr<tgpr> bit */
450 mtcrf 0x80, %r3 /* restore CR0 */
462 addi %r1, 0, 8 /* load 8 for counter */
470 cmp 0, 0, %r1, %r3 /* see if found pte */
479 mtcrf 0x80, %r3 /* restore CR0 */
481 ori %r1, %r1, 0x100 /* set reference bit */
488 andi. %r1, %r3, 0x0040 /* see if we have done second hash */
491 ori %r3, %r3, 0x0040 /* change the compare value */
492 addi %r1, 0, 8 /* load 8 for counter */
504 addi %r1, 0, 8 /* load 8 for counter */
512 cmp 0, 0, %r1, %r3 /* see if found pte */
518 andi. %r3, %r1, 0x80 /* check the C-bit */
519 beq data_store_chk_prot /* if (C==0)
525 mtcrf 0x80, %r3 /* restore CR0 */
531 andi. %r1, %r3, 0x0040 /* see if we have done second hash */
534 ori %r3, %r3, 0x0040 /* change the compare value */
535 addi %r1, 0, 8 /* load 8 for counter */
541 rlwinm. %r3,%r1,30,0,1 /* test PP */
544 andi. %r3, %r1, 1 /* test PP[0] */
545 beq+ chk2 /* return if PP[0] == 0 */
549 andis. %r3,%r3,0x0008 /* test the KEY bit (SRR1-bit 12) */
550 beq chk2 /* if (KEY==0) goto chk2: */
553 ori %r1, %r1, 0x180 /* set reference and change bit */
562 addis %r1, %r1, 0x4000 /* or in dsisr<1> = 1 to flag pte
570 addis %r1, %r1, 0x0800 /* or in dsisr<4> = 1 to flag prot
575 andi. %r2, %r3, 0xffff /* clear upper bits of srr1 */
579 rlwinm. %r2,%r2,0,31,31 /* test LE bit */
581 xor %r1, %r1, 0x07 /* de-mung the data address */
585 xoris %r0, %r0, 0x2 /* flip the msr<tgpr> bit */
586 mtcrf 0x80, %r3 /* restore CR0 */
616 lwz %r30,TRAP_TOCBASE(0)
619 lwz %r30,0(%r31)
651 lwz %r1, TRAP_GENTRAP(0)
661 /* Write the trap vector to SPRG3 by computing LR & 0xff00 */
663 andi. %r1,%r1,0xff00
728 * R1 - Trap vector = LR & (0xff00 | R1)
759 ori %r31,%r31,0xff00
805 cmpwi %r4, 0
854 /* Write the trap vector to SPRG3 by computing LR & 0xff00 */
856 andi. %r1,%r1,0xff00
859 lwz %r1,TRAP_TOCBASE(0) /* get new SP */
909 lwz %r1, TRAP_ENTRY(0) /* Get branch address */
911 li %r1, 0 /* How to get the vector from LR */
912 blrl /* LR & (0xff00 | r1) is exception # */
924 lwz %r1, TRAP_GENTRAP(0)