patch-2.4.0-test5 linux/arch/arm/mm/init.c
Next file: linux/arch/arm/mm/mm-sa1100.c
Previous file: linux/arch/arm/lib/Makefile
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
Tue Jul 18 22:43:24 2000
- Orig file:
v2.4.0-test4/linux/arch/arm/mm/init.c
- Orig date:
Fri Jun 23 21:55:07 2000
diff -u --recursive --new-file v2.4.0-test4/linux/arch/arm/mm/init.c linux/arch/arm/mm/init.c
@@ -623,17 +623,31 @@
}
#ifdef CONFIG_BLK_DEV_INITRD
+
+static int keep_initrd;
+
void free_initrd_mem(unsigned long start, unsigned long end)
{
unsigned long addr;
- for (addr = start; addr < end; addr += PAGE_SIZE) {
- ClearPageReserved(mem_map + MAP_NR(addr));
- set_page_count(mem_map+MAP_NR(addr), 1);
- free_page(addr);
- totalram_pages++;
+
+ if (!keep_initrd) {
+ for (addr = start; addr < end; addr += PAGE_SIZE) {
+ ClearPageReserved(mem_map + MAP_NR(addr));
+ set_page_count(mem_map+MAP_NR(addr), 1);
+ free_page(addr);
+ totalram_pages++;
+ }
+ printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
}
- printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
}
+
+static int __init keepinitrd_setup(char *__unused)
+{
+ keep_initrd = 1;
+ return 1;
+}
+
+__setup("keepinitrd", keepinitrd_setup);
#endif
void si_meminfo(struct sysinfo *val)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)