Skip to content

Commit 0316887

Browse files
hdellergregkh
authored andcommitted
parisc/pgtable: Do not drop upper 5 address bits of physical address
commit 166b011 upstream. 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 <[email protected]> Cc: <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 9464936 commit 0316887

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

arch/parisc/kernel/entry.S

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -521,22 +521,21 @@
521521
* to a CPU TLB 4k PFN (4k => 12 bits to shift) */
522522
#define PAGE_ADD_SHIFT (PAGE_SHIFT-12)
523523
#define PAGE_ADD_HUGE_SHIFT (REAL_HPAGE_SHIFT-12)
524+
#define PFN_START_BIT (63-ASM_PFN_PTE_SHIFT+(63-58)-PAGE_ADD_SHIFT)
524525

525526
/* Drop prot bits and convert to page addr for iitlbt and idtlbt */
526527
.macro convert_for_tlb_insert20 pte,tmp
527528
#ifdef CONFIG_HUGETLB_PAGE
528529
copy \pte,\tmp
529-
extrd,u \tmp,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\
530-
64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte
530+
extrd,u \tmp,PFN_START_BIT,PFN_START_BIT+1,\pte
531531

532532
depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\
533533
(63-58)+PAGE_ADD_SHIFT,\pte
534534
extrd,u,*= \tmp,_PAGE_HPAGE_BIT+32,1,%r0
535535
depdi _HUGE_PAGE_SIZE_ENCODING_DEFAULT,63,\
536536
(63-58)+PAGE_ADD_HUGE_SHIFT,\pte
537537
#else /* Huge pages disabled */
538-
extrd,u \pte,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\
539-
64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte
538+
extrd,u \pte,PFN_START_BIT,PFN_START_BIT+1,\pte
540539
depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\
541540
(63-58)+PAGE_ADD_SHIFT,\pte
542541
#endif

0 commit comments

Comments
 (0)