Loading arch/s390/kernel/setup.c +9 −2 Original line number Diff line number Diff line Loading @@ -687,7 +687,7 @@ static __init unsigned int stfl(void) return S390_lowcore.stfl_fac_list; } static __init int stfle(unsigned long long *list, int doublewords) static int __init __stfle(unsigned long long *list, int doublewords) { typedef struct { unsigned long long _[doublewords]; } addrtype; register unsigned long __nr asm("0") = doublewords - 1; Loading @@ -697,6 +697,13 @@ static __init int stfle(unsigned long long *list, int doublewords) return __nr + 1; } int __init stfle(unsigned long long *list, int doublewords) { if (!(stfl() & (1UL << 24))) return -EOPNOTSUPP; return __stfle(list, doublewords); } /* * Setup hardware capabilities. */ Loading Loading @@ -741,7 +748,7 @@ static void __init setup_hwcaps(void) * HWCAP_S390_DFP bit 6. */ if ((elf_hwcap & (1UL << 2)) && stfle(&facility_list_extended, 1) > 0) { __stfle(&facility_list_extended, 1) > 0) { if (facility_list_extended & (1ULL << (64 - 43))) elf_hwcap |= 1UL << 6; } Loading include/asm-s390/system.h +2 −0 Original line number Diff line number Diff line Loading @@ -406,6 +406,8 @@ __set_psw_mask(unsigned long mask) #define local_mcck_enable() __set_psw_mask(psw_kernel_bits) #define local_mcck_disable() __set_psw_mask(psw_kernel_bits & ~PSW_MASK_MCHECK) int stfle(unsigned long long *list, int doublewords); #ifdef CONFIG_SMP extern void smp_ctl_set_bit(int cr, int bit); Loading Loading
arch/s390/kernel/setup.c +9 −2 Original line number Diff line number Diff line Loading @@ -687,7 +687,7 @@ static __init unsigned int stfl(void) return S390_lowcore.stfl_fac_list; } static __init int stfle(unsigned long long *list, int doublewords) static int __init __stfle(unsigned long long *list, int doublewords) { typedef struct { unsigned long long _[doublewords]; } addrtype; register unsigned long __nr asm("0") = doublewords - 1; Loading @@ -697,6 +697,13 @@ static __init int stfle(unsigned long long *list, int doublewords) return __nr + 1; } int __init stfle(unsigned long long *list, int doublewords) { if (!(stfl() & (1UL << 24))) return -EOPNOTSUPP; return __stfle(list, doublewords); } /* * Setup hardware capabilities. */ Loading Loading @@ -741,7 +748,7 @@ static void __init setup_hwcaps(void) * HWCAP_S390_DFP bit 6. */ if ((elf_hwcap & (1UL << 2)) && stfle(&facility_list_extended, 1) > 0) { __stfle(&facility_list_extended, 1) > 0) { if (facility_list_extended & (1ULL << (64 - 43))) elf_hwcap |= 1UL << 6; } Loading
include/asm-s390/system.h +2 −0 Original line number Diff line number Diff line Loading @@ -406,6 +406,8 @@ __set_psw_mask(unsigned long mask) #define local_mcck_enable() __set_psw_mask(psw_kernel_bits) #define local_mcck_disable() __set_psw_mask(psw_kernel_bits & ~PSW_MASK_MCHECK) int stfle(unsigned long long *list, int doublewords); #ifdef CONFIG_SMP extern void smp_ctl_set_bit(int cr, int bit); Loading