Lines Matching refs:PTE
201 ; OUT: r0 = PTE faulted on, r1 = ptr to PTE, r2 = Faulting V-address
222 bnz.d 2f ; YES: PGD == PMD has THP PTE: stop pgd walk
228 ; Get the PTE entry: The idea is
242 ld.aw r0, [r1, r0] ; r0: PTE (lower word only for PAE40)
243 ; r1: PTE ptr
250 ; Convert Linux PTE entry into TLB entry
251 ; A one-word PTE entry is programmed as two-word TLB Entry [PD0:PD1] in mmu
252 ; (for PAE40, two-words PTE, while three-word TLB Entry [PD0:PD1:PD1HI])
253 ; IN: r0 = PTE, r1 = ptr to PTE
261 and r3, r0, PTE_BITS_NON_RWX_IN_PD1 ; Extract PFN+cache bits from PTE
270 and r2, r0, PTE_BITS_IN_PD0 ; Extract other PTE flags: (V)alid, (G)lb
309 ; Get the PTE corresponding to V-addr accessed, r2 is setup with EFA
313 ; VERIFY_PTE: Check if PTE permissions approp for executing code
318 and r3, r0, r2 ; Mask out NON Flag bits from PTE
324 st_s r0, [r1] ; Write back PTE
343 ; Get the PTE corresponding to V-addr accessed
344 ; If PTE exists, it will setup, r0 = PTE, r1 = Ptr to PTE, r2 = EFA
348 ; VERIFY_PTE: Chk if PTE permissions approp for data access (R/W/R+W)
351 mov_s r2, _PAGE_PRESENT ; common bit for K/U PTE
352 or.hs r2, r2, _PAGE_GLOBAL ; kernel PTE only
354 ; Linux PTE [RWX] bits are semantically overloaded:
361 or.nz r2, r2, _PAGE_READ ; chk for Read flag in PTE
363 or.nz r2, r2, _PAGE_WRITE ; chk for Write flag in PTE
366 ; By now, r2 setup with all the Flags we need to check in PTE
367 and r3, r0, r2 ; Mask out NON Flag bits from PTE
374 st_s r0, [r1] ; Write back PTE