}
        global_cache_flush();
 #else
-       set_memory_uc(page_map->real, 1);
+       set_memory_uc((unsigned long)page_map->real, 1);
        page_map->remapped = page_map->real;
 #endif
 
        iounmap(page_map->remapped);
        ClearPageReserved(virt_to_page(page_map->real));
 #else
-       set_memory_wb(page_map->real, 1);
+       set_memory_wb((unsigned long)page_map->real, 1);
 #endif
        free_page((unsigned long) page_map->real);
 }
 
        if (page_map->real == NULL)
                return -ENOMEM;
 
-       set_memory_uc(page_map->real, 1);
+       set_memory_uc((unsigned long)page_map->real, 1);
        err = map_page_into_agp(virt_to_page(page_map->real));
        page_map->remapped = page_map->real;
 
 static void ati_free_page_map(struct ati_page_map *page_map)
 {
        unmap_page_from_agp(virt_to_page(page_map->real));
-       set_memory_wb(page_map->real, 1);
+       set_memory_wb((unsigned long)page_map->real, 1);
        free_page((unsigned long) page_map->real);
 }
 
 
                return -ENOMEM;
        }
 
-       set_memory_uc(page_map->real, 1);
+       set_memory_uc((unsigned long)page_map->real, 1);
        page_map->remapped = page_map->real;
 
        for (i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++)
 
 static void serverworks_free_page_map(struct serverworks_page_map *page_map)
 {
-       set_memory_wb(page_map->real, 1);
+       set_memory_wb((unsigned long)page_map->real, 1);
        free_page((unsigned long) page_map->real);
 }