tpi.h 736 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _ASM_S390_TPI_H
  3. #define _ASM_S390_TPI_H
  4. #include <linux/types.h>
  5. #include <uapi/asm/schid.h>
  6. #ifndef __ASSEMBLY__
  7. /* I/O-Interruption Code as stored by TEST PENDING INTERRUPTION (TPI). */
  8. struct tpi_info {
  9. struct subchannel_id schid;
  10. u32 intparm;
  11. u32 adapter_IO:1;
  12. u32 directed_irq:1;
  13. u32 isc:3;
  14. u32 :12;
  15. u32 type:3;
  16. u32 :12;
  17. } __packed __aligned(4);
  18. /* I/O-Interruption Code as stored by TPI for an Adapter I/O */
  19. struct tpi_adapter_info {
  20. u32 aism:8;
  21. u32 :22;
  22. u32 error:1;
  23. u32 forward:1;
  24. u32 reserved;
  25. u32 adapter_IO:1;
  26. u32 directed_irq:1;
  27. u32 isc:3;
  28. u32 :27;
  29. } __packed __aligned(4);
  30. #endif /* __ASSEMBLY__ */
  31. #endif /* _ASM_S390_TPI_H */