s390/mm: keep fault_init() private to fault.c
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 30 Oct 2012 13:49:37 +0000 (14:49 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 23 Nov 2012 10:14:29 +0000 (11:14 +0100)
Just convert fault_init() to an early initcall. That's still early
enough since it only needs be called before user space processes get
executed. No reason to externalize it.
Also add the function to the init section and move the store_indication
variable to the read_mostly section.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pgtable.h
arch/s390/mm/fault.c
arch/s390/mm/init.c

index 0eefb9e192d18898b48ef254df1008ff4480bf34..23d9a8af6f480a3047fa50228b827b931e625f28 100644 (file)
@@ -35,7 +35,6 @@
 extern pgd_t swapper_pg_dir[] __attribute__ ((aligned (4096)));
 extern void paging_init(void);
 extern void vmem_map_init(void);
-extern void fault_init(void);
 
 /*
  * The S390 doesn't have any external MMU info: the kernel page
index 04ad4001a289e05c89d30b5d6aaad9573b2ca388..870a644895f0e791f2a47ae5158e2c7159e85858 100644 (file)
 #define VM_FAULT_BADCONTEXT    0x010000
 #define VM_FAULT_BADMAP                0x020000
 #define VM_FAULT_BADACCESS     0x040000
-#define VM_FAULT_SIGNAL        0x080000
+#define VM_FAULT_SIGNAL                0x080000
 
-static unsigned long store_indication;
+static unsigned long store_indication __read_mostly;
 
-void fault_init(void)
+#ifdef CONFIG_64BIT
+static int __init fault_init(void)
 {
-       if (test_facility(2) && test_facility(75))
+       if (test_facility(75))
                store_indication = 0xc00;
+       return 0;
 }
+early_initcall(fault_init);
+#endif
 
 static inline int notify_page_fault(struct pt_regs *regs)
 {
index 81e596c65dee089dac921691c6b3ecec9beff4e1..c6188ef72d33fcf6c56bc98609930fd0681d96a7 100644 (file)
@@ -125,7 +125,6 @@ void __init paging_init(void)
        max_zone_pfns[ZONE_DMA] = PFN_DOWN(MAX_DMA_ADDRESS);
        max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
        free_area_init_nodes(max_zone_pfns);
-       fault_init();
 }
 
 void __init mem_init(void)