patch-2.4.0-test6 linux/arch/mips64/mm/init.c

Next file: linux/arch/mips64/mm/loadmmu.c
Previous file: linux/arch/mips64/mm/andes.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/arch/mips64/mm/init.c linux/arch/mips64/mm/init.c
@@ -200,7 +200,7 @@
 asmlinkage int sys_cacheflush(void *addr, int bytes, int cache)
 {
 	/* XXX Just get it working for now... */
-	flush_cache_all();
+	flush_cache_l1();
 	return 0;
 }
 
@@ -215,7 +215,8 @@
 
 unsigned long setup_zero_pages(void)
 {
-	unsigned long order, size, pg;
+	unsigned long order, size;
+	struct page *page;
 
 	switch (mips_cputype) {
 	case CPU_R4000SC:
@@ -232,11 +233,11 @@
 	if (!empty_zero_page)
 		panic("Oh boy, that early out of memory?");
 
-	pg = MAP_NR(empty_zero_page);
-	while (pg < MAP_NR(empty_zero_page) + (1 << order)) {
-		set_bit(PG_reserved, &mem_map[pg].flags);
-		set_page_count(mem_map + pg, 0);
-		pg++;
+	page = virt_to_page(empty_zero_page);
+	while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) {
+		set_bit(PG_reserved, &page->flags);
+		set_page_count(page, 0);
+		page++;
 	}
 
 	size = PAGE_SIZE << order;
@@ -374,8 +375,8 @@
 void free_initrd_mem(unsigned long start, unsigned long end)
 {
 	for (; start < end; start += PAGE_SIZE) {
-		ClearPageReserved(mem_map + MAP_NR(start));
-		set_page_count(mem_map+MAP_NR(start), 1);
+		ClearPageReserved(virt_to_page(start));
+		set_page_count(virt_to_page(start), 1);
 		free_page(start);
 		totalram_pages++;
 	}
@@ -396,8 +397,8 @@
 	addr = (unsigned long)(&__init_begin);
 	while (addr < (unsigned long)&__init_end) {
 		page = PAGE_OFFSET | CPHYSADDR(addr);
-		ClearPageReserved(mem_map + MAP_NR(page));
-		set_page_count(mem_map + MAP_NR(page), 1);
+		ClearPageReserved(virt_to_page(page));
+		set_page_count(virt_to_page(page), 1);
 		free_page(page);
 		totalram_pages++;
 		addr += PAGE_SIZE;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)