vma->phys_addr = map->addr;
 
-       if (remap_area_pages((unsigned long)vma->addr, vma->phys_addr,
-                            map->size, flags)) {
+       if (ioremap_page_range((unsigned long)vma->addr,
+                              (unsigned long)vma->addr + map->size,
+                              vma->phys_addr, __pgprot(flags))) {
                vunmap(vma->addr);
                return -EAGAIN;
        }
 
        map->sq_addr = P4SEG_STORE_QUE + (page << PAGE_SHIFT);
 
-       ret = __sq_remap(map, flags);
+       ret = __sq_remap(map, pgprot_val(PAGE_KERNEL_NOCACHE) | flags);
        if (unlikely(ret != 0))
                goto out;
 
 
 
        emit_cache_params();
 
-       if (remap_area_pages(P3SEG, 0, PAGE_SIZE * 4, _PAGE_CACHABLE))
+       if (ioremap_page_range(P3SEG, P3SEG + (PAGE_SIZE * 4), 0, PAGE_KERNEL))
                panic("%s failed.", __FUNCTION__);
 
        for (i = 0; i < cpu_data->dcache.n_aliases; i++)