]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
parisc: Drop two instructions from pte lookup code
authorHelge Deller <deller@gmx.de>
Fri, 19 Oct 2018 18:36:15 +0000 (20:36 +0200)
committerHelge Deller <deller@gmx.de>
Fri, 19 Oct 2018 20:22:06 +0000 (22:22 +0200)
Remove two instruction from the hot path. The temporary move to %r9 is
unneccessary, and the zero-inialization of pte happens twice.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/entry.S

index d3e2633cd688ef01a8940fec364d97eb030f12dd..1c60408a64ad3b46b3fd1fed63e96329f3221c8f 100644 (file)
        ldw,s           \index(\pmd),\pmd
        bb,>=,n         \pmd,_PxD_PRESENT_BIT,\fault
        dep             %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */
-       copy            \pmd,%r9
-       SHLREG          %r9,PxD_VALUE_SHIFT,\pmd
+       SHLREG          \pmd,PxD_VALUE_SHIFT,\pmd
        extru           \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
        dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */
        shladd          \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
        .macro          L3_ptep pgd,pte,index,va,fault
 #if CONFIG_PGTABLE_LEVELS == 3 /* we might have a 2-Level scheme, e.g. with 16kb page size */
        extrd,u         \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
-       copy            %r0,\pte
        extrd,u,*=      \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0
        ldw,s           \index(\pgd),\pgd
        extrd,u,*=      \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0