2 * include/asm-s390/sclp.h
4 * Copyright IBM Corp. 2007
5 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
8 #ifndef _ASM_S390_SCLP_H
9 #define _ASM_S390_SCLP_H
11 #include <linux/types.h>
12 #include <asm/chpid.h>
19 } __attribute__((packed
));
21 #define LOADPARM_LEN 8
23 struct sclp_readinfo_sccb
{
24 struct sccb_header header
; /* 0-7 */
27 u8 _reserved0
[24 - 11]; /* 11-23 */
28 u8 loadparm
[LOADPARM_LEN
]; /* 24-31 */
29 u8 _reserved1
[91 - 32]; /* 32-90 */
31 u8 _reserved2
[100 - 92]; /* 92-99 */
32 u32 rnsize2
; /* 100-103 */
33 u64 rnmax2
; /* 104-111 */
34 u8 _reserved3
[4096 - 112]; /* 112-4095 */
35 } __attribute__((packed
, aligned(4096)));
37 #define SCLP_CHP_INFO_MASK_SIZE 32
39 struct sclp_chp_info
{
40 u8 recognized
[SCLP_CHP_INFO_MASK_SIZE
];
41 u8 standby
[SCLP_CHP_INFO_MASK_SIZE
];
42 u8 configured
[SCLP_CHP_INFO_MASK_SIZE
];
45 extern struct sclp_readinfo_sccb s390_readinfo_sccb
;
46 extern void sclp_readinfo_early(void);
47 extern int sclp_sdias_blk_count(void);
48 extern int sclp_sdias_copy(void *dest
, int blk_num
, int nr_blks
);
49 extern int sclp_chp_configure(struct chp_id chpid
);
50 extern int sclp_chp_deconfigure(struct chp_id chpid
);
51 extern int sclp_chp_read_info(struct sclp_chp_info
*info
);
53 #endif /* _ASM_S390_SCLP_H */