diff options
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r-- | arch/s390/kernel/early.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 4427ab7ac23a..549a73a4b543 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -64,7 +64,6 @@ asm( | |||
64 | " .align 4\n" | 64 | " .align 4\n" |
65 | " .type savesys_ipl_nss, @function\n" | 65 | " .type savesys_ipl_nss, @function\n" |
66 | "savesys_ipl_nss:\n" | 66 | "savesys_ipl_nss:\n" |
67 | #ifdef CONFIG_64BIT | ||
68 | " stmg 6,15,48(15)\n" | 67 | " stmg 6,15,48(15)\n" |
69 | " lgr 14,3\n" | 68 | " lgr 14,3\n" |
70 | " sam31\n" | 69 | " sam31\n" |
@@ -72,13 +71,6 @@ asm( | |||
72 | " sam64\n" | 71 | " sam64\n" |
73 | " lgr 2,14\n" | 72 | " lgr 2,14\n" |
74 | " lmg 6,15,48(15)\n" | 73 | " lmg 6,15,48(15)\n" |
75 | #else | ||
76 | " stm 6,15,24(15)\n" | ||
77 | " lr 14,3\n" | ||
78 | " diag 2,14,0x8\n" | ||
79 | " lr 2,14\n" | ||
80 | " lm 6,15,24(15)\n" | ||
81 | #endif | ||
82 | " br 14\n" | 74 | " br 14\n" |
83 | " .size savesys_ipl_nss, .-savesys_ipl_nss\n" | 75 | " .size savesys_ipl_nss, .-savesys_ipl_nss\n" |
84 | " .previous\n"); | 76 | " .previous\n"); |
@@ -240,7 +232,6 @@ static noinline __init void detect_machine_type(void) | |||
240 | 232 | ||
241 | static __init void setup_topology(void) | 233 | static __init void setup_topology(void) |
242 | { | 234 | { |
243 | #ifdef CONFIG_64BIT | ||
244 | int max_mnest; | 235 | int max_mnest; |
245 | 236 | ||
246 | if (!test_facility(11)) | 237 | if (!test_facility(11)) |
@@ -251,7 +242,6 @@ static __init void setup_topology(void) | |||
251 | break; | 242 | break; |
252 | } | 243 | } |
253 | topology_max_mnest = max_mnest; | 244 | topology_max_mnest = max_mnest; |
254 | #endif | ||
255 | } | 245 | } |
256 | 246 | ||
257 | static void early_pgm_check_handler(void) | 247 | static void early_pgm_check_handler(void) |
@@ -290,58 +280,6 @@ static noinline __init void setup_facility_list(void) | |||
290 | ARRAY_SIZE(S390_lowcore.stfle_fac_list)); | 280 | ARRAY_SIZE(S390_lowcore.stfle_fac_list)); |
291 | } | 281 | } |
292 | 282 | ||
293 | static __init void detect_mvpg(void) | ||
294 | { | ||
295 | #ifndef CONFIG_64BIT | ||
296 | int rc; | ||
297 | |||
298 | asm volatile( | ||
299 | " la 0,0\n" | ||
300 | " mvpg %2,%2\n" | ||
301 | "0: la %0,0\n" | ||
302 | "1:\n" | ||
303 | EX_TABLE(0b,1b) | ||
304 | : "=d" (rc) : "0" (-EOPNOTSUPP), "a" (0) : "memory", "cc", "0"); | ||
305 | if (!rc) | ||
306 | S390_lowcore.machine_flags |= MACHINE_FLAG_MVPG; | ||
307 | #endif | ||
308 | } | ||
309 | |||
310 | static __init void detect_ieee(void) | ||
311 | { | ||
312 | #ifndef CONFIG_64BIT | ||
313 | int rc, tmp; | ||
314 | |||
315 | asm volatile( | ||
316 | " efpc %1,0\n" | ||
317 | "0: la %0,0\n" | ||
318 | "1:\n" | ||
319 | EX_TABLE(0b,1b) | ||
320 | : "=d" (rc), "=d" (tmp): "0" (-EOPNOTSUPP) : "cc"); | ||
321 | if (!rc) | ||
322 | S390_lowcore.machine_flags |= MACHINE_FLAG_IEEE; | ||
323 | #endif | ||
324 | } | ||
325 | |||
326 | static __init void detect_csp(void) | ||
327 | { | ||
328 | #ifndef CONFIG_64BIT | ||
329 | int rc; | ||
330 | |||
331 | asm volatile( | ||
332 | " la 0,0\n" | ||
333 | " la 1,0\n" | ||
334 | " la 2,4\n" | ||
335 | " csp 0,2\n" | ||
336 | "0: la %0,0\n" | ||
337 | "1:\n" | ||
338 | EX_TABLE(0b,1b) | ||
339 | : "=d" (rc) : "0" (-EOPNOTSUPP) : "cc", "0", "1", "2"); | ||
340 | if (!rc) | ||
341 | S390_lowcore.machine_flags |= MACHINE_FLAG_CSP; | ||
342 | #endif | ||
343 | } | ||
344 | |||
345 | static __init void detect_diag9c(void) | 283 | static __init void detect_diag9c(void) |
346 | { | 284 | { |
347 | unsigned int cpu_address; | 285 | unsigned int cpu_address; |
@@ -360,7 +298,6 @@ static __init void detect_diag9c(void) | |||
360 | 298 | ||
361 | static __init void detect_diag44(void) | 299 | static __init void detect_diag44(void) |
362 | { | 300 | { |
363 | #ifdef CONFIG_64BIT | ||
364 | int rc; | 301 | int rc; |
365 | 302 | ||
366 | asm volatile( | 303 | asm volatile( |
@@ -371,12 +308,10 @@ static __init void detect_diag44(void) | |||
371 | : "=d" (rc) : "0" (-EOPNOTSUPP) : "cc"); | 308 | : "=d" (rc) : "0" (-EOPNOTSUPP) : "cc"); |
372 | if (!rc) | 309 | if (!rc) |
373 | S390_lowcore.machine_flags |= MACHINE_FLAG_DIAG44; | 310 | S390_lowcore.machine_flags |= MACHINE_FLAG_DIAG44; |
374 | #endif | ||
375 | } | 311 | } |
376 | 312 | ||
377 | static __init void detect_machine_facilities(void) | 313 | static __init void detect_machine_facilities(void) |
378 | { | 314 | { |
379 | #ifdef CONFIG_64BIT | ||
380 | if (test_facility(8)) { | 315 | if (test_facility(8)) { |
381 | S390_lowcore.machine_flags |= MACHINE_FLAG_EDAT1; | 316 | S390_lowcore.machine_flags |= MACHINE_FLAG_EDAT1; |
382 | __ctl_set_bit(0, 23); | 317 | __ctl_set_bit(0, 23); |
@@ -393,7 +328,6 @@ static __init void detect_machine_facilities(void) | |||
393 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; | 328 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; |
394 | if (test_facility(129)) | 329 | if (test_facility(129)) |
395 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; | 330 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; |
396 | #endif | ||
397 | } | 331 | } |
398 | 332 | ||
399 | static int __init cad_setup(char *str) | 333 | static int __init cad_setup(char *str) |
@@ -501,9 +435,6 @@ void __init startup_init(void) | |||
501 | ipl_update_parameters(); | 435 | ipl_update_parameters(); |
502 | setup_boot_command_line(); | 436 | setup_boot_command_line(); |
503 | create_kernel_nss(); | 437 | create_kernel_nss(); |
504 | detect_mvpg(); | ||
505 | detect_ieee(); | ||
506 | detect_csp(); | ||
507 | detect_diag9c(); | 438 | detect_diag9c(); |
508 | detect_diag44(); | 439 | detect_diag44(); |
509 | detect_machine_facilities(); | 440 | detect_machine_facilities(); |