|
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
|
488 | 488 | extrd,u,*= \tmp,_PAGE_HPAGE_BIT+32,1,%r0
|
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
|
|
0 commit comments