|
@@ -34,6 +34,12 @@ static inline int __test_facility(unsigned long nr, void *facilities)
|
|
*/
|
|
*/
|
|
static inline int test_facility(unsigned long nr)
|
|
static inline int test_facility(unsigned long nr)
|
|
{
|
|
{
|
|
|
|
+ unsigned long facilities_als[] = { FACILITIES_ALS };
|
|
|
|
+
|
|
|
|
+ if (__builtin_constant_p(nr) && nr < sizeof(facilities_als) * 8) {
|
|
|
|
+ if (__test_facility(nr, &facilities_als))
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
return __test_facility(nr, &S390_lowcore.stfle_fac_list);
|
|
return __test_facility(nr, &S390_lowcore.stfle_fac_list);
|
|
}
|
|
}
|
|
|
|
|