Lines Matching refs:r8
47 * Uses r0, r3 - r6, r8, r10, ctr, lr.
52 lis r8, (mmu_hash_lock - PAGE_OFFSET)@h
53 ori r8, r8, (mmu_hash_lock - PAGE_OFFSET)@l
56 11: lwz r6,0(r8)
59 10: lwarx r6,0,r8
62 stwcx. r0,0,r8
69 mfspr r8,SPRN_SPRG_THREAD /* current task's THREAD (phys) */
71 lwz r5,PGDIR(r8) /* virt page-table root */
79 lwz r8,0(r5) /* get pmd entry */
80 rlwinm. r8,r8,0,0,19 /* extract address of pte page */
82 rlwinm r8,r4,13,19,29 /* Compute pgdir/pmd offset */
83 lwzx r8,r8,r5 /* Get L1 entry */
84 rlwinm. r8,r8,0,0,20 /* extract pt base address */
96 rlwimi r8,r4,22,20,29 /* insert next 10 bits of address */
98 rlwimi r8,r4,23,20,28 /* compute pte address */
103 addi r8,r8,PTE_FLAGS_OFFSET
113 lwarx r6,0,r8 /* get linux-style pte, flag word */
134 subf r10,r6,r8 /* create false data dependency */
138 lwz r10,-PTE_FLAGS_OFFSET(r8)
141 stwcx. r5,0,r8 /* attempt to update PTE */
149 lis r8, (mmu_hash_lock - PAGE_OFFSET)@ha
151 stw r0, (mmu_hash_lock - PAGE_OFFSET)@l(r8)
158 lis r8, (mmu_hash_lock - PAGE_OFFSET)@ha
160 stw r0, (mmu_hash_lock - PAGE_OFFSET)@l(r8)
179 lwz r8,TASK_CPU(r2) /* to go in mmu_hash_lock */
180 oris r8,r8,12
204 stwcx. r8,0,r6
218 mr r8,r5
220 rlwimi r8,r4,22,20,29
222 rlwimi r8,r4,23,20,28
223 addi r8,r8,PTE_FLAGS_OFFSET
225 1: lwarx r6,0,r8
230 subf r10,r6,r8 /* create false data dependency */
234 lwz r10,-PTE_FLAGS_OFFSET(r8)
238 stwcx. r5,0,r8
279 * This procedure modifies r0, r3 - r6, r8, cr0.
309 /* Convert linux-style PTE (r5) to low word of PPC-style PTE (r8) */
310 rlwinm r8,r5,32-9,30,30 /* _PAGE_RW -> PP msb */
312 and r8,r8,r0 /* writable if _RW & _DIRTY */
315 ori r8,r8,0xe04 /* clear out reserved bits */
316 andc r8,r5,r8 /* PP = user? (rw&dirty? 1: 3): 0 */
318 rlwinm r8,r8,0,~_PAGE_COHERENT /* clear M (coherence not required) */
322 rlwimi r8,r10,8,20,22
323 rlwimi r8,r10,2,29,29
413 STPTE r8,HPTE_SIZE/2(r4)
439 STPTE r8,HPTE_SIZE/2(r4) /* put in correct RPN, WIMG, PP bits */
511 tophys (r8, r2)
512 lwz r8, TASK_CPU(r8)
513 oris r8,r8,9
517 stwcx. r8,0,r9
531 33: lwarx r8,0,r5 /* fetch the pte flags word */
532 andi. r0,r8,_PAGE_HASHPTE
534 rlwinm r8,r8,0,31,29 /* clear HASHPTE bit */
535 stwcx. r8,0,r5 /* update the pte */
542 0: lis r8, (Hash_base - PAGE_OFFSET)@h /* base address of hash table */
543 1: rlwimi r8,r3,LG_PTEG_SIZE,HASH_LEFT,HASH_RIGHT /* VSID -> hash */
545 xor r8,r0,r8 /* make primary hash */
550 addi r12,r8,-HPTE_SIZE
560 0: xoris r12,r8,Hash_msk>>16 /* compute secondary hash */