pages = SECTION_ALIGN_UP(pages);
        /* keep vmemmap_start aligned to a top level region table entry */
        vmemmap_start = round_down(VMALLOC_START - pages * sizeof(struct page), rte_size);
-       /* vmemmap_start is the future VMEM_MAX_PHYS, make sure it is within MAX_PHYSMEM */
        vmemmap_start = min(vmemmap_start, 1UL << MAX_PHYSMEM_BITS);
        /* make sure identity map doesn't overlay with vmemmap */
        ident_map_size = min(ident_map_size, vmemmap_start);
 
 extern struct page *__bootdata_preserved(vmemmap);
 extern unsigned long __bootdata_preserved(vmemmap_size);
 
-#define VMEM_MAX_PHYS ((unsigned long) vmemmap)
-
 extern unsigned long __bootdata_preserved(MODULES_VADDR);
 extern unsigned long __bootdata_preserved(MODULES_END);
 #define MODULES_VADDR  MODULES_VADDR
 
                break;
        case -ERANGE:
                pr_err("DCSS %s exceeds the kernel mapping range (%lu) "
-                      "and cannot be loaded\n", seg_name, VMEM_MAX_PHYS);
+                      "and cannot be loaded\n", seg_name, ident_map_size);
                break;
        default:
                break;
 
        struct range mhp_range;
 
        mhp_range.start = 0;
-       mhp_range.end =  VMEM_MAX_PHYS - 1;
+       mhp_range.end = ident_map_size - 1;
        return mhp_range;
 }
 
 
                goto skip_add;
        start = rn2addr(first_rn);
        size = (unsigned long long) num * sclp.rzm;
-       if (start >= VMEM_MAX_PHYS)
+       if (start >= ident_map_size)
                goto skip_add;
-       if (start + size > VMEM_MAX_PHYS)
-               size = VMEM_MAX_PHYS - start;
+       if (start + size > ident_map_size)
+               size = ident_map_size - start;
        if (start >= ident_map_size)
                goto skip_add;
        if (start + size > ident_map_size)