···28282929void flush_hugetlb_page(struct vm_area_struct *vma, unsigned long vmaddr);30303131+static inline void hugepd_populate(hugepd_t *hpdp, pte_t *new, unsigned int pshift)3232+{3333+ /* We use the old format for PPC_FSL_BOOK3E */3434+ *hpdp = __hugepd(((unsigned long)new & ~PD_HUGE) | pshift);3535+}3636+3137#endif /* _ASM_POWERPC_NOHASH_HUGETLB_BOOK3E_H */
+1-19
arch/powerpc/mm/hugetlbpage.c
···2626#include <asm/hugetlb.h>2727#include <asm/pte-walk.h>28282929-#define PAGE_SHIFT_64K 163030-#define PAGE_SHIFT_512K 193131-#define PAGE_SHIFT_8M 233232-#define PAGE_SHIFT_16M 243333-#define PAGE_SHIFT_16G 343434-3529bool hugetlb_disabled = false;36303731unsigned int HPAGE_SHIFT;···8995 for (i = 0; i < num_hugepd; i++, hpdp++) {9096 if (unlikely(!hugepd_none(*hpdp)))9197 break;9292- else {9393-#ifdef CONFIG_PPC_BOOK3S_649494- *hpdp = __hugepd(__pa(new) | HUGEPD_VAL_BITS |9595- (shift_to_mmu_psize(pshift) << 2));9696-#elif defined(CONFIG_PPC_8xx)9797- *hpdp = __hugepd(__pa(new) | _PMD_USER |9898- (pshift == PAGE_SHIFT_8M ? _PMD_PAGE_8M :9999- _PMD_PAGE_512K) | _PMD_PRESENT);100100-#else101101- /* We use the old format for PPC_FSL_BOOK3E */102102- *hpdp = __hugepd(((unsigned long)new & ~PD_HUGE) | pshift);103103-#endif104104- }9898+ hugepd_populate(hpdp, new, pshift);10599 }106100 /* If we bailed from the for loop early, an error occurred, clean up */107101 if (i < num_hugepd) {