* create mm/init-mm.c, move init_mm there * remove INIT_MM, initialize init_mm with C99 initializer * unexport init_mm on all arches: init_mm is already unexported on x86. One strange place is some OMAP driver (drivers/video/omap/) which won't build modular, but it's already wants get_vm_area() export. Somebody should look there. [akpm@linux-foundation.org: add missing #includes] Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Cc: Americo Wang <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			538 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			538 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#include <linux/mm_types.h>
 | 
						|
#include <linux/rbtree.h>
 | 
						|
#include <linux/rwsem.h>
 | 
						|
#include <linux/spinlock.h>
 | 
						|
#include <linux/list.h>
 | 
						|
#include <linux/cpumask.h>
 | 
						|
 | 
						|
#include <asm/atomic.h>
 | 
						|
#include <asm/pgtable.h>
 | 
						|
 | 
						|
struct mm_struct init_mm = {
 | 
						|
	.mm_rb		= RB_ROOT,
 | 
						|
	.pgd		= swapper_pg_dir,
 | 
						|
	.mm_users	= ATOMIC_INIT(2),
 | 
						|
	.mm_count	= ATOMIC_INIT(1),
 | 
						|
	.mmap_sem	= __RWSEM_INITIALIZER(init_mm.mmap_sem),
 | 
						|
	.page_table_lock =  __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock),
 | 
						|
	.mmlist		= LIST_HEAD_INIT(init_mm.mmlist),
 | 
						|
	.cpu_vm_mask	= CPU_MASK_ALL,
 | 
						|
};
 |