#define hyp_pgd_order get_order(PTRS_PER_PGD * sizeof(pgd_t))
 
-#define kvm_pmd_huge(_x)       (pmd_huge(_x) || pmd_trans_huge(_x))
 #define kvm_pud_huge(_x)       pud_huge(_x)
 
 #define KVM_S2PTE_FLAG_IS_IOMAP                (1UL << 0)
  */
 static void stage2_dissolve_pmd(struct kvm *kvm, phys_addr_t addr, pmd_t *pmd)
 {
-       if (!kvm_pmd_huge(*pmd))
+       if (!pmd_thp_or_huge(*pmd))
                return;
 
        pmd_clear(pmd);
 static void clear_pmd_entry(struct kvm *kvm, pmd_t *pmd, phys_addr_t addr)
 {
        pte_t *pte_table = pte_offset_kernel(pmd, 0);
-       VM_BUG_ON(kvm_pmd_huge(*pmd));
+       VM_BUG_ON(pmd_thp_or_huge(*pmd));
        pmd_clear(pmd);
        kvm_tlb_flush_vmid_ipa(kvm, addr);
        pte_free_kernel(NULL, pte_table);
        do {
                next = kvm_pmd_addr_end(addr, end);
                if (!pmd_none(*pmd)) {
-                       if (kvm_pmd_huge(*pmd)) {
+                       if (pmd_thp_or_huge(*pmd)) {
                                pmd_t old_pmd = *pmd;
 
                                pmd_clear(pmd);
        do {
                next = kvm_pmd_addr_end(addr, end);
                if (!pmd_none(*pmd)) {
-                       if (kvm_pmd_huge(*pmd))
+                       if (pmd_thp_or_huge(*pmd))
                                kvm_flush_dcache_pmd(*pmd);
                        else
                                stage2_flush_ptes(kvm, pmd, addr, next);
        do {
                next = kvm_pmd_addr_end(addr, end);
                if (!pmd_none(*pmd)) {
-                       if (kvm_pmd_huge(*pmd)) {
+                       if (pmd_thp_or_huge(*pmd)) {
                                if (!kvm_s2pmd_readonly(pmd))
                                        kvm_set_s2pmd_readonly(pmd);
                        } else {
        if (!pmd || pmd_none(*pmd))     /* Nothing there */
                goto out;
 
-       if (kvm_pmd_huge(*pmd)) {       /* THP, HugeTLB */
+       if (pmd_thp_or_huge(*pmd)) {    /* THP, HugeTLB */
                *pmd = pmd_mkyoung(*pmd);
                pfn = pmd_pfn(*pmd);
                pfn_valid = true;
        if (!pmd || pmd_none(*pmd))     /* Nothing there */
                return 0;
 
-       if (kvm_pmd_huge(*pmd)) {       /* THP, HugeTLB */
+       if (pmd_thp_or_huge(*pmd)) {    /* THP, HugeTLB */
                if (pmd_young(*pmd)) {
                        *pmd = pmd_mkold(*pmd);
                        return 1;
        if (!pmd || pmd_none(*pmd))     /* Nothing there */
                return 0;
 
-       if (kvm_pmd_huge(*pmd))         /* THP, HugeTLB */
+       if (pmd_thp_or_huge(*pmd))              /* THP, HugeTLB */
                return pmd_young(*pmd);
 
        pte = pte_offset_kernel(pmd, gpa);