From 010ee2ec9c603bc5868a29b5b7c77a5f1d1f4410 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Tue, 30 Oct 2012 14:49:37 +0100 Subject: [PATCH] --- yaml --- r: 343385 b: refs/heads/master c: a4f32bdbd9c5807af1e80e2ba91ef52845a236a8 h: refs/heads/master i: 343383: b3945b18b5038b27a563a3208340373346ccbec8 v: v3 --- [refs] | 2 +- trunk/arch/s390/include/asm/pgtable.h | 1 - trunk/arch/s390/mm/fault.c | 12 ++++++++---- trunk/arch/s390/mm/init.c | 1 - 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index ab7aa86156c4..d7149bf84c4b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 287a0933237a227d1d6508de0ad6425b55a60476 +refs/heads/master: a4f32bdbd9c5807af1e80e2ba91ef52845a236a8 diff --git a/trunk/arch/s390/include/asm/pgtable.h b/trunk/arch/s390/include/asm/pgtable.h index 0eefb9e192d1..23d9a8af6f48 100644 --- a/trunk/arch/s390/include/asm/pgtable.h +++ b/trunk/arch/s390/include/asm/pgtable.h @@ -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 diff --git a/trunk/arch/s390/mm/fault.c b/trunk/arch/s390/mm/fault.c index 04ad4001a289..870a644895f0 100644 --- a/trunk/arch/s390/mm/fault.c +++ b/trunk/arch/s390/mm/fault.c @@ -49,15 +49,19 @@ #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) { diff --git a/trunk/arch/s390/mm/init.c b/trunk/arch/s390/mm/init.c index 81e596c65dee..c6188ef72d33 100644 --- a/trunk/arch/s390/mm/init.c +++ b/trunk/arch/s390/mm/init.c @@ -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)