parisc: Convert PTE lookup to use extru_safe() macro
Convert the PTE lookup functions to use the safer extru_safe macro. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
df2ffeda63
commit
3fbdc121bd
@ -366,17 +366,9 @@
|
|||||||
*/
|
*/
|
||||||
.macro L2_ptep pmd,pte,index,va,fault
|
.macro L2_ptep pmd,pte,index,va,fault
|
||||||
#if CONFIG_PGTABLE_LEVELS == 3
|
#if CONFIG_PGTABLE_LEVELS == 3
|
||||||
extru \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index
|
extru_safe \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index
|
||||||
#else
|
#else
|
||||||
# if defined(CONFIG_64BIT)
|
extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
|
||||||
extrd,u \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
|
|
||||||
#else
|
|
||||||
# if PAGE_SIZE > 4096
|
|
||||||
extru \va,31-ASM_PGDIR_SHIFT,32-ASM_PGDIR_SHIFT,\index
|
|
||||||
# else
|
|
||||||
extru \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
|
dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
|
||||||
#if CONFIG_PGTABLE_LEVELS < 3
|
#if CONFIG_PGTABLE_LEVELS < 3
|
||||||
@ -386,7 +378,7 @@
|
|||||||
bb,>=,n \pmd,_PxD_PRESENT_BIT,\fault
|
bb,>=,n \pmd,_PxD_PRESENT_BIT,\fault
|
||||||
dep %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */
|
dep %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */
|
||||||
SHLREG \pmd,PxD_VALUE_SHIFT,\pmd
|
SHLREG \pmd,PxD_VALUE_SHIFT,\pmd
|
||||||
extru \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
|
extru_safe \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
|
||||||
dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
|
dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
|
||||||
shladd \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
|
shladd \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
|
||||||
.endm
|
.endm
|
||||||
|
Loading…
x
Reference in New Issue
Block a user