Lines Matching refs:PTE
194 ; OUT: r0 = PTE faulted on, r1 = ptr to PTE, r2 = Faulting V-address
215 bnz.d 2f ; YES: PGD == PMD has THP PTE: stop pgd walk
221 ; Get the PTE entry: The idea is
235 ld.aw r0, [r1, r0] ; r0: PTE (lower word only for PAE40)
236 ; r1: PTE ptr
243 ; Convert Linux PTE entry into TLB entry
244 ; A one-word PTE entry is programmed as two-word TLB Entry [PD0:PD1] in mmu
245 ; (for PAE40, two-words PTE, while three-word TLB Entry [PD0:PD1:PD1HI])
246 ; IN: r0 = PTE, r1 = ptr to PTE
254 and r3, r0, PTE_BITS_NON_RWX_IN_PD1 ; Extract PFN+cache bits from PTE
263 and r2, r0, PTE_BITS_IN_PD0 ; Extract other PTE flags: (V)alid, (G)lb
313 ; Get the PTE corresponding to V-addr accessed, r2 is setup with EFA
317 ; VERIFY_PTE: Check if PTE permissions approp for executing code
322 and r3, r0, r2 ; Mask out NON Flag bits from PTE
328 st_s r0, [r1] ; Write back PTE
347 ; Get the PTE corresponding to V-addr accessed
348 ; If PTE exists, it will setup, r0 = PTE, r1 = Ptr to PTE, r2 = EFA
352 ; VERIFY_PTE: Chk if PTE permissions approp for data access (R/W/R+W)
355 mov_s r2, _PAGE_PRESENT ; common bit for K/U PTE
356 or.hs r2, r2, _PAGE_GLOBAL ; kernel PTE only
358 ; Linux PTE [RWX] bits are semantically overloaded:
365 or.nz r2, r2, _PAGE_READ ; chk for Read flag in PTE
367 or.nz r2, r2, _PAGE_WRITE ; chk for Write flag in PTE
370 ; By now, r2 setup with all the Flags we need to check in PTE
371 and r3, r0, r2 ; Mask out NON Flag bits from PTE
380 st_s r0, [r1] ; Write back PTE