s390/facilities: optimize test_facility()
test_facility() can be optimized for bits which must be set anyway, due to the check in head.S. This removes a couple of superfluous runtime checks. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
185edd4431
commit
6ab6c31a54
1 changed files with 6 additions and 0 deletions
|
@ -34,6 +34,12 @@ static inline int __test_facility(unsigned long nr, void *facilities)
|
|||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue