diff options
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r-- | arch/s390/kernel/early.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 70a329450901..4427ab7ac23a 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -393,17 +393,19 @@ static __init void detect_machine_facilities(void) | |||
393 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; | 393 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; |
394 | if (test_facility(129)) | 394 | if (test_facility(129)) |
395 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; | 395 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; |
396 | if (test_facility(128)) | ||
397 | S390_lowcore.machine_flags |= MACHINE_FLAG_CAD; | ||
398 | #endif | 396 | #endif |
399 | } | 397 | } |
400 | 398 | ||
401 | static int __init nocad_setup(char *str) | 399 | static int __init cad_setup(char *str) |
402 | { | 400 | { |
403 | S390_lowcore.machine_flags &= ~MACHINE_FLAG_CAD; | 401 | int val; |
402 | |||
403 | get_option(&str, &val); | ||
404 | if (val && test_facility(128)) | ||
405 | S390_lowcore.machine_flags |= MACHINE_FLAG_CAD; | ||
404 | return 0; | 406 | return 0; |
405 | } | 407 | } |
406 | early_param("nocad", nocad_setup); | 408 | early_param("cad", cad_setup); |
407 | 409 | ||
408 | static int __init cad_init(void) | 410 | static int __init cad_init(void) |
409 | { | 411 | { |