parisc/pgtable: Do not drop upper 5 address bits of physical address

When calculating the pfn for the iitlbt/idtlbt instruction, do not
drop the upper 5 address bits. This doesn't seem to have an effect
on physical hardware which uses less physical address bits, but in
qemu the missing bits are visible.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org>

Changed files
+3 -4
arch
parisc
kernel
+3 -4
arch/parisc/kernel/entry.S
··· 475 475 * to a CPU TLB 4k PFN (4k => 12 bits to shift) */ 476 476 #define PAGE_ADD_SHIFT (PAGE_SHIFT-12) 477 477 #define PAGE_ADD_HUGE_SHIFT (REAL_HPAGE_SHIFT-12) 478 + #define PFN_START_BIT (63-ASM_PFN_PTE_SHIFT+(63-58)-PAGE_ADD_SHIFT) 478 479 479 480 /* Drop prot bits and convert to page addr for iitlbt and idtlbt */ 480 481 .macro convert_for_tlb_insert20 pte,tmp 481 482 #ifdef CONFIG_HUGETLB_PAGE 482 483 copy \pte,\tmp 483 - extrd,u \tmp,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\ 484 - 64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte 484 + extrd,u \tmp,PFN_START_BIT,PFN_START_BIT+1,\pte 485 485 486 486 depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\ 487 487 (63-58)+PAGE_ADD_SHIFT,\pte ··· 489 489 depdi _HUGE_PAGE_SIZE_ENCODING_DEFAULT,63,\ 490 490 (63-58)+PAGE_ADD_HUGE_SHIFT,\pte 491 491 #else /* Huge pages disabled */ 492 - extrd,u \pte,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\ 493 - 64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte 492 + extrd,u \pte,PFN_START_BIT,PFN_START_BIT+1,\pte 494 493 depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\ 495 494 (63-58)+PAGE_ADD_SHIFT,\pte 496 495 #endif