facility.c 321 B

123456789101112131415161718192021
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright IBM Corp. 2023
  4. */
  5. #include <asm/facility.h>
  6. unsigned int stfle_size(void)
  7. {
  8. static unsigned int size;
  9. unsigned int r;
  10. u64 dummy;
  11. r = READ_ONCE(size);
  12. if (!r) {
  13. r = __stfle_asm(&dummy, 1) + 1;
  14. WRITE_ONCE(size, r);
  15. }
  16. return r;
  17. }
  18. EXPORT_SYMBOL(stfle_size);