diff options
Diffstat (limited to 'arch/s390/mm/fault.c')
-rw-r--r-- | arch/s390/mm/fault.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 3ff86533f7db..76515bcea2f1 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
@@ -36,15 +36,9 @@ | |||
36 | #include <asm/facility.h> | 36 | #include <asm/facility.h> |
37 | #include "../kernel/entry.h" | 37 | #include "../kernel/entry.h" |
38 | 38 | ||
39 | #ifndef CONFIG_64BIT | ||
40 | #define __FAIL_ADDR_MASK 0x7ffff000 | ||
41 | #define __SUBCODE_MASK 0x0200 | ||
42 | #define __PF_RES_FIELD 0ULL | ||
43 | #else /* CONFIG_64BIT */ | ||
44 | #define __FAIL_ADDR_MASK -4096L | 39 | #define __FAIL_ADDR_MASK -4096L |
45 | #define __SUBCODE_MASK 0x0600 | 40 | #define __SUBCODE_MASK 0x0600 |
46 | #define __PF_RES_FIELD 0x8000000000000000ULL | 41 | #define __PF_RES_FIELD 0x8000000000000000ULL |
47 | #endif /* CONFIG_64BIT */ | ||
48 | 42 | ||
49 | #define VM_FAULT_BADCONTEXT 0x010000 | 43 | #define VM_FAULT_BADCONTEXT 0x010000 |
50 | #define VM_FAULT_BADMAP 0x020000 | 44 | #define VM_FAULT_BADMAP 0x020000 |
@@ -54,7 +48,6 @@ | |||
54 | 48 | ||
55 | static unsigned long store_indication __read_mostly; | 49 | static unsigned long store_indication __read_mostly; |
56 | 50 | ||
57 | #ifdef CONFIG_64BIT | ||
58 | static int __init fault_init(void) | 51 | static int __init fault_init(void) |
59 | { | 52 | { |
60 | if (test_facility(75)) | 53 | if (test_facility(75)) |
@@ -62,7 +55,6 @@ static int __init fault_init(void) | |||
62 | return 0; | 55 | return 0; |
63 | } | 56 | } |
64 | early_initcall(fault_init); | 57 | early_initcall(fault_init); |
65 | #endif | ||
66 | 58 | ||
67 | static inline int notify_page_fault(struct pt_regs *regs) | 59 | static inline int notify_page_fault(struct pt_regs *regs) |
68 | { | 60 | { |
@@ -133,7 +125,6 @@ static int bad_address(void *p) | |||
133 | return probe_kernel_address((unsigned long *)p, dummy); | 125 | return probe_kernel_address((unsigned long *)p, dummy); |
134 | } | 126 | } |
135 | 127 | ||
136 | #ifdef CONFIG_64BIT | ||
137 | static void dump_pagetable(unsigned long asce, unsigned long address) | 128 | static void dump_pagetable(unsigned long asce, unsigned long address) |
138 | { | 129 | { |
139 | unsigned long *table = __va(asce & PAGE_MASK); | 130 | unsigned long *table = __va(asce & PAGE_MASK); |
@@ -187,33 +178,6 @@ bad: | |||
187 | pr_cont("BAD\n"); | 178 | pr_cont("BAD\n"); |
188 | } | 179 | } |
189 | 180 | ||
190 | #else /* CONFIG_64BIT */ | ||
191 | |||
192 | static void dump_pagetable(unsigned long asce, unsigned long address) | ||
193 | { | ||
194 | unsigned long *table = __va(asce & PAGE_MASK); | ||
195 | |||
196 | pr_alert("AS:%08lx ", asce); | ||
197 | table = table + ((address >> 20) & 0x7ff); | ||
198 | if (bad_address(table)) | ||
199 | goto bad; | ||
200 | pr_cont("S:%08lx ", *table); | ||
201 | if (*table & _SEGMENT_ENTRY_INVALID) | ||
202 | goto out; | ||
203 | table = (unsigned long *)(*table & _SEGMENT_ENTRY_ORIGIN); | ||
204 | table = table + ((address >> 12) & 0xff); | ||
205 | if (bad_address(table)) | ||
206 | goto bad; | ||
207 | pr_cont("P:%08lx ", *table); | ||
208 | out: | ||
209 | pr_cont("\n"); | ||
210 | return; | ||
211 | bad: | ||
212 | pr_cont("BAD\n"); | ||
213 | } | ||
214 | |||
215 | #endif /* CONFIG_64BIT */ | ||
216 | |||
217 | static void dump_fault_info(struct pt_regs *regs) | 181 | static void dump_fault_info(struct pt_regs *regs) |
218 | { | 182 | { |
219 | unsigned long asce; | 183 | unsigned long asce; |