Bladeren bron

sh: Add a machvec callback for early memblock reservations.

This adds in a callback to the machvec to allow platforms to do early
reservations through memblock.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 14 jaren geleden
bovenliggende
commit
2f5998610a
2 gewijzigde bestanden met toevoegingen van 9 en 2 verwijderingen
  1. 1 0
      arch/sh/include/asm/machvec.h
  2. 8 2
      arch/sh/mm/init.c

+ 1 - 0
arch/sh/include/asm/machvec.h

@@ -31,6 +31,7 @@ struct sh_machine_vector {
 	int (*mv_mode_pins)(void);
 
 	void (*mv_mem_init)(void);
+	void (*mv_mem_reserve)(void);
 };
 
 extern struct sh_machine_vector sh_mv;

+ 8 - 2
arch/sh/mm/init.c

@@ -2,7 +2,7 @@
  * linux/arch/sh/mm/init.c
  *
  *  Copyright (C) 1999  Niibe Yutaka
- *  Copyright (C) 2002 - 2010  Paul Mundt
+ *  Copyright (C) 2002 - 2011  Paul Mundt
  *
  *  Based on linux/arch/i386/mm/init.c:
  *   Copyright (C) 1995  Linus Torvalds
@@ -325,11 +325,17 @@ void __init paging_init(void)
 	int nid;
 
 	memblock_init();
-
 	sh_mv.mv_mem_init();
 
 	early_reserve_mem();
 
+	/*
+	 * Once the early reservations are out of the way, give the
+	 * platforms a chance to kick out some memory.
+	 */
+	if (sh_mv.mv_mem_reserve)
+		sh_mv.mv_mem_reserve();
+
 	memblock_enforce_memory_limit(memory_limit);
 	memblock_analyze();