diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/setup.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 580abb53ce83..18222ac4078f 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -713,13 +713,15 @@ static void __init setup_hwcaps(void) | |||
713 | * How many facility words are stored depends on the number of | 713 | * How many facility words are stored depends on the number of |
714 | * doublewords passed to the instruction. The additional facilites | 714 | * doublewords passed to the instruction. The additional facilites |
715 | * are: | 715 | * are: |
716 | * Bit 43: decimal floating point facility is installed | 716 | * Bit 42: decimal floating point facility is installed |
717 | * Bit 44: perform floating point operation facility is installed | ||
717 | * translated to: | 718 | * translated to: |
718 | * HWCAP_S390_DFP bit 6. | 719 | * HWCAP_S390_DFP bit 6. |
719 | */ | 720 | */ |
720 | if ((elf_hwcap & (1UL << 2)) && | 721 | if ((elf_hwcap & (1UL << 2)) && |
721 | __stfle(&facility_list_extended, 1) > 0) { | 722 | __stfle(&facility_list_extended, 1) > 0) { |
722 | if (facility_list_extended & (1ULL << (64 - 43))) | 723 | if ((facility_list_extended & (1ULL << (63 - 42))) |
724 | && (facility_list_extended & (1ULL << (63 - 44)))) | ||
723 | elf_hwcap |= 1UL << 6; | 725 | elf_hwcap |= 1UL << 6; |
724 | } | 726 | } |
725 | 727 | ||