xref: /openbmc/linux/arch/s390/include/asm/diag.h (revision 9ac8d3fb)
1 /*
2  * s390 diagnose functions
3  *
4  * Copyright IBM Corp. 2007
5  * Author(s): Michael Holzheu <holzheu@de.ibm.com>
6  */
7 
8 #ifndef _ASM_S390_DIAG_H
9 #define _ASM_S390_DIAG_H
10 
11 /*
12  * Diagnose 10: Release pages
13  */
14 extern void diag10(unsigned long addr);
15 
16 /*
17  * Diagnose 14: Input spool file manipulation
18  */
19 extern int diag14(unsigned long rx, unsigned long ry1, unsigned long subcode);
20 
21 /*
22  * Diagnose 210: Get information about a virtual device
23  */
24 struct diag210 {
25 	u16 vrdcdvno;	/* device number (input) */
26 	u16 vrdclen;	/* data block length (input) */
27 	u8 vrdcvcla;	/* virtual device class (output) */
28 	u8 vrdcvtyp;	/* virtual device type (output) */
29 	u8 vrdcvsta;	/* virtual device status (output) */
30 	u8 vrdcvfla;	/* virtual device flags (output) */
31 	u8 vrdcrccl;	/* real device class (output) */
32 	u8 vrdccrty;	/* real device type (output) */
33 	u8 vrdccrmd;	/* real device model (output) */
34 	u8 vrdccrft;	/* real device feature (output) */
35 } __attribute__((packed, aligned(4)));
36 
37 extern int diag210(struct diag210 *addr);
38 
39 #endif /* _ASM_S390_DIAG_H */
40